1. ip fragment 공격 방어
TearDrop공격이라고도 한다. 이 공격수법은
헤더가 조작된 일련의 IP 패킷조각들을 전송 하므로써 공격이 이루어 진다. 이 수법으로 공격당한 시스템은
네트워크 연결이 끊어지거나 블루스크린이 뜨는 오류가 생기면서 중단된다.
( IP는 MTU 크기가 초과된 데이터에 대해서는 분할(Fragments)를 실시하여 전송 처리하는데
조작된 fragment를 차단 하므로써
공격을 방어 한다.)
* access-list를 사용하여 ip fragment 공격 방어 ( '150.1.13.254' 서버가 IP Fragments 공격을 당하고 있을 떄, 라우터에서 이를 차단하므로써 방어할 수 있다.)
Router(config)# ip access-list extended frag
----> frag라는 엑세스리스트를 만듬
Router(config-ext-nacl)# deny ip any host 150.1.13.254
fragments ----> 두번쨰 fragment 이부터를 체크하고 이에 해당하는 패킷은 150.1.13.254로 갈 수 없는 엑세스 리스트임
Router(config-ext-nacl)# permit ip any any
----> 나머지 패킷은 모두 허용
Router(config-ext-nacl)# interface fa0/0
----> 150.1.13.254서버가 위치하는 인터페이스 모드로 진입
Router(config-if)# ip aceess-group frag out
----> 라우터에서 호스트로 나갈때의 인터페에스에 엑세스리스트 적용2. ICMP 스푸핑 방어 방법
DOS (denial of dervice, 서비스거절) 공격으로 일반적으로 이공격은 연속적으로
대량의 ICMP 패킷을 발송하여 상대방의 서버를
다운시킨다.
* access-list를 사용하여 ICMP 스푸핑 방어('150.1.13.254' 서버는 현재ICMP 스푸핑 공격을 당하고 있을 때, 라우터에서 이를 차단 하므로써 방어를 할수 있다.)
Router(config)# ip access-list extended icmp
----> icmp라는 엑세스리스트를 만듬
Router(config-ext-nacl)# deny
icmp any host 150.1.13.254
echo ----> icmp의 ping패킷은 150.1.13.254로 갈 수 없는 엑세스 리스트임
Router(config-ext-nacl)# permit ip any any
----> 나머지 패킷은 모두 허용
Router(config-ext-nacl)# interface fa0/0
----> 150.1.13.254서버가 위치하는 인터페이스 모드로 진입
Router(config-if)# ip aceess-group frag out
----> 라우터에서 호스트로 나갈때의 인터페에스에 엑세스리스트 적용
3. Mitigating TCP SYN Attack 방어 방법
이 기술은
syn flooding 공격 시
정당한 호스트와 공격 호스트를 구분하는 기술로서 서비스와 동시에
syn flooding 공격을 방어할 수 있다
.
클라이언트의 접속 요청인
SYN을 가로채며
, IOS는
Proxy로서 응답(클라이언트의 요청을 서버대신 응답)을 하며 이에 상응하는 응답
(ACK)으로 호스트의 정당성을 확인하는 기술이다.
- 라우터
3700시리즈 이상 구현 가능하다
- 운영모드는 크게 intercept와 drop으로 나뉘며, intercepter는 또 다시 intercept와 watch로 나뉜다.
1) Intercept/Intercept : Default
클라이언트의 SYN 요청에 IOS는 서버 대신 SYN/ACK을 보내고 ACK 대기
(첫번째 패킷을 가로챔)
클라이언트로부터의 ACK 수신 시 IOS는 서버와 3 way-handshake를 진행하고
establish 완료 시 서버와 클라이언트를 연결
- 설정 법
Router(config)# access-list 110 permit tcp any {services network | host}
---> 엑세스리스트로 서비스대역 지정
Router(config)# ip tcp intercept list 110
---> intercept 활성화
Router(config)# ip tcp intercept mode intercept
---> intercept모드로 선택 (기본값이라서 생략가능)
Router(config)# ip tcp intercept connection-timeout 30
---> 30초동안 정상적인 두번쨰 SYN가 들어오지 않으면 차단(생략가능)
2) Intercept/Watch( 필드에서는 watch를 더 많이 쓴다.)
클라이언트의 SYN 요청을 가로채지 않고 establish 완료 시 까지 모니터링
클라이언트와 서버간
establish 연결이 30초안에 성립되지 않으면 IOS는 서버쪽으로 RST 송신후 state table에서 삭제(
막아버린다).
- 설정 법
Router(config)# access-list 110 permit tcp any {services network | host}
---> 엑세스리스트로 서비스대역 지정
Router(config)# ip tcp intercept list 110
---> intercept 활성화
Router(config)# ip tcp intercept mode watch
---> watch 모드로 선택
Router(config)# ip tcp intercept watch-timeout 5
---> 5 초동안 서버와 정상적인 SYN를 맷지 않으면 차단(기본값은 30초로 설정)
3) drop ( 필드에서
굳이 사용하지는 않는다. 인터셉터보다 더 많은 부하를 유발한다..)
DoS 공격을 받고 있는 상태에서 불완전 연결 유지 기간 정의
Default : 1분안에
불완전 연결이 1100 초과시 순차적으로 연결을
state table에서 삭제. - 설정 법
Router(config)# access-list 110 permit tcp any {services network | host}
---> 엑세스리스트로 서비스대역 지정
Router(config)# ip tcp intercept list 110
---> intercept 활성화
Router(config)# ip tcp intercept mode drop
---> drop 모드로 선택
최근 덧글