Chapter 16. IPsec(Internet Protocol Security)
1. IPsec(Internet Protocol Security)
- 안전하지 않은 Network 상의 두 Computer 사이에 암호화된 안전한 통신을 제공하는 Protocol의 모음
- IP Packet 보호와 Network 공격을 방어하기 위해 사용된다.
- Data를 서로 주고받는 Computer에 IPsec을 적용하면 서로 안전하게 Data를 주고받을 수 있다.
- IPsec은 암호화와 Data 서명을 이용해 Network Traffic을 보호한다.
- 모든 Traffic을 IP 계층에서 암호화하거나 무결성을 제공함으로써 상위 계층의 Packet에 대한 보안성을 제공
- IPsec 정책
· Traffic이 어떻게 보호되고 암호화되는지 결정
· IPsec을 사용하는 Device 간에 어떻게 인증이 이뤄지는지를 점검할 Traffic의 종류를 결정
- IPsec의 Algorithm
· 암호화 Algorithm : DES, 3DES
· 무결성 Algorithm : HMAC-SHA-1, HMAC-MD5
- IPsec에서 사용하는 Protocol
· IKE(Internet Key Exchange)
◦ 보안 Parameter 협상 Protocol
· Diffie-Helman
◦ 공유 비밀키(encrypting key) 분배 Protocol
· AH(Authentication Header)
◦ Hash 결과 값을 이용해 Packet의 무결성 제공
· ESP(Encapsulating Security Payload)
◦ Data의 암호화와 Message 인증을 제공
◦ IP header 영역에 대한 무결성은 제공 하지 않음
· AH + ESP
◦ 암호화와 무결성 모두 제공
※ 무결성
› Data 및 Network 보안에 있어서 정보가 인가된 사람에 의해서 만이 접근 또는 변경 가능하다는 확실성을 말한다.
› 무결성 대책은 Network 단말기와 Server의 물리적 환경 통제, Data 접근 억제 등의 엄격한 인가 관행을 유지하는 것을 말한다.
- IPsec의 용도
· Host-to-Host Traffic의 인증 및 암호화
· Server로 보내는 Traffic의 인증 및 암호화
· VPN 연결을 위한 L2TP/IPsec
· Site-to-Site Tunneling
· 안정하고 독립된 Logical Network
2. IPsec 실습
- 보안정책(secpol.msc)을 이용해 IPsec을 구성해 Client 1,2가 서로 주고받는 Packet을 Wireshark로 확인한다.
- 시작하기 이전에 위와 같은 형태로 Routing을 구성해 놓는다.
- 보안정책
· 보안정책 적용은 각 Client에서 적용시키며 이 적용시키는 설정 내용은 In/Outbound의 IP대역 외엔 양쪽의 설정이 다 같아야한다.
· Filter 동작별 Packet의 Protocol
◦ AH로 구성할 시 : ISAKMP
◦ ESP로 구성할 시 : ESP
- 방화벽
· 실행 → wf.msc
· 기존에 해제를 했었던 방화벽을 모두 설정한다.
- ICMPv4 Inbound 규칙 사용
· '파일 및 프린터 공유(에코 요청 - ICMPv4-in)' 규칙 사용
· 정상적으로 규칙이 사용되고 있는지 확인한다.
- 보안 정책 설정
· 실행 → secpol.msc
· 'IP 보안 정책 만들기'를 선택한다.
· '다음'을 선택한다.
· 원하는 정책 이름을 작성한 후 진행한다.
· 기본 값으로 진행한다.
· IP 보안 정책 마법사를 마친다.
- 보안 정책 속성 설정-무결성
· IP 보안 규칙을 추가한다.
· IP Filter 추가 - inbound
◦ '추가'를 선택한다.
◦ '추가 마법사 사용'을 해제하고 이름을 작성한 후 '추가'를 선택한다.
◦ IN 즉, 해당 Computer로 들어오는 것을 말하므로 들어오는 Packet의 원본 주소는 '상대방 주소 대역'이고 받아들이는 대상 주소는 '내 IP 주소'가 된다.
◦ IP는 넓은 폭으로 Subnet으로 설정하며 상대 Client의 대역인 172.16.2. 대역의 24Bit로 구성한다.
◦ Outbound를 따로 생성할 것이기 때문에 '미러됨, 원본과 대상 주소가 정반대되는 패킷 설정'을 해제한다.
◦ 추가한 Filter를 확인 후 '확인'을 선택한다.
◦ 추가한 IP Filter를 Check해 적용시킨다.
· Filter 동작 설정 - 무결성 Algorithm
◦ 새 규칙 속성의 '필터 동작' Tab에서 '추가 마법사 사용'을 해제한 후 '추가'를 선택한다.
◦ 보안 방법을 추가하기위해 '추가'를 선택한다.
◦ '사용자지정'을 선택 후 '설정'을 선택한다.
◦ 무결성만을 설정하기위해 '암호화되지 않은 데이터 및 주소 무결성'을 선택 후 'SHA1'을 선택한다.
◦ '확인'을 선택한다.
◦ 추가한 보안 방법을 확인한다.
◦ Filter 동작의 이름을 지정하기위해 일반 Tab에서 이름을 작성한다.
◦ 생성한 Filter 동작을 Check한다.
· 인증 방법
◦ 기존에 있는 'Kerberos'를 선택하고 편집한다.
◦ 미리 공유한 키를 사용하기위해 '이 문자열 사용(미리 공유한 키)'를 선택 후 문자열을 작성해 설정한다.
◦ 편집한 인증 방법을 확인하고 적용을 선택한다.
· IP Filter 추가 - inbound
◦ Outbound를 새로 추가하기 위해 '추가'를 선택한다.
◦ '추가'를 선택한다.
◦ Outbound Filter의 이름을 작성하고 '추가'를 선택한다.
◦ OUT 즉, 해당 Computer로 내보내는 것을 말하므로 들어오는 Packet의 원본 주소는 '내 IP 주소'이고 받아들이는 대상 주소는 '상대방 주소 대역'이 된다.
◦ IP는 넓은 폭으로 Subnet으로 설정하며 상대 Client의 대역인 172.16.2. 대역의 24Bit로 구성한다.
◦ Outbound를 따로 생성할 것이기 때문에 '미러됨, 원본과 대상 주소가 정반대되는 패킷 설정'을 해제한다.
◦ 생성한 IP Filter를 확인한다.
◦ 생성한 Outbound Filter를 적용한다.
· Filter 동작 생성
◦ 기존에 Inbound 생성 시 생성한 Filter 동작과 설정이 같으므로 적용만 시킨다.
· 인증 방법
◦ 기존에 있는 'Kerberos'를 선택하고 편집한다.
◦ 미리 공유한 키를 사용하기위해 '이 문자열 사용(미리 공유한 키)'를 선택 후 문자열을 작성해 설정한다.
◦ 편집한 인증 방법을 확인하고 적용을 선택한다.
· 규칙 적용
◦ 생성한 IP 보안 규칙의 Check Box에 모두 Check 해준다.
- 보안 정책 할당
· 보안 정책 생성 시 기본 값으로 정책 할당이 해제되어 있다.
· 해당 보안 정책의 Menu의 '할당'을 선택하면 정책 할당 Tab의 '예'로 활성화가 표시된다.
- 활성화 후 Client간 통신
· 양쪽의 Client의 정책을 모두 활성화 후 통신이 잘되는지 Command-line의 ping 명령어로 확인 가능하다.
· Wireshark로 Packet의 Protocol을 확인해보면 무결성의 Protocol인 ISAKMP를 확인할 수 있으며 실제로 Packet의 내용을 살펴보면 'Main mode'의 Packet 내용까지는 확인 가능한 반면에 'Quick Mode'부터의 Packet은 모두 무결성으로 인해 Packet내용이 보호(encryption)되어 있는 것을 확인할 수 있다.
· 'Main Mode'와 'Quick Mode'는 처음 통신 시만 발생하며 이후에는 Protocol이 ICMP인 'Echo' Message만을 주고받는다.
- 보안 정책 설정-암호화 및 무결성
· 기존의 설정 내용에서 Filter 동작만을 추가해 무결성과 암호화를 적용한다.
· Filter 동작의 보안 방법의 '추가'를 선택한다.
· '사용자 지정'을 선택하고 '설정'을 선택한다.
· '무결성 알고리즘'은 SHA1 또는 MD5로 설정하고 '암호화 알고리즘'은 3DES를 선택한다.
· 생성한 보안 방법을 확인한다.
· Filter 동작의 이름을 작성하고 적용한다.
· 적용할 Filter를 선택 후 적용한다.
· 적용할 규칙을 선택 후 보안 정책에 적용한다.
- Wireshark로 무결성 및 암호화 Packet의 통신 Message 확인
· 무결성 및 암호화를 적용하면 'Main Mode', 'Quick Mode' Message이외에 위와 같은 ESP Protocol의 'ESP Message'를 확인할 수 있다.
3. IPsec 실습 2
- Bridge 사이에서는 암호화를 하고 다시 Host-Only 사이에서는 복호화를 진행해 암호화 통신을 한다.
- 실습 1의 경우는 방화벽을 사용하지 않고 암호화 하지만 실습 2의 경우는 방화벽을 사용해 암호화한다.
- Server 2의 인증서 역할 설치
· '역할 추가'를 선택한다.
· '다음'을 선택한다.
· IIS를 이용해 인증서를 배포할 것이기 때문에 'Active Directory 인증서 서비스'와 '웹 서버(IIS)'를 같이 설치한다.
· '다음'을 선택한다.
· '인증기관', '인증 기관 웹 등록'을 선택한다.
· '독립 실행형'을 지정한다.
· '루트'를 지정한다.
· '새 개인 키 만들기'를 지정한다.
· 기본 값으로 진행한다.
· 기본 값으로 진행한다.
· 인증서의 유효 기간을 지정한다.
· '다음'을 선택한다.
· '다음'을 선택한다.
· '응용 프로그램 개발' 항목과 '보안' 항목의 하위 항목을 모두 선택 후 진행한다.
· '설치'를 선택해 진행한다.
· 설치 시작 화면
· 설치 완료 화면
- Server 1에 CA-인증서 설치
· Server 2는 Service를 제공하는 역할이기 때문에 MMC를 통해 확인해보면 CA-인증서가 설치되어 있음을 확인할 수 있다.
· [Server 2 IP]/certsrv를 주소로 Active directory 인증서 Service에 접속한다.
· 'CA 인증서 다운로드'를 선택해 CA인증서를 Download한다.
· 인증서 내보내기를 통해 '인증서(로컬 컴퓨터)'의 '신뢰할 수 있는 루트 인증 기관'에도 CA 인증서를 설치한다.
- Server 1, 2의 방화벽의 '연결 보안 규칙' 추가
· '연결 보안 규칙' Tab의 '새 규칙'을 선택한다.
· Gateway간의 통신 규칙을 위해 '터널'을 선택한다.
· A : Server 1을 기준으로 Server 1의 가장 끝점에 해당하는 Client 1의 IP 대역을 말하며 따라서 172.16.1.0/24을 추가하면 된다.
· B : 끝점인 Client 1과 가까운 IP인 Server 1의 Bridged Interface IP를 말하며 따라서 172.16.0.1을 작성하면 된다.
· C : 끝점인 Client 2과 가까운 IP인 Server 2의 Bridged Interface IP를 말하며 따라서 172.16.0.2을 작성하면 된다.
· D : Server 2을 기준으로 Server 2의 가장 끝점에 해당하는 Client 2의 IP 대역을 말하며 따라서 172.16.2.0/24을 추가하면 된다.
· Server 2의 끝점 설정은 Server 1과 정반대로 설정하면된다.
◦ A : 172.16.2.0/24
◦ B : 172.16.0.2
◦ C : 172.16.0.1
◦ D : 172.16.1.0/24
· '찾아보기'를 통해 CA-인증서를 추가한다.
· '다음'을 선택한다.
· 보안 규칙의 이름을 지정하고 마법사를 마친다.
· 생성한 규칙을 확인한다.
· Client끼리 ping을 확인해보면 IP 보안 협상을 진행하는 Message 한번만 보이며 통신이 정상적으로 이뤄지는 것을 보여준다.
· WireShark를 통해 확인하면 'Main Mode', 'Quick Mode' Message 그리고 'ESP' Message를 확인할 수 있다.
'Windows > Windows 2008' 카테고리의 다른 글
Chapter 17. VPN(Virtual Private Network) (0) | 2015.08.10 |
---|---|
Chapter 15. DHCP(Dynamic Host Configuration Protocol) (0) | 2015.08.10 |
Chapter 14. DNS(Domain Name System) (0) | 2015.08.10 |
Chapter 13. Routing (0) | 2015.08.10 |
Chapter 12. IIS & WSWS (0) | 2015.08.10 |