방화벽 영동대학교스마트 IT 학부 : 컴퓨터와해킹 이호준 hjlee@yd.ac.kr
Contents 학습목표 방화벽의기능과목적을이해한다. 네트워크에서방화벽의위치와구조를이해한다. 패킷필터링의규칙을이해하고적용할수있다. NAT의원리를이해하고적용할수있다. 프록시의원리를이해하고적용할수있다. 내용 방화벽의기능과목적 방화벽의구조 패킷필터링 NAT 프록시 2/42
방화벽의기능과목적 방화벽개념 원래방화벽은화재가발생했을때불길이다른곳으로번지지않게설치해놓은구조물 네트워크에서방화벽은신뢰하지않는외부네트워크와신뢰하는내부네트워크사이를지나는패킷을미리정해놓은규칙에따라차단하거나보내주는기능을하는하드웨어나소프트웨어 3/42
방화벽의기능과목적 방화벽기능 접근제어 (Access Control) 통과시킬접근과그렇지않은접근을결정하여허용과차단을함 접근제어방식은구현방법에따라패킷필터링방식과프록시방식으로나뉨 로깅 (Logging) 과감사추적 (Auditing) 허용또는거부된접근에대한기록을유지 인증 (Authentication) 메시지인증, 사용자인증, 클라이언트인증을할수있음 데이터암호화 방화벽에서다른방화벽까지전송되는데이터를암호화해서보내는것으로, 보통 VPN 의기능을이용 4/42
방화벽의기능과목적 방화벽한계 바이러스를막을수없음 방화벽은패킷의 IP 주소와포트번호로접근제어를하는것이보통 좀더높은수준의접근제어가가능하지만패킷의데이터내용자체는검사하지않는것이보통 방화벽은보통두네트워크사이에존재하며, 높은트래픽을처리해야하므로데이터내용까지검사하면, 큰오버헤드 (overhead) 가발생하고네트워크대역폭에큰손실을가져오기때문 방화벽은자신을통과하지않은통신에대한제어가불가능 내부사용자가방화벽을통과하는통신선로가아닌무선이나사설통신선로를이용해통신을한다면, 공격자는방화벽을우회하여내부네트워크로접속할수있음 내부사용자역시방화벽을우회하여외부로허용되지않은접속을시도할수있음 방화벽은전혀새로운형태의공격을막을수없음 방화벽은예측된접속에대한규칙을세우고이에대해서만방어하기때문에새로운형태의공격에는능동적으로적용할수없음 실제로많은해킹공격이방화벽을우회하거나통과하는데성공하여공격을실행하므로보안의완성은절대아님 5/42
방화벽의구조 베스천호스트 철저한방어정책이구현되어있고외부접속에대한일차적인연결을받아들이는시스템을지칭 보통강력한로깅과모니터링정책이구현되어있으며, 접근을허용하거나차단하는등방화벽의일반기능을함 꼭하나가아니며방화벽과동일하지도않음 베스천호스트위치중한곳에방화벽이놓임 6/42
방화벽의구조 스크리닝 (screening) 라우터 외부네트워크와내부네트워크의경계에놓이며, 보통일반라우터에패킷필터링규칙을적용하여방화벽역할수행 세부규칙적용이어렵고많은규칙을적용하면라우터에부하가걸려대역폭을효과적으로이용할수없음 실패한접속에대한로깅을지원하지않으며, 패킷필터링규칙에대한검증이어려움 아주저렴한가격으로방화벽의기본역할을할수있으며, 규칙을효과적으로설정할경우무척빠른처리속도를유지할수있음 정상적인내부, 외부사용자는패킷필터링라우터가존재함을인식하지않고서비스를자유로이이용할수있으므로방화벽으로인한불편함을겪지않음 고가의방화벽을설치하기힘든중소기업에서는많이이용 7/42
방화벽의구조 단일홈게이트웨이 (Single-Homed Gateway) 일반적으로이구조를베스천호스트라고부름 접근제어, 프록시, 인증, 로깅등방화벽의가장기본기능을수행하며윈도우 NT, 유닉스등과같은운영체제에설치되어운용되어다음과같은작업을반드시수행해야함 일반사용자계정을모두삭제한다. 방화벽기능외의유틸리티와파일은모두지운다. 대용량의모니터링과로깅이가능해야한다. IP 포워딩및소스라우팅기능을없앤다. 비교적강력한보안정책을실행할수있으나방화벽이손상되면내부네트워크에대한무조건적인접속을허용할가능성이있으며, 방화벽으로의원격로그인정보가노출되어공격자가방화벽에대한제어권을얻게되면내부네트워크를더는보호할수없음 2 계층공격등을통한방화벽우회가능 8/42
방화벽의구조 이중홈게이트웨이 (Dual-Homed Gateway) 외부네트워크에대한네트워크카드와내부네트워크에대한네트워크카드를구분하여운영 내부네트워크에서인터넷을이용하거나, 인터넷에서내부네트워크가제공하는서비스를이용하려면이중홈게이트웨이를반드시지나야함 이중홈게이트웨이는단일홈게이트웨이보다네트워크카드를하나더지원하므로좀더효율적으로트래픽을관리할수있음 9/42
방화벽의구조 스크린된호스트게이트웨이 (Screened Host Gateway) 라우터와방화벽을구분하여운영하며, 스크리닝라우터와단일홈게이트웨이의조합 스크리닝라우터에서패킷필터링을함으로써 1 차방어를하며, 베스천호스트로써단일홈게이트웨이에서프록시와같은서비스를통해 2 차방어를함 베스천호스트는스크리닝라우터를거치지않은모든접속을거부하며, 스크리닝라우터도베스천호스트를거치지않은모든접속을거부하도록설정 이중홈게이트웨이와함께사용할수도있음 2 단계로방어를실행하므로무척안전하며, 스크리닝라우터에서 3 계층과 4 계층에대한접근제어, 베스천호스트에서 7 계층에대한접근제어까지실행하므로공격하기어려움 가장많이이용하는구조며융통성이좋음 스크리닝라우터를해커가해킹하면베스천호스트를거치지않고내부네트워크에직접접근할수있다는약점이있음 10/42
방화벽의구조 스크린된호스트게이트웨이 (Screened Host Gateway) 11/42
방화벽의구조 스크린된서브넷게이트웨이 (Screened Subnet Gateway) 외부네트워크와내부네트워크사이에서브넷 (subnet) 이라는완충지대를두는것 방화벽도서브넷에위치하며주로프록시가설치됨 다른방화벽의장점을모두갖추고있으며융통성이아주뛰어남 해커가침입하려면통과할것이많아상당히안전한편 다른방화벽보다설치와관리가어렵고, 서비스속도가느리며, 비용도만만치않음 이중홈게이트웨이에적용할경우 [ 그림 14-9] 와같은구조가됨 단일홈게이트웨이를쓴경우보다는빠르며좀더강력한보안정책을실행할수있음 12/42
방화벽의구조 스크린된서브넷게이트웨이 (Screened Subnet Gateway) 13/42
실습 14-1 Astaro 방화벽설치하기 실습환경 설치시스템 : 네트워크카드가두개인시스템 필요프로그램 : Astaro Security Gateway V7.3 14/42
실습 14-1 Astaro 방화벽설치하기 Astaro 설치 1 Astaro는리눅스기반방화벽으로, 다른운영체제와함께설치할수없음. 설치시하드디스크의내용이포맷되므로새로운하드디스크를구해야함. 설치중관리인터페이스를선택하는과정이있는데, 관리자가방화벽에접근하여관리할 IP를설정해주면됨 2 설치가완료되면시디를빼낸뒤리부팅. 리부팅하면일반리눅스처럼로그인해야하는데, 아이디에 root를입력하고패스워드는새로설정함. 패스워드설정후로그인하면리눅스에서사용하는대부분의명령을쓸수있음 Astaro 관리자인터페이스접속 3 원격지에서 Astaro가설치된시스템으로브라우저를통해접속. https://astaro 방화벽주소 :4444 를입력하면 Astaro의초기화면을볼수있음 15/42
실습 14-1 Astaro 방화벽설치하기 4 Astaro 초기설정마법사시작 5 Astaro 처음로그인화면 기본설정마법사실행 6 Astaro 초기설정마법사시작 7 라이선스등록 16/42
실습 14-1 Astaro 방화벽설치하기 8 Astaro 초기설정마법사시작 9 Astaro 처음로그인화면 10 Astaro 초기설정마법사시작 11 라이선스등록 17/42
실습 14-1 Astaro 방화벽설치하기 12 메신저에대한차단설정, 웹트래픽에대한모니터링설정, 이메일에대한모니터링설정을기본대로두고설정완료 13 Astaro 대시보드확인 18/42
실습 14-1 Astaro 방화벽설치하기 외부인터페이스활성화 14 네트워크인터페이스생성 11 15 네트워크인터페이스생성결과확인 16 내부클라이언트가 Astaro를거쳐인터넷이되는지확인 19/42
패킷필터링 Fail Safe 시스템이오류발생등으로정상적으로작동하지않을때사용자나시스템에피해를입히지않는상태로남아있어야한다는의미 시스템이인증시스템등의오류때문에정상적인운용이불가능한상태가됐을때공격자가인증을받지않고접속할수없어야함 이러한상태에있으면합당한사용자도인증시스템의오류때문에정상적인서비스가가능해질때까지시스템을이용할수없음 Safe Failure 안전한실패로, 실패 (Failure) 가일어났을경우안전 (Safe) 해야한다는의미 방화벽 일반적으로 Fail Safe 원칙이적용되며, 명백히허용하지않은서비스에대한거부 를기본원칙으로함 ' 거부를명시하지않은모든서비스에대한허용 을기본원칙으로설정하는경우도있으나방화벽에이원칙을적용하는것은아주예외적인경우로매우위험 20/42
패킷필터링 방화벽에 명백히허용하지않은서비스에대한거부 적용과정 1 허용할서비스를확인한다. 2 제공하고자하는서비스에보안문제는없는지, 그리고허용이타당한지검토 3 서비스가이루어지는형태를확인하고, 어떤규칙 (rule) 을적용할지구체적으로결정 4 방화벽에실제로적용을하고, 적용된규칙을검사 21/42
패킷필터링실습 [ 그림 14-22] 의구조를바탕으로간단한패킷필터링규칙정하기 내부네트워크에는웹서버와메일서버, FTP 서버가있음 22/42
패킷필터링실습 내부클라이언트가외부의웹서버로접근가능하도록설정 1 번규칙 : 내부 (Internal) 에서 80 번포트를목적지로하는외부 (External) 로나가는패킷은허용한다. 2 번규칙 : 방화벽은기본적으로명백히허용하지않은모든패킷은거부하게되어있지만이와같이마지막에명시해주는것이좋다. 왜냐하면방화벽이생각만큼완벽하지않기때문이다. 23/42
패킷필터링실습 외부클라이언트가내부의웹서버와 FTP 서버에접근할수있도록패킷필터링규칙추가 2 번규칙 : 내부와외부에서모두 192.168.1.10 웹서버에접근할수있도록허용한다. 3 번규칙 : FTP 서버에도같은접근을허용한다. 24/42
패킷필터링실습 메일에대한필터링규칙적용 25/42
패킷필터링실습 4 번규칙 : 내부메일서버 (192.168.1.11) 에서외부메일서버 (10.10.10.21) 로가는 SMTP 패킷을허용한다. 5 번규칙 : 내부메일서버에서외부메일서버로의 POP3 접근은금지한다. 6 번규칙 : 내부메일서버에서외부메일서버로의 IMAP 접근은허용한다. 7~9 번규칙 : 외부메일서버에대한내부메일서버의접근에대한규칙을똑같이설정한다. 10 번규칙 : 외부모든시스템에서내부시스템으로메일을보내지못하도록설정한다. 스팸메일을막기위한규칙이다. 26/42
패킷필터링실습 DNS 서버에대한접근규칙추가 11 번규칙 : 내부에서외부로의 DNS 접근을허용한다. 27/42
NAT NAT 시스템은내부네트워크에서사설주소를소유하고있다가외부로접근할때라우팅이가능한외부공인주소를 NAT 규칙에따라할당받아접속할수있음 고갈되는공인주소를효과적으로쓰려는목적도있으나내부시스템의네트워크구조를노출하지않는보안상의이점도제공 구현방법에따라다음네가지로나뉨 Normal NAT( 노말 NAT) Reverse NAT( 리버스 NAT) Redirect NAT( 리다이렉트 NAT) Exclude NAT( 익스클루드 NAT) 28/42
NAT Normal NAT 내부사설 IP 주소를가진클라이언트가외부로접속하고자할때사용 ➊ 클라이언트는내부 ( 사설 ) IP 주소를출발지주소로, 접속하고자하는외부 IP 주소를목적지주소로하는패킷을생성하여방화벽으로보낸다. 이때방화벽은기본게이트웨이처럼동작한다. ➋ 방화벽은 Normal NAT 규칙에따라패킷의출발지주소를미리설정되어있는방화벽 ( 공인 ) IP 주소로바꾸어원격지서버에전송한다. ➌ 원격지서버가방화벽이보낸패킷에대한응답패킷을보낸다. ➍ 방화벽은다시 Normal NAT 규칙에따라목적지주소를처음접속을시도한클라이언트의내부 ( 사설 ) IP 주소로바꾼후, 실제로접속을시도한클라이언트에전송해준다. 29/42
NAT Reverse NAT 내부에서버가존재하는경우에설정 클라이언트는 Normal NAT 를통해원격접속을할수있지만, 서버는처음패킷의시도가원격에서오므로여러내부 IP 주소중어떤곳에서접속해온패킷을보낼지모름 내부네트워크에서작동하는서버에대해서는 Reverse NAT 규칙이존재해야함 'Static Mapping 이라고도하며, 사설 IP 주소하나를공인 IP 주소한개로설정작동순서는 Normal NAT 와유사 30/42
NAT Reverse NAT ➊ 외부클라이언트는공인 IP 주소를출발지주소로, 방화벽지정외부 IP 주소를목적지주소로하는패킷을생성하여방화벽으로보낸다. ➋ 방화벽은 Reverse NAT 규칙에따라패킷의목적지주소를미리설정되어있는내부 ( 사설 ) IP 주소로바꾸어내부서버에전송한다. ➌ 내부서버는이에대한응답을방화벽으로보낸다. ➍ 방화벽은내부 ( 사설 ) IP 주소로되어있는출발지 IP 주소를방화벽지정외부 IP 주소로바꾸어외부클라이언트에전송한다. 31/42
NAT Redirect NAT 목적지주소를재지정할때사용 210.100.100.1 로사용하던서버의주소가 210.100.100.2 로바뀔경우, 210.100.100.1 로접속을시도해온패킷의목적지주 소를 210.100.100.2 로바꾸어줌 Exclude NAT Normal NAT 를적용받지않고방화벽을지나도록설정하는것 방화벽과라우터사이에서버가있는경우와같이특정한목적지에대해서만 Normal NAT 가적용되지않도록설정할수있음 32/42
실습 14-2 Astaro 패킷필터링규칙적용하기 실습환경 [ 실습 14-1] 에서 Astaro Security Gateway V7.3 설치후기본설정을완료한시스템 1 패킷필터링룰셋확인 33/42
실습 14-2 Astaro 패킷필터링규칙적용하기 2 패킷필터링룰셋구성 ➊ Source : 출발지주소나호스트를입력할수있다. 내부시스템이외부의인터넷에서 DNS 정보를접근해야하므로, Internal_Network (192.168.0.1/24) 를입력한다. ➋ Service : 제공하고자하는서비스를선택한다. 잘알려진서비스는 [ 그림 14-19] 에서볼수있듯이이름이이미설정되어있다. DNS(53) 를선택한다. ➌ Destination : 목적지주소다. Web Surfing 은 Any, 즉모든네트워크에허용되어있다. 외부네트워크로한정하려면 WAN(200.200.200.0) 을입력한다. ➍ Action : 1, 2, 3 을만족하는패킷이왔을때이를허용 (Allow) 할지를설정한다. 다른설정으로는 Drop, Reject 가있다. Drop 은기본적으로응답패킷을보내지않은채패킷을버린다. Reject 는막힌서비스임을클라이언트에알려준다. 허용 (Allow) 으로설정한다. 34/42
실습 14-2 Astaro 패킷필터링규칙적용하기 3 패킷필터링룰셋의활성화 4 패킷필터링룰셋의순서조정 35/42
실습 14-3 Astaro 에서 NAT 적용하기 실습환경 [ 실습 14-1] 에서 Astaro Security Gateway V7.3 설치후기본설정을완료한시스템 1 DNAT 설정 ➊ Traffic Source : 패킷의출발지주소는외부네트워크 (WAN(Network)) 로설정한다. ➋ Traffic Service : 방화벽의외부인터페이스로접근해오는패킷중목적지가 80 번포트인패킷에대한 DNAT 를실행하려고하므로, HTTP 를선택한다. ➌ Traffic Destination : 목적지주소는방화벽의외부인터페이스 (WAN(Address)) 로설정한다. ➍ NAT Mode : DNAT, SNAT, Both 세가지중선택할수있다. DNAT 를선택한다. ➎ Destination : 패킷의목적지주소를방화벽의외부인터페이스에서로컬웹서버 IP 주소로바꾼다. ➏ Destination Service : 목적지는 8080 번포트로한다. 36/42
실습 14-3 Astaro 에서 NAT 적용하기 2 Normal NAT 설정과결과 1 ➊ Network : 해당네트워크를내부네트워크 (Internal(Network)) 로정한다. 내부네트워크사용자가외부네트워크에접속할때자신의주소를위장하기위한것이다. ➋ Interface : 인터페이스도외부의 NIC 카드 (WAN) 를지정해야한다. 37/42
실습 14-3 Astaro 에서 NAT 적용하기 Masquerading 흔히, PAT(Port Address Translation) 라고부르는방법 PAT 는 IP 주소와소스포트의조합으로사용됨. 1 개이상의시스템이각각의내부 IP 로외부에접근할때하나의외부 IP 에포트만달리하여연결할수있게해주는것 PAT 에서세션은포트번호로구분되고, 많은세션이한 IP 를통해인터넷에접근가능 NAT 를추가하면룰셋처럼목록으로확인할수있고, 활성화와비활성화여부를선택할수있음 38/42
프록시 프록시 크게회로계층프록시 (Circuit Level Proxy) 와응용계층프록시 (Application Level Proxy) 로나뉨 회로계층프록시가먼저개발됨 응용계층프록시는 HTTP, FTP 등하나의서비스에대한프록시가개별적으로존재 회로계층프록시는 SOCKS 처럼하나의회로를만들뿐실제적인프로토콜분석이가능한것은아님 바이러스같은것을잡아낼수는없음 메일서비스같은경우기본적으로프록시와비슷한성격을띠는서비스 클라이언트가메일을보내면메일서버는이를저장한후다른메일서버로전송해주는데, 메일서버가프록시와마찬가지로서비스의중개자역할을해준다는점에서프록시와아주비슷하게동작 프록시는전송되는데이터의내용을볼수있지만모두읽을수있는것은아님 프로토콜이개발되면이에해당하는프록시는보통한참뒤에개발되므로모든내용을프록시할수는없음 프록시를쓰면몇가지유연한서비스를제외하면클라이언트와서버에조금씩수정을가해야정상적으로인터넷등을사용가능 39/42
실습 14-4 Astaro 프록시설정하기 실습환경 [ 실습 14-1] 에서 Astaro Security Gateway V7.3 설치후기본설정을완료한시스템 1 개별항목프록시설정과결과 40/42
실습 14-4 Astaro 프록시설정하기 2 HTTP 프록시설정항목 3 SMTP 프록시설정항목 41/42
영동대학교스마트 IT 학부 : 컴퓨터와해킹