방화벽
방화벽은 트래픽을 모니터링해 허용하거나 차단하는 경계 방어 툴이다. 시간이 지나면서 방화벽 기능도 다양화되어 현재 대부분의 방화벽은 알려진 위협을 차단하고 고급 접근 제어 목록 정책을 실행할 뿐만 아니라 트래픽의 개별 패킷을 심층 조사하고 패킷을 테스트해 안전성 여부까지 확인할 수 있다.
기능
- 접근 제어(Access Control) : 방화벽의 가장 기본적이고 중요한 기능으로 내부로 들어오는 패킷이나 외부로 나가는 패킷에 대해 허용하거나 차단한다. 구현방법에 따라 패킷 필터링 방시과 프록시 방식으로 나뉜다.
- 주소변환(Network Address Translation) : 내부 네트워크에서 사용하고 있는 사설 IP를 공인 IP로 변환하여 부족한 공인 IP 주소 부족 문제를 해결하는 동시에 내부 네트워크에 대한 보안도 강화할 수 있다
- 인증(Authentication) : 메시지 인증, 사용자 인증, 클라이언트 인증 등과 같은 방법을 사용한다.
- 메시지 인증 : VPN과 같은 신뢰할 수 있는 통신선을 통해 전송되는 메시지의 신뢰성 보장
- 사용자 인증 : 패스워드를 통한 단순한 인증부터 OTP, 토큰 기반 인증등 높은 수준의 인증까지 가능
- 클라이언트 인증 : 모바일 사용자처럼 특수한 경우에 접속을 요구하는 호스트 자체를 정당한 접속 호스트인지 확인하는 방법
- 감사/기록(Auditing/Logging) : 방화벽에 접근하는 모든 패킷에 대해 기록을 유지하여 추후 문제가 발생했을때 확인 할 수 있다. 방화벽은 보안을 높이는데 1차적인 것으로 악의적인 내부 사용자의 공격이나 다양한 패턴의 공격의 방어가 불가능하다. 따라서 보안수준을 높이기 위해서는 IDS/IPS를 비롯하여 웹방화벽 등 다른 보안장비 도입이 필요하다.
구조
1.스크리닝 라우터(Screening router)
스크리닝 라우터는 외부(인터넷)과 내부망의 가운데에서 패킷필터링 규칙을 적용해서 방화벽의 역할을 수행하는 구조
3계층과 4계층에서 IP와 Port에 대해 접근제어를 하는스크리닝 라우터는 매우저렴하게 방화벽의 역할을 수행할순 있지만 세부적인 규칙을 적용하기 어렵고 만약에 접속이 폭주할경우 부하가 걸려 효과적이지 않음.
2. 단일 홈 게이트웨이(Single-Homed Gateway)
접근제어, 프록시, 인증, 로깅 등 방화벽의 기본 기능을 수행
강력한 보안 정책을 실행할 수있지만 방화벽이 손상되면 내부의 공격에대해 무방비 상태가 돼버리고 2계층에서 우회를 통한 공격이 가능
3. 이중 홈 게이트웨이(Dual-Homed Gateway)
네트워크 카드가 두개이상 갖춰져있는 방화벽. 내부, 외부(인터넷)에 대해 각각 운영.
내부에서 외부로 갈려면 반드시 이중 홈 게이트웨이를 지나가야 하므로 좀 더 효율적으로 트래픽을 관리할 수 있음
베스천 호스트라고 함
4. 스크린된 호스트 게이트웨이(Screened Host Gateway)
스크리닝 라우터와 단일 혹은 듀얼 홈 게이트웨이와 조합해서 사용
패킷 필터링으로 1차 방어, 베스천 호스트에서 프록시 등을 통해 2차 방어를 하게 됨
스크리닝 라우터에서 3계층과 4계층에 대해서 접근 제어를 해주고 베스천 호스트에서 7계층에 대한 접근 제어를 하게 되므로 안전함. 그러나 구축비용이 비쌈
5.스크린된 서브넷 게이트웨이(Screened Subnet Gateway)
외부와 내부의 가운데에 DMZ(DeMilitarized Zone)를 위치시켜 완충지대를 구성
방화벽도 DMZ부분에 위치하고 주로 프록시가 설치됨.
다른 방화벽들의 장점을 모두 갖고 있으며 상당히 안전한 편이나 그만큼 설치및 관리가 어렵고 속도도 느려짐. 비용도 가장많이 든다.
단일 홈 게이트웨이보다는 이중 홈 게이트웨이로 구성할경우 서비스속도가 좀더빠르고 보안도 강력함
한계
1. 바이러스를 막을 수 없음
- 방화벽은 패킷의 IP 주소와 포트 번호로 접근 제어를 수행
- 더 높은 수준의 접근 제어가 가능하지만 패킷의 데이터 내용 자체는 검사하지 않음
2. 백도어
- 우회 경로를 통한 백도어 생성과 침입에 대해 방어 불가
3. 내부 사용자의 보안 침해
-악의적인 내부 사용자의 보안 침해는 방어 불가능
4. 침입 알람 기능
-침입 발생 시, 알람 기능 없음, DoS 계열 공격에 취약
SSL: 보안 소켓 계층(Secure Sockets Layer, SSL)
SSL은 웹사이트와 브라우저(혹은, 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결을 보안을 유지하는 표준 기술. 이는 해커가 개인 정보 및 금융 정보를 포함한 전송되는 모든 정보를 열람하거나 훔치는 것을 방지.
TLS: 전송 계층 보안(Transport Layer Security, TLS)
TLS는 가장 최신 기술로 더 강력한 버전의 SSL
SSL이 더 일반적으로 사용되는 용어이므로, 보안 인증서는 SSL이라 불림.
암호
암호기술
평문을 해독 불가능한 형태로 변형시켜 암호문을 생성하여 사용함으로써 네트워크에서의 불법적인 도청을 방지하기 위한 기술
비밀통신(기밀성), 인증(사용자 인증, 메시지 인증), 접근제어(가용성) 기능을 제공
암호시스템
-키생성 : 안전한 키를 생성하는 알고리즘
-암호화 : 암호화키를 이용하여 평문을 해독 불가능한 형태로 변형시켜 암호문을 만드는 알고리즘
-복호화 : 복호화키를 이용하여 암호문으로부터 평문을 복구하는 알고리즘
대칭키
암호화된 문서를 암호화에 사용된 키를 일반에게 공개하지 않고 개인이 비밀로 하여, 이 키를 아는 자만이 볼 수 있도록 하는 알고리즘을 뜻함.
비대칭키 알고리즘에 비해 속도가 빠르다
키 교환를 위해 안전한 매커니즘의 전달방법이 요구
각 쌍의 사용자들마다 유일한 키가 생성되어 다수의 쌍이 존재할 경우 키의 수가 증가되고 이로인해 키관리가 어려워진다.
인증기능이 없다.
암/복호화 키가 동일하다.
대표적 암호알고리즘은 DES, 3DES, AES, IDEA, RC4 등이 존재
비대칭키
대칭키가 가지는 키분배의 문제점을 해결하기 위해 제안 및 사용된 것이 비대칭키(공개키) 암호 알고리즘
키가 공개되어 있기 때문에 따로 분배할 필요가 없다.
암/복호화 키가 다르다.
대표적 암호알고리즘은 소인수분해(RSA, Rabin), 이산대수(Schnorr, KCDSA, Diffie-Hellman, Elgamal), 대수적코딩론(McElice), 타원곡선(ECC) 등이 존재한다
해시함수
데이터의 효율적 관리를 목적으로 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수
이 때 매핑 전 원래 데이터의 값을 키(key), 매핑 후 데이터의 값을 해시값(hash value), 매핑하는 과정 자체가 해싱(hashing)
해시함수는 조작과 변경에 대해서는 검증이 가능하다.
그러나 거짓행세애 대해서는 검증이 불가능하기 때문에 메시지에 대한 인증이 필요
메시지인증코드
무결성을 확인하고 메시지의 인증을 하는 코드
메시지, 비밀키를 입력받아 고정비트 길이의 코드출력
송/수신측은 사전에 비밀키 K를 공유하고 있음을 가정