Linux Server

리눅스 방화벽 iptables

delmaster 2015. 5. 12. 15:44

[방화벽]

* 아래 방법으로 실제 방화벽 작업의 세부 내용을 볼수 없고 수정할 수 없다.(권장하지않음)
******************************************************************************************
 * GUI 설치
  * yum install system-config-firewall

 * CLI 환경에서 텍스트 모드 작업
  * system-config-firewall-tui
******************************************************************************************


* 방화벽 정책 출력
 * iptables -nvL

* 기본옵션

 * -A : 체인의 끝에 규칙 추가
 * -I : 체인에 추가할 규칙의 위치 지정(입력하지 않을 시 가장 위에 추가됨)
  * ex) iptables -I INPUT [위치.숫자] -p tcp --dport 8888 -j ACCEPT
 * -p : 프로토콜 지정(ex. tcp, udp)
 * -j : 액션 타겟 지정(ex. ACCEPT, DROP, REJECT)
 * -s : 소스 주소
 * -d : 목적지 주소
 * -i : 패킷이 수신되는 인터페이스 지정
 * -o : 패킷이 출발한 시스템의 인터페이스 지정
 * -m : 필터링에 대한 확장을 위한 옵션(TCP, UDP, STATE, IPRANGE, MAC..)
 * --state : 패킷의 상태 감시
 * -L : 현재 테이블 출력
  * -v : 자세히
  * -n : 호스트와 포트를 숫자로 출력(기본값은 DNS변환)
  * --line-numbers : 규칙의 고유번호 출력
 * -D : 규칙 삭제
  * ex) iptables -D INPUT 3
 * service iptables save : 현재 규칙 저장
 * service iptables start : 서비스 시작
 * service iptables stop : 서비스 중지
 * servcie iptables restart : 서비스 재시작


* 방화벽 기본정책 설정
 * iptables -P INPUT DROP
 * iptables -P OUTPUT ACCEPT

* 예제

 * 발신지 주소 변경
  * iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 8.8.8.8

 * 수신지 주소 변경
  * iptables -t nat -A PREROUTING -o eth0 -j DNAT --to 168.126.63.1
 
 * 인바운드 포트 허용
  * iptables -A INPUT -p tcp --dport 21 -j ACCEPT

 * 아웃바운드 포트 차단
  * iptables -A OUTPUT -p tcp --dport 3389 -j DROP

 * 특정 IP 차단
  * iptables -A INPUT -s 168.126.63.1/32 -j DROP

 * IP 대역 차단
  * iptables -A INPUT -m iprange --src-range 192.168.0.0/24 -j DROP
  * iptables -A INPUT -m iprange --src-range 192.168.0.15-192.168.0.35 -j DROP


* 방화벽 중지 시 반드시 save 할것.
 * service iptables save
  * save된 파일은 /etc/sysconfig/iptables 파일에 기록됨

 


1 # Firewall configuration written by system-config-firewall
      2 # Manual customization of this file is not recommended.
      3 *filter
      4 :INPUT DROP [0:0]
      5 :FORWARD DROP [0:0]
      6 :OUTPUT ACCEPT [0:0]
      7 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      8 -A INPUT -p icmp -j ACCEPT
      9 -A INPUT -i lo -j ACCEPT
     10 COMMIT


* ESTABLISHED : 자신이 요청한 작업에 대해서는 상태 추적테이블에서 방화벽 규칙을 검사하지 않고 허용
* RELATED : ESTABLISHED에서 허용한 작업과 연관된 패킷


* nmap을 이용하여 open된 포트 확인
 * nmap localhost


 

'Linux Server' 카테고리의 다른 글

리눅스 BIND 9.8.2 - CentOS 6.6 / 6.7  (1) 2015.05.15
리눅스 SSH  (0) 2015.05.14
리눅스 SAMBA AD Join  (0) 2015.05.13
리눅스 SAMBA  (0) 2015.05.13
리눅스 서비스 관리  (0) 2015.05.12
리눅스 파일 시스템  (0) 2015.05.12
리눅스 디스크 추가  (0) 2015.05.11
리눅스 압축 해제  (0) 2015.05.11