웹사이트 검색

Debian 8(Jessie)에서 PSAD 설치 및 구성


이 페이지에서

  1. PSAD 설치
  2. PSAD 및 방화벽 구성\n
  3. 결론

이 튜토리얼에서는 Debian 8(Jessie)에서 PSAD(Port Scan Attack Detection) 도구의 설치 및 구성을 보여줍니다. 기능이 매우 제한적인 프로젝트 Guardian에 따릅니다. PSAD는 Debian-8(Jessie) VM에 설치되며 스캐닝 도구 "Nmap"은 VM에서 열린 포트를 확인하는 데 사용됩니다. 결국 웹 서버(Apache)에서 DOS 공격이 시작되어 PSAD 도구의 동작을 확인합니다.

PSAD 설치

Debian Jessie는 넷 설치 프로그램(debian-8.3.0-i386-netinst.iso)을 사용하여 VMware VM에 설치됩니다.

데비안 설치 과정은 이전 기사에 설명되어 있습니다. PSAD 머신의 IP 주소는 192.168.1.102/24입니다.

PSAD 도구는 소스 코드 또는 Debian 패키지 저장소에서 설치할 수 있습니다. Debian 저장소에서 설치하겠습니다. 우선, sources.list 파일에 다음을 추가하고(또는 행이 이미 있는지 확인하고) apt 명령을 실행하여 리포지토리 목록을 업데이트합니다.

deb http://httpredir.debian.org/debian jessie main
deb-src http://httpredir.debian.org/debian jessie main

deb http://httpredir.debian.org/debian jessie-updates main
deb-src http://httpredir.debian.org/debian jessie-updates main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

Debian Jessie의 소스 목록

apt-get update

다음 명령어를 실행하여 VM에 PSAD를 설치합니다.

apt-get install psad

PSAD 도구를 설치하는 동안 여러 Perl 패키지가 필요합니다. 패키지 종속성은 Debian 패키지 관리자에 의해 자동으로 해결됩니다.

Linux 플랫폼의 방화벽 기능은 IPtables 패키지에서 제공합니다. 잘 알려진 Linux 방화벽이며 모든 Linux 배포판에 이미 설치되어 있습니다.

PSAD 및 방화벽 구성

기본적으로 Debian 플랫폼의 IPtables 체인에는 규칙이 없습니다. 다음 명령을 실행하여 체인 규칙을 나열하십시오.

iptables -L

PSAD 데몬이 모든 비정상적인 활동을 감지할 수 있도록 IPtables의 입력 및 전달 체인에 대한 로깅을 활성화합니다.

iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

"iptables -L" 명령의 출력은 아래와 유사합니다.

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             LOG level warning

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             LOG level warning
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Debian 배포판에서 PSAD 도구는 구성 파일과 규칙을 /etc/psad 디렉토리에 저장합니다.

기본 PSAD 구성 파일은 /etc/psad/psad.conf입니다. 이 자습서에서는 IPS 기능을 사용하여 웹 서버에 대한 DOS 공격을 탐지합니다.

PSAD의 기본 설정은 다음과 같습니다.

EMAIL_ADDRESSES   ; 
HOSTNAME          PSAD-box;
HOME_NET          any;
EXTERNAL_NET      any;

기본 위험 수준 설정, PSAD 검사 간격 및 SID 사용은 다음 그림과 같습니다.

기본적으로 PSAD 데몬은 /var/log/messages 파일에서 로그를 검색합니다. 따라서 PSAD 구성에서 IPT_SYSLOG_FILE 매개변수를 변경하십시오.

Debian 기반 배포판은 syslog 메시지를 /var/log/syslog 파일에 저장합니다.

 ENABLE_SYSLOG_FILE   Y;
 IPT_WRITE_FWDATA      Y;
 IPT_SYSLOG_FILE       /var/log/syslog;

기본적으로 PSAD는 IDS 모드에서 작동하며 IPS 매개변수는 구성 파일에서 비활성화되어 있습니다. IPS 기능 및 위험 수준을 활성화하려면 다음 매개변수를 활성화하십시오. 구성 파일에서 매개변수를 활성화한 후 PSAD 데몬은 공격자의 IP 주소를 IPtables 체인에 추가하여 공격자를 자동으로 차단합니다.

ENABLE_AUTO_IDS Y;
AUTO_IDS_DANGER_LEVEL 1;

이제 다음 명령을 실행하여 공격 탐지를 위해 서명 데이터베이스를 업데이트합니다.

psad --sig-update

현재 Apache 서버는 아래와 같이 포트 80에서 수신 대기하고 있습니다.

다음 명령을 사용하여 PSAD를 시작하고 상태를 확인하십시오.

psad start
psad -S

아래와 같이 PSAD를 테스트하기 위해 VM에서 LOIC(Low Orbit Ion Cannon) 도구를 사용하여 DOS 공격이 시작됩니다.

Syslog는 LOIC 도구를 사용하여 생성된 DOS 트래픽을 보여줍니다.

시뮬레이션된 공격자의 IP 주소 192.168.1.100은 아래와 같이 PSAD 데몬에 의해 차단됩니다. PSAD에서 추가한 동적 규칙을 보려면 다음 명령을 실행하십시오.

psad --fw-list

다음 스크린샷은 공격자가 더 이상 피해자 IP 주소를 ping할 수 없기 때문에 PSAD에 의해 성공적으로 차단되었음을 보여줍니다.

PSAD의 자세한 출력을 보려면 다음 명령을 실행하십시오.

psad -S

1. 서명 일치 및 공격자 IP 주소

2. 특정 포트에 대한 트래픽

3. IPtables 체인의 공격자 IP 주소.

4. 공격자와 피해자 간의 통신에 대한 세부 정보.

결론

PSAD는 Linux 서버에서 포트 스캔 공격을 차단하는 잘 알려진 오픈 소스 도구입니다. IDS 및 IPS 기능이 모두 있으며 IPtables를 사용하여 악성 IP 주소를 동적으로 차단할 수 있습니다.