1. root계정으로 telnet, ssh서비스에 직접 접근이 가능한지 점검
- root계정으로 직접 접근하여 사용 x, 일반계정으로 접속후에 루트계정으로 전환하여 (su) 사용할것
2. 패스워드 복잡성 설정 여부 확인
3. 로그인 실패 임계값을 설정하여 -> 잠금이 되도록 계정 보호
4. 패스워드 파일 보호
-> etc/password가 아니라 shadow 파일에저장되고있는지 확인.
etc/password에는 평문으로 저장되기도..
반드시 암호화하여 shadow파일에 저장한다
5. root이외의 uid가 0인 다른 계정이 있는지 점검
-> 해킹의 위협으로 심어진 다른 계정일수도 있고.
"/etc/passwd" 파일 내 UID 확인 (세 번째 필드 값)
루트 이외의 사용자가 슈퍼유저 권한을 가지고 있으면 권한이 중복되기도 하고 감사가 어려워지므로, 삭제하거나 적절한 uid를 100이상의 번호로 등록한다.
6. su권한 제한
- 그룹별로 권한을 제한하여. su명령어를 사용할수있는 그룹을 제한한다
7. 패스워드 최소길이 설정
- 8자 이상으로 설정되어있는지 점검
8. 패스워드 최소 사용기간 설정 여부 확인
- 패스워드 최대 사용기간 지난 후 패스워드 변경, 이후 다시 바로 이전패스워드로 변경하는 것을 방지하기 위한 설정이 필요함. 최소사용기간은 1일 이상으로.
9. 불필요한 계정 제거
- 퇴직자, 휴직자, 계약 해지자 등의 불필요한 계정, 미사용 계정 삭제
- 프로그램 설치시 디폴트로 생성되는 계정들 삭제
10. 관리자 그룹에는 최소한의 계정만 포함
11. 동일한 uid로 설정된 계정이 존재하는지 확인
- 동일한 uid를 쓰는 계정이 존재하는 경우. 타계정 소유의 파일 및 디렉터리에 접근이 가능하게 되어 침해사고가 발생할 수 있음
12. 로그인이 필요하지 않은 계정에 로그인권한이 있는지 점검.
- uid가 100dlgkdlrjsk 60000이상인 시스템계정 -> nologin설정
13. 세션 타임아웃 설정
- 5분 이내로 설정 권고.
14. root 홈, PATH 디렉터리 권한 및 PATH 설정
PATH환경변수에 .(현재디렉토리)있을경우 root계정으로 su 해서 사용할 때 비의도적으로 현재 디렉토리에 위치하고 있는 명령어가 실행될 수 있다
15. etc/passwd , etc/shadow파일의 소유자 설정 확인
- etc/passwd에서 두번째 필드가 x여야함.
- etc/shadow파일은 root계정만 읽을수있어야 함.
16. /etc/hosts파일 소유자 및 권한 설정
- /etc/hosts파일의 권한이 600인지 확인
- 소유자가 root인지 확인
- ip 주소와 hostname을 맵핑하는데 사용되는 파일. 이 파일의 접근권한 설정이 잘못되어있을 경우 악의적인 시스템을 신뢰할 수 있어 쓰기 권한을 제거해야 한다.
17. 인터넷 슈퍼데몬 서비스 설정파일 (/etc/(x)inetd.conf)파일 소유자 및 권한 설정
- 쓰기 권한 없도록 600,
- 소유자 root인지 확인
18. /etc/syslog.conf파일 소유자 및 권한 설정
- 설정 변조를 통해 침입자의 흔적 또는 시스템 오류를 방지하기 힘들게 만들 수 있다. 644이하 및 소유자 root확인
19. etc/services 파일 권한 확인
- 설정 변조를 통해 운영 포트 번호를 변경하여 불필요한 서비스 혹은 악성 서비스를 실행할 수 있다. 644이하 및 root소유자 확인
20. setuid, setguid설정 확인
21. 환경변수 파일 소유자 및 권한 설정
- .profile , .bashrc, .bash_profile등 환경변수 설정 파일의 타사용자 쓰기 권한을 제거
22. /dev디렉토리 내 불필요한 device존재 여부 점검
23. 접속을 허용할 ssh의. ip주소 및 포트 점검 (telnet과 같은 서비스를 사용하여 접근할 수 없도록 제한)
24. umask설정값 확인 . 022를 권장
25. finger서비스 이용가능한지 확인
- etc/passwd파일을 조회가능한 명령어. 사용 불가능하도록 설정
26. anonymous FTP사용중인지 점검
인터넷에서 FTP를 사용할 때 anonymous FTP는 사용자들이 서버에 자신을 식별시키지 않고서도 파일에 접근할 수 있는 방법을 제공한다. 보통의 FTP 사이트들은 오직 적법한 사용자 아이디와 패스워드를 가진 사람만이 이용할 수 있는데 반해, anonymous FTP는 파일을 보거나 다운로드하기 위해 해당 서버에서 부여된 사용자 아이디나 패스워드가 없더라도 작업이 가능하기 때문에 anonymous 라고 부른다. Anonymous FTP 서버에 접속한 뒤 사용자 아이디로 "anonymous" 라고 입력하고, 패스워드에는 자신의 이메일 주소를 입력하면 로그인이 허용된다 (이때, 패스워드를 넣지 않거나 어떤 내용을 넣더라도 로그인 하는데 문제가 없지만, 대개 자신의 이메일 주소를 쳐 넣는 것이 통신상의 예의로 되어있다). |
- 불필요한 사용자, 악의적인 사용자가 시스템에 대한 정보를 획득하게 되는 것을 방지한다.
27. Cron관련 파일들의 권한이 640이하인지 확인
28. dos공격에 취약한 명령어 사용하지 않도록 제한
- echo
-chargen
- finger
- nntp
- ntalk 등.
29. nts서비스 확인
30. 불필요한 rpc서비스 사용하고 있는지 점검
31.ftp서비스 사용하고 있는지 점검 , 불가능하도록 한다 (sftp를 이용)