DDoS 공격에 대한 대응책
방화벽(Firewall)
을 이용침입 탐지 시스템(IDS, Intrusion Detection System)
이용 침입 방지 시스템(IPS, Intrusion Prevention System)
이용시스템 패치
를 하여 취약점 및 버그를 이용한 악성코드 및 침임 방지안정적인 네트워크 설계
로드밸런싱
을 통해 대용량 트래픽 분산 처리 대역폭
제한 방화벽 이 뭔데?
방화벽 종류가 있어?
침입 탐지 시스템(IDS) 아까 말한거 이건 뭔디?
침입 방지 시스템(IPS) 는?
리눅스 기반 IDS나 IPS는 뭐야?
가상 사설망(VPN) 은?
iptables 뭐야? 방화벽 포트 열어줄때 겁나 많이 써봤는데.
데이터링크
, 네트워크
, 전송
계층에서 수행해.사용법
# iptables [-t 테이블] [액션] [체인] [매치] [-j 타겟]
테이블(Table)
filter
(패킷필터링),
nat
(ip주소 변환),
mangle
(패킷데이터를 변경하는 특수규칙 적용),
raw
(넷필터의 연결추적 하위시스템과 독립적으로 동작해야하는 규칙 적용)
명시하지 않으면 기본적으로 filter야.
액션(Action)
-A : APPEND : 정책 추가
-I : INSERT : 정책 삽입
-D : DELETE : 정책 삭제
-R : REPLACE : 정책 교체
-F : FLUSH : 모든 정책 삭제
-P : POLICY : 기본 정책을 설정
-L : LIST : 정책 나열
체인(Chain)
INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING
매치(Match)
-s : 출발지 매칭. 도메인, IP 주소, 넷마스크 값을 이용하여 표기(––source, ––src)
-d : 목적지 매칭. 도메인, IP 주소, 넷마스크 값을 이용하여 표기(––destination, ––dst)
-p : 프로토콜과 매칭. TCP, UDP, ICMP 와 같은 이름을 사용하고 대소문자는 구분하지 않음
-i : 입력 인터페이스와 매칭(––in-interface)
-o : 출력 인터페이스와 매칭(––out-interface)
-j : 매치되는 패킷을 어떻게 처리할지 지정 (--jump)
타겟(target)
패킷이 규칙과 일치할 때 취하는 동작을 지정한다.
ACCEPT : 패킷을 허용한다.
DROP : 패킷을 버린다(패킷이 전송된 적이 없던 것처럼)
REJECT : 패킷을 버리고 이와 동시에 적절한 응답 패킷을 전송한다.(icmp-port-unreachable)
LOG : 패킷을 syslog에 기록한다.
SNAT --to [주소] : 소스 IP를 [변환(NAT)|NAT]한다.
DNAT --to [주소] : 목적지 IP를 변환(NAT)한다.
RETURN : 호출 체인 내에서 패킷 처리를 계속한다.
정책 열람·저장·반영
보기
# iptables -L
또는
# cat /etc/sysconfig/iptables
저장
# service iptables save
저장 & 불러오기
# iptables-save > firewall.sh
# iptables-restore < firewall.sh
정책을 추가한 다음 재시작이나 다른 조치를 하지 않아도 바로 적용된다.
예시
192.168.10.22에서 들어오는 패킷을 차단하는 정책을 추가
iptables -A INPUT 192.168.10.22 -j DROP
또는
iptables -I INPUT 192.168.10.22 -j DROP
192.168.10. 대역으로부터 들어오는 패킷들은 차단하는 정책을 추가
iptables -A INPUT 192.168.10.0/24 -j DROP
또는
iptables -I INPUT 192.168.10.0/24 -j DROP
-D 옵션을 지정하여 특정 번호의 정책을 삭제한다.
iptables -D INPUT [번호]
NAT 사용예
firewalld의 개요
D-BUS 인터페이스가 있는 호스트 기반 방화벽을 제공하는 서비스 데몬이다.
동적 관리 방화벽으로 규칙이 변경될 때마다 방화벽 데몬을 다시 시작할 필요 없이 규칙을 작성, 변경, 삭제할 수 있다.
iptables 기반 도구와 firewalld의 비교