차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:ubuntu_admin [2012/07/19 03:12] – 외부 편집기 127.0.0.1tech:ubuntu_admin [2019/05/23 16:10] (현재) – [리눅스보안 - 필수 보안 조치법 (펌&정리)] V_L
줄 1: 줄 1:
 +{{tag>tech ubuntu_admin}}
 +======리눅스보안 - 필수 보안 조치법 (펌&정리)======
 +
 +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://www.tripwire.com/downloads/tmtfs/download.cfm
 +  - fcheck
 +    http://www.geocities.com/fcheck2000 
 +
 +4. 백도어 설치여부 점검.(/dev 체크)
 +    find /dev -type f -exec ls -l {} \;
 +
 +5. 현재 열려진 포트 및 응답가능한 포트 점검.
 +    netstat -atp | grep LISTEN (사용 프로토콜 : TCP인가? 또는 UDP인가?
 +           사용중인 포트번호
 +           서버와 연결된 IP 및 도메인명
 +           생성 PID
 +           서비스중인 프로세스명
 +           현재 응답가능상태인가?
 +
 +    lsof | grep LISTEN(현재 서비스 중인 프로세스명(데몬명)
 +               현재 생성중인 PID번호.
 +           현재 서비스중인 프로세스의 소유자
 +           프로토콜 버전 : Ipv4 또는 Ipv6
 +           TCP 또는 UDP의 여부
 +           응답가능 상태인가?
 +
 +6. 실행중인 프로세스 및 데몬점검.(프로세스의 생성관계)
 +    pstree
 +    [참조]1회성 명령어를 top명령처럼 일정주기로 업데이트 하여 모니터링하기.
 +
 +7. 시스템 운용상황 점검.
 +    top -d2
 +
 +8. 스팸메일 점검.(메일큐 디렉토리 점검)
 +    /var/spool/mqueue    (동일한 날짜, 동일한 사이즈를 가진 다수 파일구분)
 +
 +9. Core 점검.
 +    서버내에 긴급한 이상이 발생하였을 경우나 시스템의 정확한 분석을 위해
 +    서버의 메모리 상태를 순간적으로 dump 받는 경우의 파일
 +    find / -name core -exec ls -l {} \;
 +
 +10. 파일용량 점검
 +    repquota -av -ag
 +    df -h
 +
 +11. 최근 서버 접속자 점검.
 +    vi /var/log/secure
 +    last -n 10  (최근 10번째까지의 접속기록을 확인)
 +
 +12. 계정별 최후접속기록 점검.
 +    lastlog는 현재 /etc/passwd에 존재하는 모든 계정을 대상으로 하여 언제 마지막으로 서버에 접속
 +      했는가를 확인.
 +    Mail, adm, bin 등의 계정들은 모두 "** Never logged in **" 이라고 되어 있는것이 정상.
 +
 +    lastlog
 +
 +13. 현재 서버접속자 보기
 +    w (telnet)
 +    ftpwho(ftp)
 +
 +14. root명령어 사용기록 점검.
 +    vi /root/.bash_history  (.set nu) 
 +    cat /root/..bash_history | wc -l    (1000라인 이상 되어야 정상)
 +
 +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. 서버내에 중요한 디렉토리 점검
 +    /etc/xinetd.d/    (xinetd로 서비스되는 인터넷서비스 파일들이 존재하는 디렉토리)
 +    /etc/rc.d/           (부팅에 관계된 파일) (파일들을 복사 후 파일용량등을 비교하기) (커널패닉의원인)
 +    /etc/rc.d/init.d/ (부팅시에 특정 서비스나 데몬들을 시작시키는 스키립트 파일)
 +
 +18. .rhosts 파일 점검
 +    원격에서 패스워드등의 확인과정없이 바로 접속하기 위해서 사용되는 파일
 +    find / -name .rhosts -exec ls -l {} \;
 +    find / -name .rhosts -exec cat {} \;
 +
 +19. 메모리사용량 점검.
 +    free -m
 +    cat /proc/meminfo   (free 와 top 는 이 파일을 참조하여 보여준다.)
 +    top -d2
 +
 +20. 중요 관리자용명령어 점검.
 +
 +아래의 명령어들을 퍼미션을 100으로 설정한다. 변경 후 퍼미션 변경여부를 확인.
 +
 +  sudo  chmod 100 /bin/df
 +  sudo  chmod 100 /bin/netstat
 +  sudo  chmod 100 /bin/ps
 +  sudo  chmod 100 /sbin/ifconfig
 +  sudo  chmod 100 /usr/bin/find
 +  sudo  chmod 100 /usr/bin/gcc
 +  sudo  chmod 100 /usr/bin/make
 +  sudo  chmod 100 /usr/bin/pstree
 +  sudo  chmod 100 /usr/bin/top
 +  sudo  chmod 100 /usr/bin/w
 +  sudo  chmod 100 /usr/bin/who
 +
 +
 +아래의 폴더를 접근금지
 +
 +  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 /usr/local 
 +  sudo  chmod 711 /var 
 +
 +
 +21. su 명령어를 이용한 root권한 사용자 점검.
 +    su 명령어의 사용내역을 확인할 수 있음.
 +    cat /var/log/messages | grep root
 +
 +22. 최근 n 일전 변경된 파일 점검. (단위는 일)
 +    find / -ctime -1 -print | more
 +
 +23. find 를 이용한 특정파일 점검하기.
 +   - .exec 파일찾기
 +      find / -name '.exec' -exec cat {} \; -print
 +   - .forward 파일체크
 +      find / -name '.forward' -exec cat {} \; -print
 +   - 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 -->파일은 644 디렉토리는 755로 생성됨.
 +        027 -->파일은 640 디렉토리는 750로 생성됨.
 +
 +25. /dev 에 device 파일 이외의 것이 존재하고 있는지 확인.
 +    find /dev -type f -exec ls -l {} \;
 +
 +26. 시스템 기본로그파일.
 +    /var/log/messages
 +    /var/log/secure
 +    /var/log/wtmp
 +    /var/run/utmp
 +    /var/log/lastlog
 +    /var/log/xferlog
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +