리눅스 특수권한: 두 판 사이의 차이

IT위키
편집 요약 없음
 
(사용자 2명의 중간 판 4개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류:리눅스]][[분류:보안]][[분류:정보보안기사]]
==개요==
==개요==
리눅스의 권한을 3종류라고 인식하고 있는 경우도 많지만 실제로는 4종류이다.
[[리눅스 권한|리눅스의 권한]]을 3종류라고 인식하고 있는 경우도 많지만 실제로는 4종류이다.
소유자(User), 소유그룹(Group), 그외(Other)의 읽기(Read), 쓰기(Write), 실행(Execute) 조합만으로 해결이 안되는 상황들이 많기 때문이다. 이를 위해서 기본 권한 외 '''특수권한''' 이라는 것이 존재하고 실제로도 많이 쓰이고 있다.
소유자(User), 소유그룹(Group), 그외(Other)의 읽기(Read), 쓰기(Write), 실행(Execute) 조합만으로 해결이 안되는 상황들이 많기 때문이다. 이를 위해서 기본 권한 외 '''특수권한''' 이라는 것이 존재한다.
 
* 많은 [[보안 공격]]이 이 특수권한을 활용하여 발생하므로 최소한으로 사용해야 하며, 사용에 주의를 요한다.


==특수권한 3가지==
==특수권한 3가지==
21번째 줄: 24번째 줄:
* 그룹 권한 부분의 x 자리에 s 로 표기 된다.  
* 그룹 권한 부분의 x 자리에 s 로 표기 된다.  
* 실행 권한이 없을 경우 대문자 S 로 표시된다.
* 실행 권한이 없을 경우 대문자 S 로 표시된다.
;'''적용'''
<pre class='shell'>
# chmod g+s [파일]
# chmod 2777 [파일]
</pre>


===Sticky-Bit===
===Sticky-Bit===
28번째 줄: 37번째 줄:
* 시스템 기본 폴더인 /tmp 디렉터리에 설정되어 있다.  
* 시스템 기본 폴더인 /tmp 디렉터리에 설정되어 있다.  
* 설정하면 other 계층 권한 부분의 x 자리에 t 로 표기되며 실행권한이 없는 경우 대문자 T 로 표기된다.
* 설정하면 other 계층 권한 부분의 x 자리에 t 로 표기되며 실행권한이 없는 경우 대문자 T 로 표기된다.
 
<pre class='shell'>
 
# chmod 1777 [파일]
==특수권한의 설정==
우리에게 익숙한 chmod 를 사용한다.
문자모드인 경우에는 Set-UID 와 Set-GID 는 's' 또는 'S' 를 사용하고, Sticky-bit 는 't' 또는 'T' 를 사용한다.
 
예시)
<pre>
chmod rwSrwxrwx
chmod rwxrwsrwx
chmod rwsrwsrwt
</pre>
</pre>


숫자모드인 경우 Stiky-bit가 1, Set-UID가 4, Set-GID가 2이며, 기본 권한 3자리(예를 들어 777) 앞자리에 들어가 총 4자리의 형태(예를 들어 1777)를 이룬다.


예시)
==특수권한의 검색==
<pre>
* 외부 침입자의 공격이 있었던 경우 백도어를 위해 SUID를 만들어 뒀을 가능성이 있다.
chmod 1744
* 한 번 쯤은 특수권한이 적용된 파일을 탐색 해 볼 필요가 있다.
;각각 suid, guid, sticky-bit
<pre class='shell'>
# find / -perm -4000 -print
# find / -perm -2000 -print
# find / -perm -1000 -print
</pre>
</pre>

2019년 8월 11일 (일) 13:18 기준 최신판

개요[편집 | 원본 편집]

리눅스의 권한을 3종류라고 인식하고 있는 경우도 많지만 실제로는 4종류이다. 소유자(User), 소유그룹(Group), 그외(Other)의 읽기(Read), 쓰기(Write), 실행(Execute) 조합만으로 해결이 안되는 상황들이 많기 때문이다. 이를 위해서 기본 권한 외 특수권한 이라는 것이 존재한다.

  • 많은 보안 공격이 이 특수권한을 활용하여 발생하므로 최소한으로 사용해야 하며, 사용에 주의를 요한다.

특수권한 3가지[편집 | 원본 편집]

Set-UID[편집 | 원본 편집]

  • 실행하는 동안 해당 파일의 소유자 권한으로 인식한다.
  • 일반적으로 실행 파일에 사용된다.
  • 소유자 권한 부분의 x 자리에 s 로 표기 된다.
  • 실행 권한이 없을 경우 대문자 S 로 표시된다.
적용
# chmod u+s [파일]
# chmod 4777 [파일]

Set-GID[편집 | 원본 편집]

  • 실행하는 동안 해당 파일의 소유자그룹 권한으로 인식한다.
  • 일반적으로 디렉터리에 설정된다.
  • 사용자가 파일이나 디렉터리를 생성하면 사용자가 속한 그룹에 상관없이 디렉터리 소유 그룹으로 만들어진다.
  • 그룹 권한 부분의 x 자리에 s 로 표기 된다.
  • 실행 권한이 없을 경우 대문자 S 로 표시된다.
적용
# chmod g+s [파일]
# chmod 2777 [파일]


Sticky-Bit[편집 | 원본 편집]

  • 일반 사용자들이 디렉터리에서 파일 및 디렉터리 생성이 가능하다.
  • 일반 사용자들은 자신이 생성한 것 이외에는 수정 및 삭제가 불가능하다.
  • 디렉터리에만 적용된다.
  • 시스템 기본 폴더인 /tmp 디렉터리에 설정되어 있다.
  • 설정하면 other 계층 권한 부분의 x 자리에 t 로 표기되며 실행권한이 없는 경우 대문자 T 로 표기된다.
# chmod 1777 [파일]


특수권한의 검색[편집 | 원본 편집]

  • 외부 침입자의 공격이 있었던 경우 백도어를 위해 SUID를 만들어 뒀을 가능성이 있다.
  • 한 번 쯤은 특수권한이 적용된 파일을 탐색 해 볼 필요가 있다.
각각 suid, guid, sticky-bit
# find / -perm -4000 -print
# find / -perm -2000 -print
# find / -perm -1000 -print