Ssysjy0302
Quantum Ant
Published in
5 min readSep 8, 2019

--

그림 설명으로 한번에 이해하는 보안의 기본 — 제 6장

(1) 방화벽

방화벽이란 ‘외부의 공격으로부터 방어하는 것’을 목적으로 컴퓨터에 설치하는 소프트웨어나 인터넷에 설치하는 하드웨어의 총칭이다.

방화벽은 네트워크간 통신의 가능 여부를 제어한다. 이때 대상이 되는 통신의 종류는 기본적인 제품의 경우 ‘내부 네트워크’와 ‘외부 네트워크’ 이 두가지 종류이다.

방화벽은 외부 네트워크와 내부 네트워크 간, 혹은 DMZ간 통신을 제어할 수 있으며 대표적인 방화벽으로는 패킷 필터형 방화벽이나 애플리케이션 게이트웨이형 방화벽이 있다.

(2) 웹 애플리케이션 방화벽

웹 애플리케이션 방화벽은 웹 애플리케이션의 통신 제어로 특화된 방화벽이다. 일반 방화벽과의 차이는 ‘룰의 바탕이 되는 정보원’ 에 있다. 일반 방화벽이 TCP/IP 헤더에 포함되는 각종 정보를 바탕으로 룰을 정하는데에 비해, WAF는 웹 프로토콜인 HTTP 포맷을 바탕으로 룰을 정한다.

웹 애플리케이션에 대한 공격은 HTTP 통신의 형태로 해오는데, 공격이 되는 통신에는 전형적인 패턴이있다. 웹 애플리케이션 방화벽은 이러한 공격의 패턴을 ‘NG워드’로서 룰 등록을 함으로써 공격이 웹 서버에 도달하지 않도록 한다.

웹 애플리케이션의 가장 큰 장점은 도입이 쉽다는 점이있고, 단점으로는 룰에 등록되어 있지 않은 공격은 차단할 수 없기 때문에 룰을 계속 갱신해줘야 한다는 것이다.

(3) 프록시 서버

프록시 서버란 기업이나 단체의 내부 네트워크에 설치된 컴퓨터가 인터넷에 엑세스할 때 해당 컴퓨터 대신 인터넷에 액세스 하는 서버이다.

프록시 서버는 IP주소를 효과적으로 활용하기 위해 필요하다.

현재는 인터넷에 연결되는 기기가 급증해서 모든 컴퓨터와 통신 기기에 글로벌 IP주소를 달 수 없는데, 그래서 나온 것이 프록시 서버이다.

프록시 서버는 내부 네트워크의 보안 확보에도 효과적으로 기능한다. 예를들어 프록시 서버의 로그를 확인함으로써 내부 내트워크의 어떤 컴퓨터가 언제 어떤 사이트에 액세스 했는지를 손쉽게 확인할 수 있다. 단점으로는 프록시 서버의 구축 및 운용을 할 인재의 확보가 필요하다는 점이다.

(4) IDS/IPS/UTM

IDS는 침입 감지 시스템, IPS는 침입 방지 시스템, UTM은 통합 위협 관리 의 약자이다. IDS는 공격을 감지한 것을 어떤 방법으로 관리자에게 통지하는 시스템이며, IPS는 감지한 공격통신을 핀 포인트로 차단하는 시스템, UTM은 다양한 기능을 갖춘 통합적 보안 솔루션이다.

일반적인 방화벽이 TCP/IP 헤더의 정보를 보고 통신을 제어하는 데 비해, IDS는 통신에서 주고받는 데이터도 보고 공격을 감지한다. 이러한 공격 감지를 위한 정보를 ‘감지 룰’ 이라고 한다.

(5) VPN

VPN은 인터넷을 비롯한 ‘안전하지 않은 통신망’을 이용하여 여러 네트워크 간에서 안전한 통신을 하기 위한 장치이다.

VPN은 별로 안전하지 않은 통신망을 사용하여 안전한 통신을 실행하기 위해 통신 데이터를 암호화하거나 통신 데이터에 서명을 부여한다.

(6) IPsec

IPsec은 TCP/IP 통신에서 사용하는 IP 패킷 단위의 암호화아 패킷이 변조되지 않았다는 것을 확인하기 위한 프로토콜이다. VPN을 구축할 때 주로 사용한다. IPsec에서는 대부분의 경우 IP패킷 자체를 암호화하고, 암호화된 패킷을 페이로드(전송된 데이터 자체)로 만든 후 IP헤더를 부여하여 통신을 한다.

IPsec 게이트 웨이는 보통의 TCP/IP 통신을 IPsec 통신으로 변환하거나 IPsec 통신을 보통의 TCP/IP 통신으로 변환하기 위한 장치이다. 암호화를 하기위해 공통키 암호방식을 사용하고, 암호화 된 패킷은 인증키에 의해 해시 값이 계산되어 패킷의 변조에 대비한다.

(7) PPTP와 SSTP

PPTP와 SSTP는 둘다 마이크로소프트가 개발한 VPN프로토콜이다.

PPTP는 옛날부터 널리 이용되어 왔지만, PPTP에 채택되어 있는 RC4는 암호 강도가 약하기 때문에 통신 내용이 해독될 위험이 있다.

SSTP는 SSL/TLS를 사용하여 암호 통신을 하므로 강한 암호 알고리즘을 채택할 수 있으며, PPTP 만큼 네트워크 구성의 제약이 엄격하지 않다. 단, SSTP에는 인증을 필요로 하는 프록시 서버를 경유하여 VPN 연결을 하는 기능이 없다.

(8) SSH

SSH는 안전한 원격 로그인을 구현하기 위해 사용되는 기술이다.

SSH는 크게 ‘키 교환’ , ‘호스트 확인’, ‘사용자 인증’, ‘통신 데이터의 암호화’ 라는 4개의 단계를 구현하는 프로토콜로, 최신 버전은 VERSION 2 이다. SSH의 구축에서 주로 사용되는 것은 OPENSSH, PUTTY, TERATERM PRO 등이 있다.

SSH로 로그인을 할 때의 인증 방법에는 ‘비밀번호 인증’과 ‘공개키 인증’ 이 있다. 비밀번호 인증은 원격 로그인 시의 사용자 인증에 비밀번호를 이용하는 바법이다. 공개키 인증에서는 사전에 ‘비밀키’와 ‘공개키’를 마련해야 하는등 수고가 들지만, 비밀키를 갖고있는 사람만 로그인 할 수 있다.

(9) Telnet

Telnet은 SSH가 보급되기 전에 이용되던 것으로, 예전의 원격 로그인을 위한 프로토콜이다.

Telnet을 사용하지 않게 된 가장 큰 이유는 telnet 통신의 낮은 안정성 때문이다. Telnet 에서는 보통 데이터를 암호화하지 않고 평문으로 송수신하기 때문에 패킷 캡처 등에 통신 내용을 도난당할 위험이 있다.

현재 Telnet 은 서버 소프트웨어의 동작 확인용 툴로 이용되고 있다.

--

--