ddong's memo2009. 11. 9. 13:23
http://www.cyberciti.biz/tips/linux-security.html


Posted by 리얼멋진
ddong's memo2009. 4. 10. 10:40

오래된 글인데.. 한번쯤..읽어볼만한..내용.

http://tunelinux.pe.kr/tune/tunning-pse/tunning.html
Posted by 리얼멋진
ddong's memo2009. 3. 31. 23:26
Posted by 리얼멋진
ddong's memo2009. 3. 31. 22:21
http://cafe.naver.com/dnspro/10476

1) find /dev -type -f -exec ls -l {}\;

     -f 는 일반 파일을 뜻함
            /dev 밑에 디렉토리에 일반 파일이 있다면 의심을 해 봐야 함

 2) /etc/passwd 에서 uid 가 0 설정된 부분과 기타 낮설은 계정을 체크
           /etc/shadow 점검

 3) 텔넷과 FTP를 사용하는 사용자가 있는지에 대한 여부를 체크한다.
            telnet 사용중일때 명령어 :w
            ftp 사용중일때 명령어 : ftpwho

 4) 열려있는 수상한 포트 확인
             ps -ef 혹은 netstat -na |grep LISTEN 확인
             nmap -sS -O -V <IP주소> 명령어로 확인
             nmap -sS -p80 <IP주소> -O -v www.hackerscollege.com
             lsof | grep LISTEN

 5) /root/.bash_history 체크
            체크방법 (줄수가 800줄 이상)
            cat /root/.bash_history |wc -l

 6) 각 계정별로 사용한 명령어 기록 체크
    find / -name .bash_history -exec ls -al{}\;
    find / -name .bash_history -exec cat{}\;

7) 공격 징후를 체크 한다.
          파일 위치 : /var/log/messages
           파일 보기 : more /var/log/messages

8) 현재 접속하고 있는 사용자에 대한 정보를 모두 체크 한다
    /var/run/utmp
    strings utmp | more

9) 접속했던 사용자에 대한 정보를 모두 체크
    /var/log/wtmp

10) 가장 최근에 로그인한 사용자에 대한 정보 체크
   /var/log/lastlog
  파일보기 : last

11) 루트 권한 가진 사용자들을 모두 체크
   cat /etc/passwd |grep 0:0

12) su 명령어 사용한 모든 사용자를 체크
    cat /var/log/messages |grep root

13) 보안 사용자에 관한 인증을 체크(/var/log/secure)
   cat /var/log/secure

14) 웹서버에 접근했거나 에러를 유발한 사용자 체크
   var/log/httpd
   파일보기 : more /var/log/httpd/access_log
                   more /var/log/httpd/error_log

15) tmp 디렉토리에 수상한 프로세스가 있는지를 체크한다.
   ls -asl /tmp

16) pstree 명령어로 데몬 체크

17) 파일의 무결성 여부를 체크
    http://weblog/websea.co.kr/tripwrite/tripwire

18) lsattr 명령어를 사용하여 속성 변경여부 체크
      /usr/bin/lsattr /bin
       /usr/bin/lsattr /sbin
       /usr/bin/lsattr /usr/bin
       /usr/bin/lsattr /usr/sbin
       ----l------- /bin/ls  <-- 변조

19) 패키지 변조 여부 체크
   rpm -Va apache
   rpm -V apache

    결과)
    S,5....T /bin/ls
    5 = MD5 쳇섬
    S = 파일 크기
    L = 심볼릭
    T = 최신 갱신 일시(MTIME)
    D = 장치
    U = 사용자
    G = 그룹
    M = 허가모드(허가권과 파일 유형)

20) 실행 파일 변조 여부를 체크 한다
    cd /bin/
    ls -alct |more
    netstat -alct |more
    ps -alct |more
    strace -e trace=open ps
    strace -e trace=open ls

21) setuid setgid 파일 체크
    find / -user root -perm -4000 -print > suidlist
    find / -user root -perm -2000 -print > sgidlist
    find / -user root -perm -4000 -xdev

22) setuid 나 setgid 막기
    chmod a-s <찿아낸파일명>

23) 숨겨진 파일 체크
    find / -name "..*" -print

24) 스팸메일 여부 체크(메일큐)
    var/spool/mqueue

25) 비밀번호없이 원격 접속하기 위한 .rhosts 파일 체크
    find / -name .rhost -exec ls -al {}\;
    find / -name .rhost -exec cat {}\;

26) 소유자가 없는 파일과 디렉토리를 체크 한다.
    find / -nouser -o -nogroup -print

26) 최근 10일 동안 변경된 파일이나 디렉토리 체크
    find / -ctime -10 -type f or d

27) 코어를 체크 한다
    find / -name core -exec ls -al {}\;

28) 커널패닉의 원인이 되는 부팅과 관계되는 디렉토리를 체크 한다.
     ls -asl /etc/rc.d/

29) 인터넷 서비스 파일이 있는 xini 디렉토리를 체크
    ls -asl /etc/xinetd.d/
 
30) 파일의 용량을 체크 한다
     repquota -av -ag

31) 파티션별로 사용된 디스크 용량 체크
    df -h
 
32) free 와 top 가 참조하는 /proc/meminfo 를 이용하여 메모리 용량 체크
    cat /proc/meminfo
    top -d2
    free -m
 
33) chmod 700 체크
    조사하고 가져오지 못하게!!
  /usr/bin/find
  /usr/bin/top
  /usr/bin/cc
  /usr/bin/wget
  /usr/bin/suidperl
  /usr/bin/sperl5.00503
  /usr/bin/whereis
  /usr/bin/ftoplynx

34) chmod 700 체크
    보지 못하게
  /usr/bin/finger
  /usr/bin/nslookup

35) chmod 700 체크
    컴파일 못하게
  /usr/bin/make
  /usr/bin/gcc
  /usr/c++

36) chmod 700 체크
  /usr/bin/w
  /usr/bin/who
  /usr/bin/which
  /usr/bin/rlog
  /usr/bin/rlogin
  /usr/bin/pstree
  /usr/bin/mail
  /usr/bin/ps
  /usr/bin/hosts
  /usr/bin/hosts.deny
  /usr/bin/hosts.allow

37) 핑과 핑을 이용한 도스 공격 방어하기
  차단하기
   echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

  해제하기
   echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all

38) 핑(ping) 과 핑을 이용한 도스 공격을 방어한다.
  핑 도스 공격 차단하기
   vi /etc/sysctl.conf
   net.ipv4.icmp_echo_igonore_broadcasts =1
   sysctl -w
   /etc/rc.d/init.d/network restart
   sysctl -a | grep igonore_broadcasts

39) ssh를 이용하여 root로의 원격 접속을 금지
   /etc/ssh/sshd_config
   PermitRootLogin no

40) FTP를 이용하여 Root 로의 원격 접속을 금지
   /etc/proftpd.conf
   RootLogin off

41) 부팅시 실행되는 서비스를 체크
   사용파일 chkconfig
   파일 위치 :/sbin
   리스트 보기
   chkconfig --list
   도움말 보기
   chkconfig --help

42) 부팅시 실행되는 서비스를 체크한다.
  atd 서비스 끄기
  chkconfig --level 3 atd off
  - 위의 예제에서 레벨3을 사용하는 이유는 부팅은 레벨3 모드로 진행되기 때문

  chkconfig --list
   서비스별 켬과 끔이 나옴
   필수적으로 켜놓아야 할 파일들
  -keytable, inet, network,random, kudzu,sendmail,syslog,crond,proftpd

Posted by 리얼멋진