파일의 퍼미션을 777로 설정하게 되면 모든 계정 사용자들이 그 파일에 접근할 권한을 주게된다. 만약 root 소유주로 작동하는 파일에 퍼미션을 777을 부여했다면 이는 시스템을 파괴하는 열쇠를 쥐어주는 꼴이다.
UMASK 값
일반적으로 umask는 기본값으로 022를 가지나 우분투의 경우는 002의 값이 기본값이다. 웹서버와 관련된 계정의 경우에는 간혹 웹서버의 소유권한과 폴더 및 파일에 대한 퍼미션을 777 혹은 666을 요구하곤 한다. 우분투의 경우에는 www-data라는 소유권한으로 아파치의 데몬이 작동하고 웹서버의 폴더와 파일은 www-data가 소유주로 775 정도의 소유권이 적당하다. www-data의 그룹에 웹서버 계정의 사용자를 추가하여 SFTP 접속에 무리가 없도록 하는 것도 잊지 말아야 한다.
umask 값 확인하기
umask
0002
SUID, SGID 비트 파일
SUID와 SGID가 설정되어 있는 파일이나 프로그램 또한 보안상 위험 요소이며, 정기적으로 검사해야 되는 부분이다.
SUID/SGID 찾기
sudo find / -type f \( -perm 04000 -o -perm -02000 \) -exec ls -l {} \;
검색된 결과에서 존재가 의심스러운 해당 파일을 삭제하거나 SUID/SGID를 제거하여 일반 사용자 수준에서 실행되지 못하도록 하는 것이 좋다.
sudo chmod a-s 파일명
world-writable 파일
모든 사용자에 대해 쓰기가 허용된 파일이면 임의의 사용자가 수정 및 삭제 할수있다.
sudo find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;
/dev 디렉토리의 장치파일과 라이브러리 파일 그리고 심볼릭 링크를 포함한 여러 파일들은 월드-라이터블 형식으로 되어 있으니 오인하지 않도록 한다.
유저 권한 없는 파일
사용자가 할당되지 않은 파일들을 찾아 제거한다.
sudo find / -nouser -o -nogroup -print
근래에는 잘 사용되지 않지만 .rhost 파일도 검사하여 삭제한다.
sudo find / -name .rhosts -print
/dev 디렉토리의 검사
과거부터 /dev 디렉토리는 크래커가 침투하여 백도어를 자주 심던 곳이다.
실행파일이 있는지 검사
sudo find /dev -type f -exec ls -l {} \;
.bash_history 점검
크래커가 침투하여 활개치고 난후, 활동한 내용의 종적을 감추기 위해 로그 파일과 히스토리 파일을 제거하는 경우가 있다. 히스토리 파일이 크기가 0 이라면 침투를 의심할 수 있다.
sudo find / -name .bash_history -exec ls -la {} \;
'리눅스 > Linux 일반' 카테고리의 다른 글
리눅스 문자셋(charset) 설정 (0) | 2013.11.24 |
---|---|
리눅스 표준 입출력 리다이렉션 (7) | 2013.11.17 |
리눅스 파일과 사용 권한 (0) | 2013.09.12 |
리눅스 atime, mtime, ctime - 접근시간, 변경시간, 수정시간 (0) | 2013.09.12 |
리눅스 특수 파일과 장치 (0) | 2013.09.11 |