잉여토끼 2024. 11. 21. 18:41

설명

Honey Pot을 통하여 해당 포트(tcp:32774)에 접근시 Port Scanning으로 판단하는 프로그램.

Port Scanning으로 판단시 Shell 스크립트를 실행하도록 설정 가능.

 

기본적으로 route add -host [ip] reject를 통한 라우팅 테이블을 통한 응답 거부 및 TCP Wrapper를 통한 접근 제어 가능.

 

TCP Wrapper는 IP 및 도메인 호스트 기반 ACL으로  /etc/hosts.deny, /etc/hosts.allow파일이 존재.

 

설치

apt-get install portsentry -y

 

설정 옵션

/etc/postsentry/postsentry.conf에 있음.

# 감지할 포트
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,31337,32771,32772,32773,32774,40421,49724,54320"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,32774,31337,54321"

# 감지 시작 포트
ADVANCED_PORTS_TCP="1024"
ADVANCED_PORTS_UDP="1024"

# 스캔 탐지를 무시할 호스트가 작성된 파일
IGNORE_FILE="/etc/portsentry/portsentry.ignore"
# Log를 기록할 위치
HISTORY_FILE="/var/lib/portsentry/portsentry.history"
# 시작시 Block할 호스트가 존재하는 파일
BLOCKED_FILE="/var/lib/portsentry/portsentry.blocked"

# 차단 규칙 실행 여부
# 0 = Do not block UDP/TCP scans.
# 1 = Block UDP/TCP scans.
# 2 = Run external command only (KILL_RUN_CMD)

BLOCK_UDP="1"
BLOCK_TCP="1"

# 쉘 명령을 통한 차단규칙. 아래는 라우팅 테이블에서 호스트가 존재하지 않다고 정의하여 차단
KILL_ROUTE="/sbin/route add -host $TARGET$ reject"

# TCP Wrapper 차단 규칙 
KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"

 

 

Log 파일

1732176671 - 11/21/2024 17:11:11 Host: 172.16.20.15/172.16.20.15 Port: 7 UDP Blocked
1732177149 - 11/21/2024 17:19:09 Host: 172.16.13.9/172.16.13.9 Port: 111 TCP Blocked
1732178071 - 11/21/2024 17:34:31 Host: 172.16.13.9/172.16.13.9 Port: 79 TCP Blocked
1732178262 - 11/21/2024 17:37:42 Host: 172.16.13.9/172.16.13.9 Port: 119 TCP Blocked
1732178373 - 11/21/2024 17:39:33 Host: 172.16.13.9/172.16.13.9 Port: 111 TCP Blocked
1732178536 - 11/21/2024 17:42:16 Host: 172.16.20.15/172.16.20.15 Port: 143 TCP Blocked
1732179891 - 11/21/2024 18:04:51 Host: 172.16.20.15/172.16.20.15 Port: 111 TCP Blocked
1732179896 - 11/21/2024 18:04:56 Host: 172.16.13.9/172.16.13.9 Port: 111 TCP Blocked

 

 

라우팅 테이블 및 /etc/hosts.deny

# 라우팅 테이블

root@Ubuntu:/etc# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG    100    0        0 ens37
0.0.0.0         172.16.0.1      0.0.0.0         UG    101    0        0 ens38
0.0.0.0         172.16.0.1      0.0.0.0         UG    102    0        0 ens33
172.16.0.0      0.0.0.0         255.255.0.0     U     100    0        0 ens37
172.16.0.0      0.0.0.0         255.255.0.0     U     101    0        0 ens38
172.16.0.0      0.0.0.0         255.255.0.0     U     102    0        0 ens33
172.16.20.15    -               255.255.255.255 !H    0      -        0 -

 

라우팅 테이블 flag에 !H로 등록됨.

시스템이 재시작 될 시 이는 삭제되는 라우팅 테이블임

 

# /etc/hosts.deny

# ALL: PARANOID
ALL: 172.16.20.15 : DENY