방화벽(firewall)
방화벽이란 서로 다른 네트워크를 지나는 데이터를 허용하거나 거부하거나 검열, 수정하는 하드웨어나 소프트웨어 장치이다.규칙에 의해서 동작하는 하드웨어 , 소프트웨어.
 
 
1세대 : 패킷 필터(ACL을 생각하면됨)
패킷 자체만을 보고 미리 설정된 정책에 따라 허용 또는 거부를 결정하는 초창기 방화벽은 1세대 방화벽이라고 한다. 방화벽 내부에서 상태(세션)를 관리하지 않는 기본 형태의 방화벽이다. 이 방화벽은 특정한 IP를 허용 또는 거부하거나 특정한 포트를 허용 또는 거부하는 용도로 사용된다
 
2세대 : 스테이트풀 인스펙션(상태이해)
세션 단위의 검사를 하는 스테이트풀 검사이다.
기본적인 스테이트풀 검사는 다양한 파생 세션을 모두 처리하지 못하는 경우가 있는데, FTP의 능동적/수동적 데이터 세션등 복잡한 파생세션을 별도의 정책 추가 없이 모두 처리할 수 있는 확장된 스테이트풀 검사를 하는 방화벽도 있다.
 
3세대 : 애플리케이션 방화벽(7계층까지 전부 확인, 데이터까지 검사)
패킷의 내용을 검사하고 더 나아가서는 애플리케이션에 어떠한 영향을 미칠지를 분석하는 방화벽, IPS, WAF, UTM 등으로 불리는 네트워크 장비들이 애플리케이션 방화벽이라고 할 수 있다.서비스에 특화,주로 앞에 서비스명이 붙는다 ex)web 애플리케이션 방화벽
 
IDS : 침입 탐지 시스템(탐지만 함,관리자에게 알려주는 용도)
일반적으로 시스템에 대한 원치 않는 조작을 탐지하여 준다.
전통적인 방화벽이 탐지할 수 없는 모든 종류의 악의적인 네트워크 트래픽 및 컴퓨터 사용을 탐지하기 위해 필요하다.
 
IPS : 침입방지시스템(차단 시스템)
IPSIDS Firewall 의 조합으로 생각할 수 있다. 침입탐지 기능을 수행하는 모듈이 패킷 하나하나를 검하사여 그 패턴을 분석한 뒤, 정상적인 패킷이 아니면 방화벽 기능을 가진 모듈로 이를 차단한다.
 
UTM(Unified Threat Management) : 통합위협관리
물리적인 하나의 장비에서 여러 보안 기능을 통합적으로 제공하는 네트워크 보안 장비이다. UTM 장비를 흔히 네트워크 방화벽이라고 하며, 제조사별 장비의 기능 차이가 있지만 보편적인 기능으로는 방화벽(Firewall) / 가설사설망(VPN) / 침입탐지 및 방지(IDS/IPS) / Web Filtering 등의 기능을 포함하고 있다.
모든 기능을 포함하고 가격에 따라 기능이 달라짐.
 
Firewall / IDS / IPS 비교

 
방화벽(Firewall)
침입 탐지 시스템(IDS)
침입 차단 시스템(IPS)
패킷 차단
0
X
0
패킷 내용 분석
X
0
0
오용 탐지
X
0
0
오용 차단
X
X
0
이상 탐지
X
0
0
이상 차단
X
X
0

 
Centos + iptables 실습
 
CentOS에 네트워크 어댑터 2개를 더 추가한다. (3)
 


 

The firewall is disabled 로 되어있는지 확인한다.
만약 활성화가 되어 있다면 Disable을 누르고 Apply 까지 눌러준다.
 
[root@localhost Desktop]# vi /etc/sysconfig/iptables-config

저장되어 있는 것이 있나 확인
[root@localhost Desktop]# iptables -L

/etc/sysconfig/iptables
//위의 경로에 iptables 파일이 있는 경우
iptables 파일을 삭제한다.그리고 아래와 같이 iptables 서비스를 재시작한다.
[root@localhost Desktop]# service iptables restart
//iptables 재시작 명령어
 
 
iptables 동작 과정

Table : 빨간색 글씨(mangle, nat, filter)
Chain : 파란색 네모박스
mangle은 사용하지 않을 것임
 
local Processes : CentOS Kernel
 
CentOS를 거쳐서 다른 네트워크로 갈 경우
network -> PREROUTING ->FORWARD -> POSTROUTING
 
CentOS로 요청된 트래픽일 경우
network PREROUTING -> INPUT -> Local Processes -> OUTPUT->POSTROUTING -> network
 
네트워크 인터페이스 3개중 2개를 사용할 것임
1.가장 나중에 생성된 네트워크 인터페이스를 연결 해제한다.
2.가장처음 생성된 네트워크를 VMnet 1 두 번째로 생성한 네트워크를 VMnet 2로 설정한다.
3.XPVMnet 1번으로 연결
4.BTVMnet 2번으로 연결

 
CentOS 설정
[root@localhost Desktop]# ifconfig eth1 10.10.10.20/24 up
[root@localhost Desktop]# ifconfig eth0 192.168.200.254/24 up
[root@localhost Desktop]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@localhost Desktop]# ps -e | grep dh
8255 ? 00:00:00 dhclient
[root@localhost Desktop]# kill -9 8255
/*
dhcp 프로세를 죽여야 IP가 날라가지 않는다.
그래도 계속해서 프로세스가 살아난다면 네트워크매니저를 Stop시키고 Disable시키면 된다.
*/

BT설정
root@bt:~/dns# ifconfig eth0 10.10.10.10/24 up
root@bt:~/dns# route add default gw 10.10.10.20
root@bt:~/dns# ps -e | grep dh
1763 ? 00:00:00 dhclient3
2174 ? 00:00:00 dhclient
root@bt:~/dns# kill -9 1763
root@bt:~/dns# kill -9 2174
/*
동작하고 있는 dhcp프로세스가 있으면 IP설정이 자주 날아간다.
dhcp프로세스를 강제종료
*/
 
XP 설정

XP -> BT Ping 통신 확인

[root@localhost Desktop]# iptables -P FORWARD DROP

화이트리스트, 블랙리스트 정책을 쓸지는 사용자의 판단
화이트리스트 기본정책 : DROP
블랙리스트 기본정책 : ACCEPT
 
화이트리스트 정책 적용
[root@localhost Desktop]# iptables -P INPUT DROP
 
[root@localhost Desktop]# iptables -t filter -A INPUT -s 192.168.200.0/24 -i eth0 -j ACCEPT
 
-A : 새롭게 적용

 

+ Recent posts