Linux/보안장비 운용

IPS 설정

GGkeeper 2022. 3. 2. 15:49

실습> IPS 설정

1. IPS 가 Off 인 경우
[Network Protection] > [Intrusion Prevention] > [Global] > Off

-p : 서비스 포트번호
-S : SYN flag
--flood : 최대한 빠르게
Attacker ~# hping3 192.168.108.101 -p 80 -S --flood


[root@web1 ~]# cat /proc/sys/net/ipv4/tcp_syncookies 
1
[root@web1 ~]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.101.101:80      192.168.108.200:5549    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:1624    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:1578    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:1405    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:49530   SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:26489   SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:1643    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:5548    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:3750    SYN_RECV   
  :
  :(생략)  
tcp        0      0 192.168.101.101:80      192.168.108.200:1433    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:1425    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:17200   SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:1497    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:52713   SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:35901   SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:1563    SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:49533   SYN_RECV   
tcp        0      0 192.168.101.101:80      192.168.108.200:34414   SYN_RECV   
tcp        0      0 192.168.101.101:53      0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0    556 192.168.101.101:22      192.168.101.1:19932     ESTABLISHED
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 ::1:953                 :::*                    LISTEN    


2. IPS 가 On 인 경우

[Network Protection] > [Intrusion Prevention] > [Global] > On 
Local networks
- DMZ (network)       <-- 보호할 네트워크나 호스트를 지정
- Internal (network)  <-- 보호할 네트워크나 호스트를 지정

Policy: Drop silently
Restart policy: Drop all packets


Anti-Dos/Flooding(TCP SYN/UDP/ICMP Flooding 차단)
아래 3개 모두 체크한다.

TCP SYN Flood Protection 
- Use TCP SYN Flood Protection 을 체크 -> Apply 클릭

UDP Flood Protection
- Use UDP Flood Protection 을 체크 -> Apply 클릭

ICMP Flood Protection
- Use ICMP Flood Protection 을 체크 -> Apply 클릭

[Global] > [Live Log] > [Open Live Log] 버튼을 클릭해서 실시간으로 공격에 대한 로그를 확인한다.

위에서 IPS를 설정하고 공격을 진행한다.
Attacker ~# hping3 192.168.108.101 -p 80 -S --flood
HPING 192.168.108.101 (eth0 192.168.108.101): S set, 40 headers + 0 data bytes
hping in flood mode, no replies will be shown

DNZ WEB#1 서버에서 확인하면 SYN_RECV가 없다는 것은 IPS에서 차단했다는걸 의미한다.
[root@web1 ~]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.101.101:53      0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0     36 192.168.101.101:22      192.168.101.1:19932     ESTABLISHED
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 ::1:953                 :::*                    LISTEN  



Syn Flooding Attack
-S : syn 패킷을 보낸다.
-d 64 : 패킷의 데이터사이즈
192.168.108.101 : 공격대상 서버IP
-p 80 : 포트번호
--flood : 최대한 많은 패킷을 전송
--rand-source : 출발지 IP를 랜덤으로 공격자IP를 감춤
Attacker ~# hping3 -S -d 64 192.168.108.101 -p 80 --flood # --rand-source


Land Attack
-1 : ICMP 모드 (-2는 UDP모드, 안써주면 TCP)
-a 192.168.108.101 : 변조할 출발지 IP 즉 스푸핑할 IP. 공격대상 IP와 동일하게 써준다.
-d 65000 : ICMP 패킷사이즈. 크게 준다. 크면 Fragmentation하여 전송하게 된다.
192.168.108.101 : 목적지 IP. 즉 공격 대상 IP
Attacker ~# hping3 -1 -d 65000 -a 192.168.108.101 192.168.108.101
HPING 192.168.108.101 (eth0 192.168.108.101): icmp mode set, 28 headers + 65000 data bytes


Attacker ~# hping3 --icmp --rand-source 192.168.108.101 -d 65000 --flood

'Linux > 보안장비 운용' 카테고리의 다른 글

Anti port scan  (0) 2022.03.02
slowhtptest DoS Attack  (0) 2022.03.02
DMZ WEB#1 서버의 가상 호스트 설정  (0) 2022.03.02
DNS 서버 설정  (0) 2022.03.02
Masquerading 설정  (0) 2022.03.02