[보안] 포트스캔 감시하기
포트 스캐닝 감시하기 (Scanlogd 2.1)
작성자 : 조용준(neonic at neonic.pe.kr)
최종작성일 : 2000. 9. 27
최근 들어서 서버의 취약점을 찾기 위한 툴들이 공개되면서
호기심 많은 익명의 사용자들로부터 서버의 서비스를 확인하기 위한
포트 스케닝 공격이 빈번해 지고 있다.
리눅스에도 nmap을 이용하면 쉽게 다른 서버의 서비스 포트를 확인할 수
있으므로 쉽게 포트 스캐닝을 시도해 볼 수 있게 되었다.
포트 스캐닝은 대부분 해킹에 대한 전단계로 취약점을 찾기 위한 시도로
시스템 관리자 입장에서는 어떤 식으로 든지 포트 스캐닝이 이루어 지고
있는지 확인할 필요가 있습니다.
현재 많이 사용하고 있는 Port Sentry 는 사용방법이 너무 복잡해서
사용하기가 쉽지 않기 때문에 보다 간단한 툴인 Scanlogd 를 설치하고
사용하는 방법을 알아보자.
1. http://www.openwall.com/scanlogd 에서 scanlogd 2.1
를 다운받아서 압축을 푼다
2. make linux 명령으로 컴파일하면 바이너리가 생성된다.
3. useradd 명령으로 scanlogd 유저를 만들어 준다.
그리고 /etc/passwd 파일을 열어 scanlogd:x:500:500::/sbin:/bin/bash 줄을
찾아서 /bin/bash 부분을 지워준다.
(보안상 로긴이 되지 않도록 하기 위해서)
4. /etc/syslog.conf 파일에 다음의 내용을 추가한다.
daemon.alert /var/log/alert
5. /etc/rc.d/init.d/syslog restart 명령으로 syslog 데몬을 재시작한다.
6. 생성된 바이너리를 /sbin 디렉토리로 복사한다.
7. /sbin/scanlogd 명령으로 데몬을 시작한다.
8. 부팅때마다 자동으로 실행되도록 하려면 /etc/rc.d/rc.local 파일에
7번 내용을 적어준다.
9. 포트스캐닝을 해보면 /var/log/alert 파일에 다음과 같이 로그가 남으면
정상적으로 작동하는 것이다.
Sep 27 17:21:37 intra scanlogd: 200.1111.222.XXX to 200.111.222.XXX \\
ports 1, 2, 3, 5, 7, 9, …, fSrpauxy, TOS 00, TTL 64 @17:21:37
관리자에게 경고메일 보내기나 해당 IP를 막는 기능은 없지만
관리자가 로그파일만 신경써서 확인한다면 포트 스캐닝에 적절히
대비할 수 있을 것이다.