[보안] 기본 보안 점검
1. Dos 공격 유무 파악
# netstat -an | grep SYN | wc -l
해결법 : /etc/rc.d/rc.local 파일 안에 다음 명령어 라인을 추가 하여 적용시킴.
# echo “1” > /proc/sys/net/ipv4/tcp_syncookies
# echo “2” > /proc/sys/net/ipv4/tcp_retries1
# echo “8192” > /proc/sys/net/ipv4/tcp_max_syn_backlog
2. setuid 파일 점검하기
# find / -type f \\( -perm -04000 -o -perm -02000 \\)
해결법 : 필요없는 setuid file 의 퍼미션을 변경한다.
3. 디렉토리 및 불필요 명령어 점검
A. chmod 700 finger
B. chmod 700 nslookup
C. chmod 700 gcc
D. chmod 700 cc
E. chmod 700 suidperl
F. chmod 700 whereis
G. chmod 700 sperl5.6.0
H. chmod 700 c++
I. chmod 700 make
J. chmod 700 finger
K. chmod 700 pstree
L. chmod 700 rlog
M. chmod 700 rlogin
N. chmod 700 which
O. chmod 700 who
P. chmod 700 w
Q. chmod 700 mail
R. chmod 700 /bin/mail
S. chmod 700 /bin/ps
디렉토리 처리는 다음과 같이 한다.
# chmod 711 / /home /var /etc /var/log
# chmod 700 /root
4. 백도어 확인
[ 이상한 디바이스 명 체크 ]
# find /dev -type f
/dev/MAKEDEV 이외의 다른 파일이 존재하면 의심해 보아야 한다.
[ inet 데몬에서 허가된 서비스 이외의 서비스실행 유무 파악 ]
# grep -v “^#” /etc/inetd.conf
[ 시스템의 열러진 포트 확인 ]
# netstat -an | grep LISTEN
[ root 권한 실행 스크립트 점검 ]
/etc/rc.d/rc.local
/etc/rc.d/rc.sysinit
/var/log/messages 에서 부팅 부분을 분석해본다.
5. root 권한 사용자 점검
보통 root 취득 가능 계정을 한정되게 두어서 su 명령어를 이용하여 root 권한
을 취득하도록 관리한다. 헌데 원하지 않는 계정에서 root 취득 흔적을 점검해
야한다.
# vi /var/log/messages
:g/(su) session opened for user ( 6.2 이하 버젼 )
:g/(system-auth) session opened for user (7.0 이상 버젼 )
로 검색하여 su 를 이용하여 root 을 얻은 일반 계정을 파악한다.
또한 주인이 없는 파일등을 점검 하여 본다. 주인이 없는 무소속의 파일등은
침입자가 시스템에 들어왔다는 징후일수 도 있다.
# find / -nouser -o -nogroup -print
그리고 .rhosts 파일등을 이용하여 원격에서 바로 root 권한을 얻을수도 있으니
이였서 점검하여야 한다.
# find /home -name .rhosts -print