1. 서버 접속자 확인
최근 접속한 100개의 ip 확인
# last -n 100
현재 접속자 확인
# w
2. 숨겨진 파일이나 폴더 확인
# ls -alR /tmp
# ls -alR /var/tmp
3. 열려있는 포트 확인 및 프로세스 확인, 사용하지 않는 포트 의심
# netstat -nl
# ps -ef
# pstree -a
이상 프로세스의 경우 ps -ef로 검색 후, lsof으로 확인 (설치가 안되어있는경우 lsof 설치 후 진행)
# lsof -p pid값
서버 외부에서 포트 확인(모든 포트 확인할 수 있습니다.)
# nmap -sT -p 1-65535 서버IP
4. 사용자 계정 확인
/etc/passwd 파일 확인 시 uid 값이 0으로 되어있거나, 확인되지 않은 계정이 존재하는지 확인
/etc/shadow 파일에서 암호화된 패스워드가 없는 계정이 있는지 확인
5. setuid, setgid 파일 확인
setuid를 가지는 실행 프로그램은 실행도중에 슈퍼유저(root)의 권한을 가지고 실행되므로 find를 이용하여 setuid나 setgid 파일이 있는지 확인
# find / -user root -perm -4000 -print > suidlist
# find / -user root -perm -2000 -print > sgidlist
6. /dev 파일 확인
/dev 파일 내부에 일반 파일이 있으면 안됨.
# find /dev -type f -print
7. rpm 변조 유무 확인
# rpm -Va | grep ^..5
Rpm 변조되었을 경우, os 부분까지 변조되어 정상 서비스가 어렵기 때문에 os를 재설치를 진행하여야합니다.
ex) 결과값예시
SM5....T. c /etc/ssh/sshd_config
S.5....T. c /etc/sysconfig/iptables
S : file size 변경
M : 파일모드(권한, 파일형태) 변경
T : 생성시간 변경
U : 사용자/소유자 변경
G : 파일 그룹 변경
c : 설정파일을 뜻함.(위와같이 맨뒤에 c가 출력되어있으면 해당 파일은 신중하게 생각안해도 됨.)
결과값이 binary 파일내역이 있을 경우, crack 당했을 것으로 판단됨.
8. 서버 내 중요 디렉토리 점검
/etc/xinetd.d/
/etc/rc.d/
/etc/rc.d/init.d/
9. 계정별 사용 명령어 확인
# cat /root/.bash_history
# history
# find / -name .bash_history -exec ls -l {} \;
10. ifconfig 명령
ifconfig 명령어 쳤을 때, promisc 모드로 나타나는 경우 sniffer가 돌고있다는 증거임.
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.xxx
inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link>
ether fa:16:3e:97:23:5a txqueuelen 1000 (Ethernet)
RX packets 18802279 bytes 17300967998 (16.1 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14458582 bytes 17599274842 (16.3 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
11. 홈소스 및 mysql 로그 점검
홈소스로그와 mysql 접속 이력이 있는지 확인
12. chkrootkit 백도어 점검
http://www.chkrootkit.org/ 홈페이지에서 다운받을 수 있습니다.
# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
# cd chkrootkit-0.53/
# ./chkrootkit
결과값)
infected : 루트킷으로 변혀오디었음.
Not infected : 어떤 루트킷의 증후를 발견하지 못했다.
Not tested : 점검이 수행되지 못했다.
Not found : 점검한 command가 없을 때
13. rkhunter 점검
http://rkhunter.sourceforge.net/ 홈페이지에서 다운받을 수 있습니다.
# wget https://jaist.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz
# tar xvfz rkhunter-1.4.6.tar.gz
# cd rkhunter-1.4.6
# ./install.sh –install
설정파일의 경우 : /etc/rkhunter.conf
실행방법 아래 명령어를 치고 난뒤에, enter 계속 쳐야합니다.(완료가 될때까지)
# rkhunter -c
실행 후에 결과값이 log 값 : /var/log/rkhunter.log
'LINUX > 보안' 카테고리의 다른 글
GeoIP 셋팅 (0) | 2021.08.29 |
---|---|
ClamAV 무료 백신 사용 (0) | 2019.07.07 |
Telegram봇을 통해 ssh 접속 로그 확인 (0) | 2019.07.05 |
Google OTP 이용해서 SSH 인증 (0) | 2019.06.25 |