차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| tech:ubuntu_admin [2013/01/09 23:20] – V_L | tech:ubuntu_admin [2019/05/23 16:10] (현재) – [리눅스보안 - 필수 보안 조치법 (펌&정리)] V_L | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | {{tag> | ||
| + | ======리눅스보안 - 필수 보안 조치법 (펌& | ||
| + | |||
| + | 1. SUID 점검하기.(root 소유의 SetUID및 SetGID 파일들 점검 | ||
| + | find / -user root -perm -4000 -print (SetUID) | ||
| + | find / -user root -perm -2000 -print (SetGID) | ||
| + | find / -user root -perm -4000 -print -xdev | ||
| + | |||
| + | 2. 파티션별 디스크사용량 점검 | ||
| + | df -h | ||
| + | |||
| + | 3. 파일무결성 점검 | ||
| + | - Tripwire for server | ||
| + | http:// | ||
| + | - fcheck | ||
| + | http:// | ||
| + | |||
| + | 4. 백도어 설치여부 점검.(/ | ||
| + | find /dev -type f -exec ls -l {} \; | ||
| + | |||
| + | 5. 현재 열려진 포트 및 응답가능한 포트 점검. | ||
| + | netstat -atp | grep LISTEN (사용 프로토콜 : TCP인가? 또는 UDP인가? | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | lsof | grep LISTEN(현재 서비스 중인 프로세스명(데몬명) | ||
| + | | ||
| + | | ||
| + | | ||
| + | TCP 또는 UDP의 여부 | ||
| + | | ||
| + | |||
| + | 6. 실행중인 프로세스 및 데몬점검.(프로세스의 생성관계) | ||
| + | pstree | ||
| + | [참조]1회성 명령어를 top명령처럼 일정주기로 업데이트 하여 모니터링하기. | ||
| + | |||
| + | 7. 시스템 운용상황 점검. | ||
| + | top -d2 | ||
| + | |||
| + | 8. 스팸메일 점검.(메일큐 디렉토리 점검) | ||
| + | / | ||
| + | |||
| + | 9. Core 점검. | ||
| + | 서버내에 긴급한 이상이 발생하였을 경우나 시스템의 정확한 분석을 위해 | ||
| + | 서버의 메모리 상태를 순간적으로 dump 받는 경우의 파일 | ||
| + | find / -name core -exec ls -l {} \; | ||
| + | |||
| + | 10. 파일용량 점검 | ||
| + | repquota -av -ag | ||
| + | df -h | ||
| + | |||
| + | 11. 최근 서버 접속자 점검. | ||
| + | vi / | ||
| + | last -n 10 (최근 10번째까지의 접속기록을 확인) | ||
| + | |||
| + | 12. 계정별 최후접속기록 점검. | ||
| + | lastlog는 현재 / | ||
| + | 했는가를 확인. | ||
| + | Mail, adm, bin 등의 계정들은 모두 "** Never logged in **" 이라고 되어 있는것이 정상. | ||
| + | |||
| + | lastlog | ||
| + | |||
| + | 13. 현재 서버접속자 보기 | ||
| + | w (telnet) | ||
| + | ftpwho(ftp) | ||
| + | |||
| + | 14. root명령어 사용기록 점검. | ||
| + | vi / | ||
| + | cat / | ||
| + | |||
| + | 15. 계정별 사용명령어파일 점검. | ||
| + | find / -name .bash_history -exec ls -l {} \; (각 계정별 .bash_history 파일의 존재여부) | ||
| + | find / -name .bash_history -exec cat {} \; | ||
| + | |||
| + | 16. root소유자 점검(UID와 GID가 0인 사용자 점검) | ||
| + | cat /etc/passwd | grep 0:0 | ||
| + | |||
| + | 17. 서버내에 중요한 디렉토리 점검 | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | |||
| + | 18. .rhosts 파일 점검 | ||
| + | 원격에서 패스워드등의 확인과정없이 바로 접속하기 위해서 사용되는 파일 | ||
| + | find / -name .rhosts -exec ls -l {} \; | ||
| + | find / -name .rhosts -exec cat {} \; | ||
| + | |||
| + | 19. 메모리사용량 점검. | ||
| + | free -m | ||
| + | cat / | ||
| + | top -d2 | ||
| + | |||
| + | 20. 중요 관리자용명령어 점검. | ||
| + | |||
| + | 아래의 명령어들을 퍼미션을 100으로 설정한다. 변경 후 퍼미션 변경여부를 확인. | ||
| + | |||
| + | sudo chmod 100 /bin/df | ||
| + | sudo chmod 100 / | ||
| + | sudo chmod 100 /bin/ps | ||
| + | sudo chmod 100 / | ||
| + | sudo chmod 100 / | ||
| + | sudo chmod 100 / | ||
| + | sudo chmod 100 / | ||
| + | sudo chmod 100 / | ||
| + | sudo chmod 100 / | ||
| + | sudo chmod 100 /usr/bin/w | ||
| + | sudo chmod 100 / | ||
| + | |||
| + | |||
| + | 아래의 폴더를 접근금지 | ||
| + | |||
| + | sudo chmod 711 / | ||
| + | sudo chmod 711 /bin | ||
| + | sudo chmod 711 /boot | ||
| + | sudo chmod 711 /dev | ||
| + | sudo chmod 711 /etc | ||
| + | sudo chmod 711 /home | ||
| + | sudo chmod 711 /misc | ||
| + | sudo chmod 711 /mnt | ||
| + | sudo chmod 711 /opt | ||
| + | sudo chmod 711 /proc | ||
| + | sudo chmod 711 /usr | ||
| + | sudo chmod 711 / | ||
| + | sudo chmod 711 /var | ||
| + | |||
| + | |||
| + | 21. su 명령어를 이용한 root권한 사용자 점검. | ||
| + | su 명령어의 사용내역을 확인할 수 있음. | ||
| + | cat / | ||
| + | |||
| + | 22. 최근 n 일전 변경된 파일 점검. (단위는 일) | ||
| + | find / -ctime -1 -print | more | ||
| + | |||
| + | 23. find 를 이용한 특정파일 점검하기. | ||
| + | - .exec 파일찾기 | ||
| + | find / -name ' | ||
| + | - .forward 파일체크 | ||
| + | find / -name ' | ||
| + | - write 퍼미션이 있는 파일(디렉토리)찾기 | ||
| + | find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \; | ||
| + | find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \; | ||
| + | - SteUID SetGID 체크하기 | ||
| + | find / -type f \( -perm -004000 -o -perm -002000 \) -exec ls -lg {} \; | ||
| + | - /dev 체크 | ||
| + | find /dev -type f -exec ls -l {} \; | ||
| + | - 소유자없는 파일 및 디렉토리 찾기 | ||
| + | find / -nouser -o -nogroup -print | ||
| + | - 원격리모트 접속허용 파일(.rhosts)찾기 | ||
| + | find / -name .rhosts -print | ||
| + | - 최근 변경된 파일들 찾기.(파일or디렉토리) 단위는 일 | ||
| + | find / -ctime -20 -type f or d | ||
| + | - 현재 서버에서 열려진 포트 및 접근저보 점검 | ||
| + | netstat -an | grep LISTEN | ||
| + | lsof | grep LISTEN | ||
| + | |||
| + | 24. umask 값 확인하기 | ||
| + | root의 umask 값 확인하기. | ||
| + | umask | ||
| + | 022 --> | ||
| + | 027 --> | ||
| + | |||
| + | 25. /dev 에 device 파일 이외의 것이 존재하고 있는지 확인. | ||
| + | find /dev -type f -exec ls -l {} \; | ||
| + | |||
| + | 26. 시스템 기본로그파일. | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||