wonder
정보보안 스터디 - 12주차 7일 - 방화벽 외부/내부 공격 차단 본문
ettercap -T -M dhcp:192.168.20.20-30/255.255.255.0/192.168.20.50
피해자가 ip할당을 받습니다.
ipconfig /release
ipconfig /renew
☞ 방화벽 기본 설정
회사 인트라넷에서 일반 라우터만 가지고도 방화벽 구성이 충분히 가능합니다.
내부 > 외부
토토 등 불법 사이트 차단 ip access-list extended In-Filter deny ip 192.168.20.0 0.0.0.255 host 불법사이트주소 log-input deny ip 192.168.20.0 0.0.0.255 host 불법사이트주소 log-input 나머지는 허용 200 permit ip any any int e0/1 ip access-group In-Filter in |
외부 > 내부
회사 웹서버가 있기 때문에 웹, https, dns 제외하고는 모두 차단합니다. ip access-list extended In-FW permit tcp any host 192.168.168.20.200 eq 80 permit tcp any host 192.168.168.20.200 eq 443 permit udp any host 192.168.168.20.200 eq 53 200 deny ip any any int e0/0 ip access-group In-FW in |
ping이든 http접속이든 내부에서 나갔던 요청에 대한 응답은 허용해야합니다.
가능한방법은 RACL, CBAC 두가지가 있습니다. 나갈 때 상태메세지를 주고, 들어올떄 검증합니다.
CBAC을 주로 사용합니다.
Reflect ACL ip access-list extended Out-FW permit ip 192.168.20.0 0.0.0.255 any reflect RACL ip access-list extended In-FW 40 evaluate RACL int e0/0 in access-group Out-FW out |
CBAC ip inspect name CBAC tcp ip inspect name CBAC udp ip inspect name CBAC icmp int e0/0 ip inspect CBAC out |
그리고 외부에서 일하는 근무자가 있을 수 있으니 허용시켜줘야합니다.
telnet으로 로그인해서 인증되는 ip만 허용시킵니다.
NAC conf t username admin password cisco username admin autocommand access-enable host timeout 10 line vty 0 4 login local ip access-list extended In-FW 40 permit tcp any host 192.168.100.1 eq 23 50 dynamic NAC permit ip any 192.168.20.0 0.0.0.255 |
☞ 외부 공격자의 공격
이 때 가능한 공격은
열려있는 웹 포트로의 ip fragments 공격
hping3 -I eth0 192.168.20.200 -a 1.2.3.4 --flood -p 80 -d 64000
tcp syn 플러딩
hping3 -I eht0 --syn 192.168.20.200 -a 1.2.3.4 --flood -p 80
udp 플러딩
hping3 -I eht0 --udp 192.168.20.200 -a 1.2.3.4 --flood -p 53
이 있습니다.
대응 방안으로는
fragment로 보내면 차단하는 방법이있습니다.
ip access-list extended In-FW 5 deny ip any host 192.168.20.200 fragments |
offset이 쌓이지 않습니다.
여기서 ip fragments는 프로토콜(tcp,udp,icmp) 차단에 상관없이 보낼 수 있습니다.
tcp syn 플러딩
tcp syn 플러딩은
syn> 요청만 계속 보내서
<ack syn 로 응답이 와도
rst > 로 응답 연결을 하지 않고 끊어버리기 때문에
응답 연결을 하지 않을 경우 차단해버릴 수 있습니다.
응답을 서버에까지 가지 않고 방화벽이 서버인것처럼 syn 패킷을 받아서 검증합니다.
30초동안 응답하지 않으면 ack+syn을 보내던 것을 rst을 보내어 안받는다는 신호를 줍니다.
그것을 intercept라고합니다.
access-list 110 permit tcp any host 192.168.20.200 ip tcp intercept list 110 ip tcp intercept mode intercept ip tcp intercept connection timeout 30 |
udp 플러딩
QOS 패킷 송수신양을 조절 하여
일정량을 초과할경우 드랍합니다. 인터페이스에 직접 설정합니다.
access-list 120 permit udp any host 192.168.20.200 int e0/0 rate-limit input access-group 120 8000 1500 2000 conform-action transmit exceed-action drop |
포트보안이 가장 중요한 핵심키워드입니다.
☞ 내부 공격자의 공격
L2 스위치에 보안 설정을 하여 막습니다.
mac 플러딩 공격
변조한 모두 다른 mac 주소를 스위치에 학습시켜 arp 테이블 최대갯수에 도달하도록 하고 부하를 일으킵니다.
최대갯수에 도달하면 다른 시스템에 영향을끼칩니다.
macof -i eth1 이더넷 기반이라 스위치 까지 갑니다. show mac address-table show mac address-table count 많은 mac이 학습되었습니다. show memory statistics show process cpu 부하 확인 |
대응방안
port-security
해당 포트에 대해서만 제한할 수 있습니다.
지정된 mac말고는 변조한 mac을 보낼 수 없도록합니다.
SW int e1/0 switchport mode access switchport port-security switchport port-security maximum 2 switchport port-security max-address 칼리 switchport port-security mac-address 칼리vmnet과 연결된 실제PC swithcport port-security violation shutdown |
show run int e1/0 show port-security int e1/0 show int e1/0 shutdown상태를 확인합니다. show int status err-disabled 닫힌 이유까지 확인합니다. int e1/0 sh no sh show int e1/0 > up 확인 |
만약 공격이 생겨 차단된다면 공격이 시도되었다고 알 수 있고
내부자의 공격인지, 악성파일을 다운받은 건지 시스템 점검을 합니다.
☞ BPDU 공격
BPDU는 스위치끼리 STP(spanning-tree) 작동에서 hello 메세지를 보내 부하를 일으키는 것입니다.
yersinia -G & > STP > bpdus (DOS) show ip mac address-table 이것도 역시 mac이 학습되었습니다. 부하확인 |
대응방안
bpdu guard, port-security
bpdu가 들어오면 포트를 셧다운 시킵니다.
사실 스위치끼리 공유하는 메세지인데 시스템이 보낼일이 없기 때문입니다.
BPDU guard int e1/0 spanning-tree bpduguard enable |
☞ dhcp 작동원리
IP주소가 없는 클라이언트는 mac주소 밖에없기 때문에
브로드 캐스트로 서버에 discover 요청을 보낼 수 밖에 없습니다.
그러면 서버도 브로드캐스트로 dhcp정보를 전송합니다.
ack까지 받아와야 실제 ip를 할당 받을 수 있습니다.
☞ dhcp 스푸핑
dhcp서버가 있음에도 불구하고
공격자가 dhcp서버라고 속이는 offer 메세지를 계속 보내면
피해자가 ip주소를 받아올 때 공격자가 주는 정보를 받아옵니다. ip대역은 제대로 주지만 게이트웨이를 본인으로 해서 주고, dns서버를 본인으로 하는 변조가 가능합니다.
결국 게이트웨이를 속이면 외부로 접속할 때 패킷이 공격자를 거치기 때문에 확인이 가능합니다.
그리고 dns서버를 속이면 정상적인 도메인으로 요청을 하더라도 악성 사이트로 리다이렉트가 가능합니다.
ettercap -T -M dhcp:192.168.20.20-30/255.255.255.0/192.168.20.50 피해자가 ip할당을 받습니다. ipconfig /release ipconfig /renew mac주소를 변조해서 보내는 거이므로 show mac address-table 로 확인합니다. |
☞ dhcp 플러딩
공격자가 dhcp discover 요청을 계속해서 보냅니다.
~.255 주소인 브로드 캐스트로 보내기 떄문에 네트워크내의 모든 시스템에 부하가 갑니다.
yersinia -G & > dhcp > sending discover mac주소를 변조해서 보내는 거이므로 show mac address-table 로 확인합니다. |
dhcp spoofing, flooding 대응방안
☞ > dhcp snooping binding
지정된 mac주소에 대해서만 offer 메세지를 줄 수 있도록 제한합니다.
실제 dhcp서버와, 게이트웨이 인터페이스에 대해서만
offer메세지가 들어오도록 해두고
이외의 변조된 mac 주소에서 offer메세지이든 discover요청이든
mac변조가 일정량 이상 들어오면 알림을 보내고 shutdown합니다.
port보안을 해서 mac 주소가 오면 shutdown해도 상관없습니다.
ip dhcp snooping ip dhcp snooping vlan 1 no ip dhcp snooping information option int range e0/0, e0/2 ip dhcp snooping trust int range e0/1, e0/3, e1/0 ip dhcp snooping limit rate 50 |
스푸핑> show ip dhcp snooping statistics 드랍확인 show int e1/0 show int status err-disabled |
show ip dhcp snooping binding
dhcp snooping 설정을 해놓으면
스위치에서 할당받은 mac에대한 정보를 확인할 수 있습니다.
☞ dhcp 할당 정보가 필요한 이유
arp spoofing 대응방안
☞ > Dynamic ARP Inspection
공격자가 보내는 arp 응답의 mac주소가 실제 mac주소랑 다를 때 차단합니다.
이 때,
네트워크 주소를 할당받은 클라이어트가 많을 때
설정에 많은 클라이언트를 일일이 등록하기에는 어렵기 때문에
binding에서 참조해옵니다.
ip arp inspection vlan 1 arp access-list STATIC permit ip host 192.168.20.50 mac host 맥주소 permit ip host 192.168.20.100 mac host 맥주소 permit ip host 192.168.20.200 mac host 맥주소 permit ip host 192.168.20.201 mac host 맥주소 ip arp inspection filter STATIC vlan 1 int e1/0 ip arp inspection limit none |
arp 스푸핑> show ip arp inspection statistics 드랍확인 |
☞ dchp starvation ip 고갈 공격
실제 dhcp 서버가 할당할 수 있는 ip대역을 모두 받아온다면 고갈되어 실제 피해자는 사용하지못할 것입니다.
모두 다른 mac주소를 만들어서 요청을 보낸다면 모두가 할당 받아올 수 있습니다.
dhcpx -A -D 192.168.20.200 서로 다른 mac주소로 할당 받아옵니다. |
실제 클라이언트에서 받아오지 못하면 168.254.~ 로 ip주소가 뜹니다.
서로다른 mac주소이지만 discover 메세지를 많이 보내서 부하를 일으키는 것도아니고
discover 요청 메세지를 보내 할당받아오는 것은 못막기 때문에
dhcp snooping 방법으로는 공격을 막기가 어렵습니다.
그래서 따로 port-security 를 사용하여 mac 변조를 막습니다.
mac을 정의하고 설정된 mac만 허용합니다.
그게 아니라 변조되면 shutdown합니다.
'Security > 네트워크 보안' 카테고리의 다른 글
정보보안 스터디 - 13주차 2일 - Sophos UTM 시스템 구성 (0) | 2023.01.06 |
---|---|
정보보안 스터디 - 13주차 1일 - IDS/IPS 장비 (0) | 2023.01.06 |
정보보안 스터디 - 12주차 6일 - ACL 방화벽 (0) | 2023.01.03 |
정보보안 스터디 - 12주차 5일 - 서버 정보 수집 도구 (0) | 2023.01.02 |
정보보안 스터디 - 12주차 2일 - Nmap 사용법 (0) | 2022.12.30 |