티스토리 뷰

IT/RHEL

[RHEL] 네트워크 트래픽 보안 설정

트래이닝맨 2014. 8. 7. 14:52
728x90
반응형
8장. 네트워크 트래픽 보안 설정

*SSH 포트 전달
============

*패킷 필터링
===========
Rule   - 타킷 패킷을 결정하는 기준을 정의하고, 해당 패킷을 수행할 동작을 결정합니다.
Chain  - 규칙들의 목록이며, 순차적으로 검사 (여러 항목이 일치하는 경우, 가장 처음 일치하는 항목적용)
Policy - 기본 제공 체인에서 일치하는 규칙을 찾지 못한 경우 수행되는 기본 규칙(ACCEPT/DROP)
Table(filter/nat) - 특정 목적으로 사용되는 체인들의 집합
                        filter=> 트래픽 차단
                        nat=> 주소 차단  

*기본 제공 체인(Filter table)
=========================
INPUT         - 방화벽으로 보내지는 패킷.
OUTPUT     - 방화벽의 서비스에서 시작하는 패킷
FORWARD  - 다른 시스템에서 시작한 패킷으로, 방화벽으로 향하지 않고, 다른곳으로 전달(net.ipv4.ip_forward=1)

*타킷(Target)
============
ACCEPT - 패킷이 체인을 통과
DROP     - 패킷이 표시된 적이 없는 것처럼 버림
REJECT  - 패킷이 거부되고 방화벽 오류메시지를 보냄(ICMP port unreachable 메세지 전송)
LOG        - 패킷에 대한 정보를 syslog에 기록, 체인의 다음 규칙으로 진행


*iptables 예제구문
================
-vnL --line-numbers                - 모든 규칙을 자세히 나열(v-자세히, n-숫자, L-라인)
-A CHAIN <rule> -j <target>    - CHAIN 맨끝에 규칙을 추가
-I CHAIN # <rule> -j <target>  - CHAIN #번째 규칙으로 삽입( #이 없으면 몇 첫번째에 삽입됨)
-D CHAIN #                             - CHAIN 에서 #번째 규칙을 삭제
-F CHAIN                                - CHAIN 에서 모든 규칙을 삭제

*규칙 (일치기준) 구문
==================
출발지 IP 또는 네트워크 :  -s 192.0.2.0/24
도착지 IP 또는 네트워크 :  -d 192.0.2.0/24
UDP/TCP 및 port           : -p udp --sport 68 --dport 67
icmp 및 유형                  : -p icmp --icmp-type echo-reply
인바운드 네트워크 인터페이스 : -i eth0
아웃바운드 네트워크 인터페이스 : -o eth0
연결추적                       : -m state --state ESTABLSHED,RELATED

*연결추적 상태(커널 버퍼기준)
============
NEW                - 새로운 연결 시작
ESTABLSHED - 커널 버퍼에 이미 존재
RELATED        - ESTABLISHED 트래픽과 관련된 트래픽(ftp protocol: 21/제어, 20/데이터)
INVALID          - 식별할 수 없는 패킷

*설정저장
=======
iptables 명령어             - netfilter 커널 모듈 규칙을 변경가능(램에 저장)
#service iptables save  - 현재 메모리상의 iptables 규칙들이 /etc/sysconfig/iptables에 저장됨.

*연습문제
========
#!/bin/bash

#INPUT 의 POLICY를 DROP을 설정 (일단 모든 것을 막자)
iptables -P INPUT DROP
#iptables에 등록되어 있던 규칙들을 모두 지운다.
iptables -F 
#로프백만 input이 가능하게 한다.
iptables -A INPUT -i lo -j ACCEPT

####5####
#ESTABLISHED,RELATED 상태의 INPUT은 받아드린다.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

####7####
#리모트(특정서버)에 대해서는 모든 INPUT을 REJECT한다.(오류메시지를 리턴한다.)
iptables -A INPUT -s 192.168.1.0/24 -j REJECT

####11####
#22 tcp 포트로의 연결은 받아드린다.
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

#그외의 것들은 다 REJCT한다.
iptables -A INPUT -j REJECT

*네트워크 주소 변환
==================
*사설망에서 외부망으로 나갈때 source의 아이피를 변경할때 사용한다.
# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE (--to-source)
나가는 패킷의 아이피를 eth1번의 아이피로 변경하라.
(--to-source : 인터페이스가 2개여서 나갈때/들어올때 사용하는 인터페이스를 분리할 경우 사용)

-+------------------+-------254(라우팅)203--------인터넷(네이버)
  |                       |                     |
192.168.0.1    x.x.0.2         이곳에서 공인 아이피(203) 대역으로 변경하여  네이버에 접속

S.I|D.I|MSG      --->         S.I|D.I|MSG   ----->
192|naver|...    <---         203|naver|... 

                                                                              S.I|D.I|MSG
                                                                          <---  naver|203|...
                                        Kernel Buffer             
                                         192---> 203
                           이곳을 보고 리턴되는 패킷의 D.I를 변경한다.

*외부방에서 사설망으로 들어올때 Destination의 아이피를 변경할 때 사용한다.(http)
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.3
80포트로 접근하는 패킷을 192.168.0.3 아이피의 80포트로 포워딩해라.

----+-----------------254(라우팅)203--------인터넷(고객)
     |                     
  192.168.0.3         <--- S.I|D.I|MSG           <--- S.I|D.I|MSG
    HTTPD :80             clientip|192.168.0.3|...     clientip|www.test.com|...
     

                              Kernel Buffer             
                                192<--- 203
                                      이곳을 보고 변경한다.

1.고객이 접속(www.test.com:203.15.12.15)  
2.라우터에서 ip 를 변경하여 포워딩 203.15.12.15 ==> 192.168.0.3
3.다시 나갈대는 kernel buffer를 확인하여 전달



반응형
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함