Study/Network

CISCO NETWORK 수업 자료 및 정리 [보안-네트워크,스위치,라우터,IPSEC,DHCP,VPN,AAA,BGP,IPv6]

imaginefuture-1 2024. 11. 13. 17:55


itkorea 인천 아카데미 cisco network 수업 자료 및 정리

 

2024-09-22 ~2024-11-10까지.

 

매주 일요일마다 9-6. 두달 과정.


 

 

7-8회차 자료 [보안-네트워크,스위치,라우터,IPSEC,DHCP,VPN,AAA] 

 

 

>> 정보보안 3대요소 
     1) 비밀성(Confidentiality) - 허가 또는 인증 받은 사용자가 데이터를 이용할 수 있음. 암호화
     2) 무결성(Integrity) - 원본 데이터와 복사본 데이터가 일치함. Hash함수(md5,sha)
     3) 가용성(Availibilty) - 허가 또는 인증받은 사용자, 또는 공개 서버라면 일반사용자가 접근해서
                                   자원을 사용하고자 할 때 언제라도 사용이 가능해야함. 
                                   이중화(이더채널,VLAN별 STP,라우팅,FHRP,L4/L7 로드밸런싱),HA(High Availibility)                  


- 암호화(encryption) : 평문 데이터를 암호알고리즘을 통과시켜 내용을 알 수 없도록 만드는 기법
                            암호화하기 위해 암호화 키가 필요함.  => 비밀성,기밀성(confidentiality)

> 암호화 방식 :  
  1) 대칭키 : 암복호화시 사용되는 키가 동일함.
                장점은 동일한 키를 사용함으로써 속도 빠름.
                단점은 키를 교환할 때 노출될 위험이 있음.

                알고리즘으로는 DES, 3DES, AES 등이 있음.
                사용자 데이터를 암호화하여 통신하는데 사용됨.
 
  2) 공개키 : 암복호화시 서로 다른 키를 사용함.(개인키/공개키)
                장점은 키교환을 하지 않기 때문에 노출될 위험이 없음.(대칭의 단점을 보완)
                단점은 복호화 속도가 느림.

                알고리즘으로는 RSA, DSA, EC2 등이 있음.
               속도가 느리므로 사용자 인증에 사용됨.

- 해시알고리즘 : Hash는 단방향 암호 알고리즘임.  즉 해시 알고리즘을 통과시키면 일정한 크기의
                     값으로 변환됨.  같은 데이터에 같은 해시 알고리즘을 적용해도 항상 같은 값이 나옴. 
                     네트워크로 전달받은 데이터가 변조가 되지 않았음을 보증하기 위해 사용됨.
                     변환된 값으로 원본데이터로 복원할 수 없음.(단방향,일방향) 
                     알고리즘으로는 MD5,  SHA 등이 있음.     => 무결성(integrity)


>> 네트워크 보안 
      1) 스위치보안(포트보안,STP보안)
      2) 라우터보안(PPP인증, 라우팅 메시지 인증, passive-interface)
      3) DHCP보안(DHCP Snooping, DAI)
      4) 암호화통신(Site-to-Site IPSec, GRE IPSec)
      5) 장비보안 설정(라우터,스위치 접근 보안) : AAA인증(RADIUS, TACACS+)

 

>> 스위치 보안 

1. 스위치 포트보안 : 

  1) Access 계층 스위치의 단말이 연결되는 포트에 설정하는 보안. 가장 기본적인 Endpoint 보안
     MAC주소를 이용해서 허가된 단말만 포트를 사용할 수 있도록 설정.
    포트를 사용할 수 있는 MAC주소 개수를 지정.
    위반시 동작으로는 shutdown, protect, restrict
                    
  2) 802.1X 인증 - RADIUS서버(AAA서버)를 이용해서 인증된 사용자만 스위치 포트를 사용할 수 있도록 하는 기능

2. STP보안  
    BPDU Guard  - access포트에 bpdu가 수신되면 포트를 비활성화하는 기능.
    BPDU Filter - access포트로 bpdu가 전송되는 것을 차단하는 기능.
    Root Guard  - 스위치 네트워크에서 Root Bridge가 변경되는 것을 방지하는 기능.
    Loop Guard  - 현재 BLK상태인 포트가 비정상적인 상황에서 FWD으로 변경돼서 루프가
                        발생되는 상황을 방지하는 기능.
    UDLD(UniDirectional Link Detection) 
                      - 광케이블의 물리적인 손상을 체크해서 루프가 발생하지 않게 하는 기능
                      - UDLD aggressive는 UTP에 설정해서 체크.
              

1) BPDU Guard  : 전역설정과 인터페이스에서 설정 가능
                 전역설정에서는 portfast가 설정된 포트에 전부 BPDU GUARD 설정
                 (spanning-tree portfast bpduguard default)

                 인터페이스 설정( spanning-tree bpduguard enable)


2) Root Guard : 인터페이스에서 설정
                spanning-tree guard root


3) BPDU Filter : 인터페이스에서 설정
                 spanning-tree bpdufilter enable
 
                 bpdufilter가 설정된 포트에 bpdu가 수신되면 bpdufilter가 해제됨.

4) Loop Guard  : 인터페이스에서 설정
                 spanning-tree guard loop 

                 전역설정모드에서 설정
                 spanning-tree guard loop default

5) UDLD :  인터페이스에서 설정
                 udld port             => 광케이블

                 udld port aggressive  => UTP 케이블



> BPDU Guard에 의해서 비활성화된 포트는  err-disabled 상태에 놓임.
   err-disabled 상태의 포트는 no shutdown으로 활성화 되지 않음.
   bpdu가 수신되지 않도록 하고, shutdown -> no shutdown 명령을 수행함. 
   포트보안 shutdown도 마찬가지로 활성화 시킬 수 있다.


>> 라우터 보안

- PPP인증 : Serial 인터페이스에 encapsulation을 ppp로 사용할 경우 ppp 인증을 이용할 수 있음.
            ppp 인증에는 pap(암호화 X)과 chap(암호화 0) 사용됨.
         

- 라우팅 메시지 보안 :  RIPv2 - key chain 이용. 평문과 암호문(md5) 사용 가능. Neighbor 인증.

                       OSPF  - key chain 사용하지 않음. 평문과 암호문(md5) 사용 가능. Area인증과 Neighbor 인증이 있음.
                               Area 0(Backbone Area)에 Area 인증이 설정되고 Virtual-link가 사용될 경우는 Virtual-link에도
                               인증을 활성화 해야함.

                       BGP  -  key chain 사용하지 않음. Peer 간에 암호문(md5) 인증.

- passive-interface : 동적 라우팅 프로토콜이 동작할 때 장비의 인터페이스 중에 라우팅 메시지(RIP)나 헬로메시지(OSPF,EIGRP)
                      전송이 불필요한 인터페이스로의 전송을 차단하는 기능.
                      불필요한 트래픽을 줄임과 동시에 해당 메시지를 악용하는 것을 방지할 수 있음.

 

<IPSec VPN>

1. IKE 제1단계 정책 - ISAKMP 정책

상대에 대한 인증 작업, 보안정책 협상(SA) 내용을 보호하기 위해 
패킷의 암호화 및 무결성 확인 방식등을 지정.

                                 기본값           사용가능한 값
암호화 알고리즘            DES              DES, 3DES, AES
무결성 알고리즘            SHA              MD5, SHA
인증방식                    RSA-SIG          Pre-Share, RSA-SIG, RSA-ENCR
대칭키 생성 알고리즘  DH group 1      Diffie-Hellman group 1, 2, 5             
보안정책 수명              86400            60 - 86400초

<R1 설정>

crypto isakmp policy 10
encryption aes
authentication pre-share
group 2
exit

sh crypto isakmp policy

crypto isakmp key cisco address 2.2.23.2

pfs(perfect forward secracy) : 2단계에서 사용할 대칭키를 다시 교환하는 기능.

2. IKE 제2단계 정책 - IPSec SA

IPSec 패킷의 encapsulation방식(ESP,AH), 암호화 알고리즘, 무결성확인 알고리즘, 보호대상 트래픽 등

보호대상 네트워크

ip access-list extended R1R2
permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255


보안 알고리즘

crypto ipsec transform-set r1-policy esp-aes esp-md5-hmac

sh crypto ipsec transform-set


크립토 맵 만들기

crypto map vpn 10 ipsec-isakmp
match address R1R2
set peer 2.2.23.2
set transform-set r1-policy
exit


크립토 맵 인터페이스에 적용하기

int s1/0 
crypto map vpn


R1# sh crypto isakmp peers

R1# sh crypto isakmp sa

R1# sh crypto ipsec sa

R1# sh crypto session detail

R1# sh crypto engine connections active

IPSec 세션 끊기

clear crypto session remote x.x.x.x

debug crypto isakmp


R2)
1. ISAKMP
crypto isakmp policy 10
encryption aes
hash md5
authentication pre-share
group 2

crypto isakmp key cisco address 2.2.12.1

2. IPSec
ip access-list extended R2R1
permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255

crypto ipsec transform-set r2-policy esp-aes esp-md5-hmac

3. crypto map 생성

crypto map r2vpn 10 ipsec-isakmp
match address R2R1
set peer 2.2.12.1
set transform-set r2-policy

4. 적용
int s1/1
crypto map r2vpn



- NAT 제외

R1)
ip access-list extended nat-acl
deny ip 172.16.10.0 0.0.0.255 172.16.30.0 0.0.0.255
deny ip 172.16.10.0 0.0.0.255 172.16.20.0 0.0.0.255
permit ip 172.16.10.0 0.0.0.255 any

ip nat inside source list nat-acl int s1/0

R3)
ip access-list extended nat-acl
deny ip 172.16.20.0 0.0.0.255 172.16.10.0 0.0.0.255
permit ip 172.16.20.0 0.0.0.255 any

ip nat inside source list nat-acl int s1/1

R4)
ip access-list extended nat-acl
deny ip 172.16.30.0 0.0.0.255 172.16.10.0 0.0.0.255
permit ip 172.16.30.0 0.0.0.255 any

ip nat inside source list nat-acl int s1/2



R3)
1. ISAKMP- 1단계
crypto isakmp policy 10
encryption aes
hash md5
authentication pre-share
group 2

crypto isakmp key cisco address 2.2.12.1

2. IPSec
ip access-list extended R3R1
permit ip 172.16.20.0 0.0.0.255 172.16.10.0 0.0.0.255

crypto ipsec transform-set r3-policy esp-3des esp-sha-hmac

3. crypto map 생성

crypto map r3vpn 10 ipsec-isakmp
match address R3R1
set peer 2.2.12.1
set transform-set r3-policy

4. 적용
int s1/1
crypto map r3vpn

 


- PKI(Public Key Infrastructure) 
디지털 인증서 사용을 위한 기반구조로써 디지털 인증서의 생성, 관리, 배포, 사용, 저장 및 해제를 위하여 
필요한 하드웨어,소프트웨어, 정책 및 절차를 총칭하는 용어이다.

즉, 공개키를 이용하여 송수신 데이터를 암호화하고 디지털 인증서를 통해 사용자를 인증하는 시스템으로, 
공개키 암호 알고리즘을 안전하게 사용하기 위해 필요한 서비스를 제공하는 기반 구조이다.



- 디지털 인증서
인증기관(CA, certificate authority)이 소유자의 신분과 그의 공개키 정보를 보증하기 위해 발급하는 전자문서이다.
CA는 사용자의 공개키 인증서를 전자서명함으로써, 사용자 인증서가 진짜라는 것과 내용이 변조되지 않았다는 것을 보증한다.



1.NTP 설정

CA_NTP>

CA_NTP# clock set 14:10:00 july 18 2018
CA_NTP# conf t
CA_NTP(config)# ntp master


R2와 R6에서

ntp server 2.2.37.7

시간 동기화 확인

sh ntp status



2. 디지털 인증서 서버 설정

CA를 디지털 인증서 서버로 동작

ip http server

crypto pki server CA1
issuer-name CN=CertServer, L=Seoul, C=KR
grant auto
no sh

RSA 개인키를 보호할 패스워드를 요구하며 7자리 이상의 패스워드 지정


참고) X.500 포맷

C=country
CN=common name :CA 이름
E=email
L=locality CA의 위치
O=organization :회사명
OU=organizational unit : CA내의 부서명
ST=state  : CA의 시도 또는 주 정보


- 인증서 서버 확인
 
  show crypto pki server

- CA 상태 확인
  
  show crypto pki trustpoints status

- 인증서 정보 확인

  show crypto pki certificates



3. 공개키/개인키 생성

- RSA 키 생성

  도메인 이름 지정 후, 키 생성

  ip domain-name koreait.com
  crypto key generate rsa general-keys modulus 1024

- 공개키 확인
  
  show crypto key mypubkey rsa

  wr 로 저장


4. CA 인증서 다운로드 및 인증

  CA와 사용자 사이에 인증서를 등록하고 CRL(certificate revocation list)를 요청할 때 
  SCEP(simple certificate enrollment protocol)을 사용. 
  SCEP는 인증서 등록시에는 http를 사용하고, CRL확인시에는 http나 ldap을 이용.


R1>
- CA 지정 
  
  crypto pki trustpoint CA
  enrollment url http://3.3.3.100
  subject-name cn=R5, l=Daegu, c=KR
  exit

- CA 인증서 다운 및 인증

  crypto pki authenticate CA

- 라우터 인증서 요청

  crypto pki enroll CA

<인증서 발급 과정>
1.R1에  CA정보 등록 
2.CA정보를 이용해 CA의 인증서 요청후 수신(CA의 공개키를 가지고 있음)
3.R1이 자신의 개인키/공개키를 생성하고 공개키를 CA에게 전송. 이때 CA의 공개키로 암호화해서 전송.
4.CA는 R1이 보낸 R1의 공개키를 확인하기 위해 자신의 개인키로 복호화함.
5.CA는 R1의 공개키를 보증하는 인증서를 생성하고 R1에게 인증서를 전송함. 이때 자신의 개인키로 암호화해서 전송(R1은 CA의 공개키로 복호화가능)
6.R1은 수신된 인증서를 저장.
  
  요청 후 승인되면 인증서가 만들어지고 자동으로 라우터로 다운로드 된다.

- 인증서 정보 확인
  
  show crypto pki certificates verbose

동일한 방법으로 R2도 등록을 한다.

crypto pki trustpoint CA1
enrollment url http://1.1.34.3
subject-name cn=R2, l=Busan, c=KR
exit


5. 각 라우터에 인증서가 등록이 되면, 인증서를 이용하여 VPN 피어 인증이 가능하다.
   
   IPSec VTI를 이용한 터널 구성 => 즉, 터널 자체를 IPSec으로 보호함.

-R2

  crypto isakmp policy 10
  authentication rsa-sig         => 디지털 인증서를 사용하여 상대방 인증.
  encryption aes
  exit

  crypto ipsec transform-set ts esp-aes esp-sha-hmac
  exit

  crypto ipsec profile vti-profile     => 터널 인터페이스에 적용할 프로파일 생성.
  set transform-set ts
  exit

  int tunnel 26
  ip add 10.1.26.2 255.255.255.0
  tunnel source 1.1.24.2
  tunnel destination 1.1.56.6
  tunnel mode ipsec ipv4
  tunnel protection ipsec profile vti-profile         => 터널에 프로파일 적용.
  exit


-R6

  crypto isakmp policy 10
  authentication rsa-sig
  encryption aes
  exit

  crypto ipsec transform-set ts esp-aes esp-sha-hmac
  exit

  crypto ipsec profile vti-profile
  set transform-set ts
  exit

  int tunnel 26
  ip add 10.1.26.6 255.255.255.0
  tunnel source 1.1.56.6
  tunnel destination 1.1.24.2
  tunnel mode ipsec ipv4
  tunnel protection ipsec profile vti-profile
  exit


설정확인

sh crypto isakmp policy

sh crypto isakmp sa

sh crypto key pubkey-chain rsa  => 모든 공개키 확인.
 
   

IPsec VPN with NAT설정

 

R1)

conf t
int s1/0
ip add 3.3.12.1 255.255.255.0
no sh

int f0/0
ip add 10.1.1.254 255.255.255.0
no sh

ip route 0.0.0.0 0.0.0.0 s1/0 3.3.12.2

crypto isakmp policy 10
encr aes
hash sha
group 5
auth pre-share

crypto isakmp key cisco123 address 3.3.23.3

crypto ipsec transform-set r1-ts esp-3des esp-md5-hmac

ip access-list extended r1vpn-acl
permit ip 10.1.1.0 0.0.0.255 10.1.3.0 0.0.0.255

crypto map r1vpn 10 ipsec-isakmp
set peer 3.3.23.3
set transform-set r1-ts
match address r1vpn-acl

int s1/0
crypto map r1vpn


R2)
conf t
int s1/0
ip add 3.3.12.2 255.255.255.0
no sh

int s1/1
ip add 3.3.23.2 255.255.255.0
no sh


R3)

conf t
int s1/1
ip add 3.3.23.3 255.255.255.0
no sh

int f0/0
ip add 10.1.3.254 255.255.255.0
no sh

ip route 0.0.0.0 0.0.0.0 s1/1 3.3.23.2

crypto isakmp policy 10
encr aes
hash sha
group 5
auth pre-share

crypto isakmp key cisco123 address 3.3.12.1

crypto ipsec transform-set r3-ts esp-3des esp-md5-hmac

ip access-list extended r3vpn-acl
permit ip 10.1.3.0 0.0.0.255 10.1.1.0 0.0.0.255

crypto map r3vpn 10 ipsec-isakmp
set peer 3.3.12.1
set transform-set r3-ts
match address r3vpn-acl

int s1/1
crypto map r3vpn


PC1>
ip 10.1.1.10 10.1.1.254

PC2>
ip 10.1.3.30 10.1.3.254


- NAT설정

R1)
access-list 101 deny ip 10.1.1.0 0.0.0.255 10.1.3.0 0.0.0.255
access-list 101 permit ip 10.1.1.0 0.0.0.255 any

ip nat inside source list 101 int s1/0

int s1/0
ip nat outside

int f0/0
ip nat inside


R3)
access-list 103 deny ip  10.1.3.0 0.0.0.255 10.1.1.0 0.0.0.255 => 해당 트래픽 NAT제외
access-list 103 permit ip 10.1.3.0 0.0.0.255 any

ip nat inside source list 103 int s1/1

int s1/1
ip nat outside

int f0/0
ip nat inside


GRE_IPsec VPN 설정


R1)

int tun 1
ip add 172.16.14.1 255.255.255.0
tunnel source 3.3.12.1
tunnel destination 3.3.24.4


router eigrp 100
net 10.1.1.0 0.0.0.255
net 172.16.14.0 0.0.0.255
no auto-summary

R2)
int s1/2
ip add 3.3.24.2 255.255.255.0
no sh


R4)
int s1/2
ip add 3.3.24.4 255.255.255.0
no sh

int f0/0
ip add 10.1.4.254 255.255.255.0
no sh

ip route 0.0.0.0 0.0.0.0 s1/2 3.3.24.2

int tun 4
ip add 172.16.14.4 255.255.255.0
tunnel source 3.3.24.4
tunnel destination 3.3.12.1


router eigrp 100
net 10.1.4.0 0.0.0.255
net 172.16.14.0 0.0.0.255
no auto-summary

- GRE IPSec => 터널 자체 보호
R1)
crypto isakmp policy 20
encr 3des
hash sha
authen pre-share
group 2

crypto isakmp key cisco address 3.3.24.4

crypto ipsec transform-set r1r4-ts esp-aes esp-sha-hmac

crypto ipsec profile IPSEC_GRE
set transform-set r1r4-ts

int tun 1
tunnel protection ipsec profile IPSEC_GRE

R4)
crypto isakmp policy 10
encr 3des
hash sha
authen pre-share
group 2

crypto isakmp key cisco address 3.3.12.1

crypto ipsec transform-set r4r1-ts esp-aes esp-sha-hmac

crypto ipsec profile IPSEC_GRE
set transform-set r4r1-ts

int tun 4
tunnel protection ipsec profile IPSEC_GRE



<Easy VPN> Remote VPN

외부에서 PC나 모바일 단말 등이 IPSec VPN을 이용하여 본사의 네트워크에 접속할 수 있도록 하는 VPN.
본사에서는 VPN서버를 설정하고, 원격지에서는 VPN클라이언트 프로그램을 설치하거나 라우터에 Easy VPN 클라이언트를 설정하여 접속한다.

- 구성요소

  Easy VPN Server(EVS)
  Easy VPN Client(EVC)

  ISAKMP/IKE : 동적인 ISAKMP/IKE만 지원, 수동설정은 지원안됨.
  암호화 알고리즘: 3DES, AES
  인증방식 : PSK와 RSA 시그니처(인증서방식)를 지원.
  해시 알고리즘 : MD5와 SHA
  Diffie-Hellman group : 2, 5
  encapsulation : ESP 

- Easy VPN의 특징
  > 정책할당 : EVS가 미리 설정된 IP주소, DNS주소, 도메인 이름, 필터링 정책,스플릿 터널링 등을 
               EVC에게 할당할 수 있음. 
             스플릿 터널링(Split tunneling)이란 본사로 가는 트래픽은 IPSec을 적용하고, 
              인터넷으로 가는 트래픽은 적용하지 않는 것을 말함.

  > 그룹과 이용자 정책 : 그룹과 이용자 별로 다른 정책을 구현할 수 있음.

  > XAUTH 인증(1.5단계) : Easy VPN은 장비 인증과 이용자 인증을 지원. 장비 인증을 위한 preshared key나 
                 RSA 시그니처 방식 외에 XAUTH(extended authentication)라는 인증을 수행할 수 
                 있음. 이 방식은 이용자명과 패스워드를 사용하는 것임. 
                 따라서, 인증용 키외에 사용자 인증이라는 추가적인 보안대책을 가질 수 있다.

  > DPD(dead peer detection) : EVS나 EVC가 상대 장비의 문제를 감지할 수 있도록 하는 기능. 
                               문제가 감지되면 해당 접속 정보를 제거함.

  > 스플릿 DNS : 본사와 통신시에는 EVS에서 할당한 DNS 서버를 이용하고, 인터넷 이용시에는 
                 인터넷에서 할당한 DNS 서버를 이용하는 것을 말함.


- Easy VPN 동작 방식

  1) EVC가 EVS에게 IPSec 접속을 시작
  2) EVC가 EVS에게 자신의 IKE 제1단계 정책 전송
  3) EVS가 일치되는 정책을 찾아 관리용 접속을 만듦.
  4) EVS가 XAUTH 기능 수행(1.5단계)
  5) IKE 모드 설정 기능을 이용해 EVS가 EVC에게 정책 전송
  6) EVS는 EVC와 라우팅을 할 수 있도록 RRI(Reverse Route Injection) 기능을 이용.
  7) EVS와 EVC가 IPSec SA를 공유(2단계)

  라우터나 ASA등이 EVC 역할을 할 때 클라이언트 모드와 네트워크 모드가 사용됨.
  클라이언트 모드에서는 EVC가 EVS로부터 할당받은 주소를 이용하여 PAT를 수행한다. 
  네트워크 모드에서는 EVC 내부 장비들의 IP주소를 그대로 사용한다. 네트워크모드에서는 EVC가 내부의
  주소를 EVS에게 알려준다. 네트워크 모드를 사용하면 EVS에서 EVC 내부 장비로 먼저 연결할 수 있다.


< 테스트 네트워크 구축 >

1. EVS 설정

1) EVS 인증과 이용자 인증을 위한 AAA(Authentication: 인증 Authorization: 권한 Accounting: 감사) 설정
2) 원격 접속 이용자를 위한 그룹 및 정책 정의
3) ISAKMP SA를 정의
4) 동적 크립토 맵 생성
5) 정적 크립토 맵을 생성하고, 동적 크립토 맵 참조
6) 크립토 맵 적용

> R1을 EVS로 구성. 

 - AAA관련 설정 : AAA서버를 이용하거나 로컬 데이터베이스를 이용. 인증과 인가 방식의 이름을                   
   default로 하면 모든 사용자에게 적용되므로, 임의의 적당한 이름을 사용.

  aaa new-model
  aaa authentication login vpn-user local
  aaa authorization network vpn-user local
  username user1 secret cisco123
  
 - ISAKMP 정책 설정

  crypto isakmp policy 10
  encryption aes
  authentication pre-share
  group 2
 

 - IP 주소 풀 설정
  
   ip local pool vpn-address 172.16.4.201 172.16.4.210


 - Split tunnel 네트워크 지정
   
   ip access-list extended vpn-acl
   permit ip 172.16.4.0 0.0.0.255 any

 - 그룹 및 그룹 정책 설정

   crypto isakmp client configuration group vpn-group
   acl vpn-acl       => 스플릿 터널 네트워크 지정
   key cisco
   dns 8.8.8.8
   domain gdn14.com
   pool vpn-address


 - transform-set 설정
  
   crypto ipsec transform-set r4-ts esp-aes esp-sha-hmac
   
 - 동적 크립토 맵 설정
   
   crypto dynamic-map dmap 10
   set transform-set evs-ts
   reverse-route remote-peer
   
 - 정적 크립토 맵 설정

   crypto map vpn client authentication list vpn-user
   crypto map vpn client configuration address respond  
   crypto map vpn isakmp authorization list vpn-user

   crypto map vpn 10 ipsec-isakmp dynamic dmap

 - 크립토 맵 적용
   int s1/2
   crypto map vpn


2. EVC 설정(라우터)

 - R3에 EVC 설정을 한다.

  crypto ipsec client ezvpn EVC
  connect auto
  group vpn-group key cisco
  mode network-extension
  peer 2.2.12.2


 - EVC 활성화

  int f0/0
  crypto ipsec client ezvpn EVC outside

  int f0/1
  crypto ipsec client ezvpn EVC inside


 - 사용자 인증하기

  # crypto ipsec client ezvpn xauth 입력
  username:
  password: 


3. Easy VPN 동작 확인하기

  R4# sh crypto ipsec client ezvpn

  R4# sh crypto isakmp sa

  R2# sh ip route

  R1# sh ip route ospf

  R1# ping 10.1.45.5

  R2# sh crypto session detail

  R2# sh crypto map

  R2# sh crypto ipsec sa



4. Easy VPN 클라이언트 모드

   crypto ipsec client ezvpn EVC
   mode client

   사용자 재인증.

   루프백 활성화되고, 라우팅테이블에 인스톨 됨.

   지사 내부라우터 R5에서 본사 내부 라우터로 telnet 시도.

   본사에서는 지사의 IP주소로 통신을 먼저 시작할 수 없고,

   임시로 할당받은 주소로는 통신이 가능하다.


<클라이언트 프로그램을 이용한 Remote VPN>

Cisco Anyconnect,  OpenVPN 등 클라이언트 프로그램을 PC또는 스마트폰에 설치 후 접속.  



<DHCP서버(서비스)에 대한 공격>

1. DHCP Starvation(Pool 고갈 공격) : DHCP서비스의 특성을 이용한 공격으로 Discover메시지내에
                                    Client HW주소 즉, MAC주소를 변경하여 전송함으로써 
                                    DHCP서버가 다른 클라이언트의 요청으로 판단하고 IP를 
                                    할당한다. 지속적인 이러한 Discover 메시지에 의해 DHCP서버는
                                    Pool의 모든 IP를 할당하게 되고, 정상적인 클라이언트의 요청에
                                    서비스를 할 수 없게 된다.

2. Rogue DHCP서버 : DHCP서비스는 브로드캐스트를 이용하여 동일 네트워크의 모든 호스트가 수신이 
                    가능하다. 따라서 악의적으로 잘못된 정보를 가진 DHCP서버를 구성하고 이 서버가
                   클라이언트의 요청에 응답을 하게 되면 클라이언트는 잘못된 IP관련 정보가 설정된다.
                   예를 들어, Gateway를 공격자의 IP주소로 설정하면 해당 클라이언트의 트래픽을 
                   스니핑(훔쳐보기)할 수 있고, 의도적으로 DNS서버 IP주소를 부여하면 클라이언트의
                   DNS query에 조작된 서버 IP주소로 응답해서 원치않는 서버에 접속하도록 할 수 있다.

<DHCP서버(서비스)에 대한 공격 방어>

- DHCP snooping : 스위치에서 DHCP 메시지를 검사해서 할당된 정보를 Database화(dhcp binding table)해서 유지한다.
              또한 인터페이스를 trust 와 untrust 구분해서 untrust에서 수신되는 DHCP서버 메시지(Offer,Ack)는 차단한다. 

sniffing : 킁킁거리고 냄새맡다. 엿본다. 안좋은 의미로 사용됨.

snooping : 기웃거리다. 염탐하다.        관리적인 의미로 사용됨. 


- dhcp snooping 설정

SW1)

ip dhcp snooping             => 스위치에 스누핑 기능 활성화

ip dhcp snooping vlan 10     => VLAN에 스누핑 동작

no ip dhcp snooping information option  => option 82 : 스위치의 포트번호 정보까지 DHCP서버로 전송하는 기능
                                                       서버가 지원하지 않으면 비활성화해야함.

int po1
ip dhcp snooping trust 

DHCP Snooping 설정 후에 DHCP Client가 자동할당 받으면 해당 내용이 binding table에 저장됨.

sh ip dhcp snooping binding


- 동작 : dhcp snooping 기능이 활성화되면 스위치는 dhcp client가 할당받은 내용을 dhcp snooping binding 테이블에 저장.
         즉, CHADDR = Client MAC주소, 할당한 IP주소, VLAN정보, 인터페이스정보를 저장한다.
         이 후 같은 포트로 CHADDR이 다른 Discover 메시지가 수신되면 이를 차단하고 서버로 보내지 않음.
         따라서, 이 같은 동작으로 DHCP Starvation 공격을 방어할 수 있다.

         또한, Discover 메시지를 untrust 포트로 전송하지 않음으로써 Rogue DHCP서버를 이용한 공격도 방어할 수 있음.
 

<DAI(Dynamic Arp Inspection)>
DHCP Snooping기능이 활성화된 상태에서 ARP Spoofing 공격을 방어하는 보안 기능.
arp 트래픽을 검사해서 snooping binding table의 정보와 일치하는 경우만 포트에서 허용하고
일치하지 않으면 허용하지 않고, 위반메시지를 출력한다. 

<DAI 설정>

1. DHCP Snooping 활성화
   ip dhcp snooping
   ip dhcp snooping vlan 10
   no ip dhcp snooping information option

   int po 1  => DHCP 서버가 있는 쪽 포트
   ip dhcp snooping trust

2. DAI 활성화
   ip arp inspection vlan 10

3. 인터페이스 trust 설정
   int po 1
   ip arp inspection trust

- DAI 설정 후, 고정 IP가 필요한 시스템이 있는 경우 해당 시스템은
  DAI적용에서 제외를 해야한다. 이 경우 ARP ACL이 사용된다.

  arp access-list SW1
  permit ip host 192.168.10.100 mac host 0000.0000.0001

  ip arp inspection filter SW1 vlan 10



- AAA(Authentication Authorization Accounting) 서비스

AAA서비스는 인증, 권한, 과금의 3가지 기능을 합쳐놓은 서비스.
인증과 권한은 장비 로컬에서 인증과 권한을 관리하는 대신 AAA서버를 통해
중앙에서 관리하는 방식. 많은 장비를 관리할 때 사용자 인증 및 권한 관리에 유리함.

AAA서비스에 사용되는 프로토콜로는 RADIUS와 TACACS+가 있음.

일반적으로 RADIUS는 사용자 인증에 사용을 하고, TACACS+는 사용자별 사용가능한
명령을 제한하는데 주로 사용함.   RADIUS는 표준 프로토콜이고 TACACS+는 시스코에서
만든 프로토콜임.   현재는 TACACS+도 표준처럼 사용됨.

시스코 장비에서는 장비에 AAA서비스가 활성화되면 원격 접속시 기본 설정으로 AAA를 통한
인증을 시도함.
콘솔(console)접속의 경우 만일 AAA서버와 통신 불가시 AAA인증으로만 설정을 하면 로그인이
불가능한 상태가 되므로 local 정보를 이용해서 로그인이 가능하도록 구성함.

- RADIUS 서버를 이용한 시스코 장비 접속 인증 설정

conf t 
aaa new-model
aaa authentication login [default|WORD] group radius [local|none]

aaa authentication login default group radius
aaa authentication login con-auth group radius local

radius-server host x.x.x.x  key 패스워드

line vty 0 4
login authentication default

line console 0
login authentication con-auth

--------------------------------------------------------------------
AAA서비스의 Accounting서비스는 과금 또는 감사 기능으로써
사용자의 행위를 기록하거나 사용자가 외부와의 통신에 사용한 데이터를 확인하는 용도로 사용함. 

 

BGP


- 한 조직내에서는 IGP를 통해 네트워크 전체를 관리하지만, 서로 다른 수많은 조직들이 별개로 관리하는 네트워크 환경에서는 EGP가 필요한데 이 EGP에 해당하는 프로토콜이 BGPv4이다. 
  따라서 직접 제어할 수 없는 다른 네트워크를 어느 정도까지 조정할 수 있는 방법들이 필요하다.

- IGP는 네트워크의 성능을 최적화시키는 것이 주 목적이지만, BGP는 기술적인 사항과는 연관없이 비용 등의 요소를 고려하여, 
  조직간의 합의에 의한, 정책적인 결정에 따라 라우팅되도록 하는 것이 주 목적이다.

- BGP는 TCP 179번을 사용하여 동작한다. 따라서 인접한 라우터 뿐만 아니라 통신이 확보되는 원격 라우터와도 Neighbor가 될 수 있다.

- BGP는 AS번호를 사용한다. AS는 한 조직에서 관리하는 라우터 모음이고, 이 AS를 식별하기 위해 AS번호를 사용한다. IP주소와 마찬가지로 IANA에서 각 국가에 부여한다. 
  사용가능한 번호는 1-65535이고, 이 중 64512-65535는 사설 AS번호이다. AS번호가 부족해짐에 따라서 32비트로 확장함.

- BGP는 eBGP와 iBGP로 나눌 수 있는데 eBGP는 다른 AS와의 BGP 연결이고, iBGP는 동일 AS내에서의 BGP연결이다. 
  iBGP는 eBGP로 수신한 정보를 다른 AS로 전달하기 위한 용도로 사용한다.


- BGP는 loop-free 라우팅 프로토콜이다. 즉, 라우팅 루프가 발생하지 않는다.
  
  Path Vector 라우팅 프로토콜(DV 라우팅 프로토콜과 비슷하게 목적지까지 적은 AS를 경유하는 경로를 최적 경로로 선택함)임에도 루프가 없다.

  라우팅 루프를 방지하기 위해 AS-PATH라고하는 속성(Attribute)을 사용한다. 네트워크정보를 다른 AS로 
  
  전달할때 자신의 AS번호를 추가해서 전달하고, 수신한 네트워크정보에 자신의 AS번호가 있으면

  해당 정보를 폐기한다. eBGP의 경우에는 AS-PATH를 이용해서 루프를 방지할 수 있다.

  iBGP의 경우에는 동일한 AS번호를 사용하기 때문에 AS-PATH를 이용해서 루프를 방지할 수 없다.
  
  따라서 iBGP의 경우는 BGP Split-horizon 규칙을 이용해서 루프를 방지한다.

- BGP Split-horizon 규칙이란 iBGP에 의해 전달받은 정보를 다시 iBGP로 전달하지 않는 규칙이다.
 
  이 규칙에 의해 라우팅 정보가 단절되는 문제를 해결하기 위한 방법으로는 

- 두 개 이상의 AS를 연결하는 경우(Transit AS; ISP(Internet Service Provider))에 BGP Split-horizon 규칙 영향없이 BGP정보를 전달하기 위해 사용할 수 있는 
  방법들(Full mesh, Confederation, Route Reflector) 중에 현재는 Route Reflector가 사용된다.

  1)Full Mesh : 모든 라우터와 BGP Peer(Neighbor)를 맺는다. 

  2)Confederation : 사설 AS를 이용한다.iBGP로 전송받은 정보를 iBGP로 전송하지 않는 환경 구성. 

  3)Route Reflector : Route Reflector Client로 설정된 BGP라우터로부터 정보를 모아서 분배해주는
                      역할을 한다. 따라서 BGP Split-horizon규칙에 적용받지 않는다.
                      Route Reflector 역할의 라우터에서 Route Reflector Client를 지정한다.

                      router bgp AS번호
                      neighbor x.x.x.x route-reflector-client
          


- 네트워크를 광고하는 방법
  1) network 명령 이용(i)
  2) 재분배(?)


- Next-hop 문제 해결

  BGP는 AS를 하나의 가상라우터로 취급하기 때문에 라우팅 정보를 다른 AS로 전달할 때(eBGP)만 Nexthop을 변경한다. 따라서 동일 AS내에서 BGP Peer(네이버)에게 
  라우팅 정보 전송시(IBGP)에는 Nexthop이 변경되지 않는다. 따라서 AS내부에 있는 라우터에서 Nexthop에 대한 정보가 없을 경우 해당 라우팅 정보를 이용할 수 없게된다. 
  Static Route 를 이용해서 해당 Nexthop 네트워크를 설정하거나, next-hop-self 명령을 이용해서 Nexthop을 변경하면 된다. 하지만 여러가지 이유로 next-hop-self가 사용됨.

- BGP는 bgp 테이블에 있는 최적경로정보(사용가능한)만 Peer에게 전송한다.

- BGP 기본설정

router bgp AS번호

네이버 설정
neighbor x.x.x.x remote-as AS번호   => BGP는 neighbor 명령으로 직접 neighbor를 설정해야함.
                                       이때 remote-as AS번호가  router bgp AS번호와 다르면
                                       eBGP연결이고, 같으면 iBGP 연결임.
네트워크 광고
network 네트워크주소 mask 서브넷마스크 => network 명령으로 광고하려는 네트워크정보는 반드시 
                                         라우팅테이블에 있어야함(네트워크정보가 동일해야함.). 그리고 클래스풀 네트워크일 경우
                                         mask 설정 생략 가능.
                                         자신의 네트워크(Connected)가 아니더라도 광고할 수 있음.
                             
redistribute                          => 재분배를 통해서 광고.

next-hop 해결 
neighbor x.x.x.x next-hop-self        => eBGP와 iBGP가 같이 사용되는 라우터에서 
                                         iBGP 네이버에 대해 설정


- BGP 블랙홀 현상 : AS내에 BGP가 동작하지 않는 라우터가 존재할 경우 해당 라우터에서 패킷이 
                    폐기되는 현상


- 블랙홀 현상을 해결하는 방법

  1) synchronization : iBGP로 수신한 정보를 IGP가 확인해주어야 eBGP로 전송할 수 있는 규칙 
                       synchronization이 활성화된 경우 iBGP수신한 정보를 IGP로도 학습했을 경우
                       eBGP로 전송함. 블랙홀 현상은 방지할 수 있지만 통신이 안되는 점은 해결해야함.
                       따라서, 현재는 synchronization을 비활성화하고 다른 방법을 이용해서 
                       블랙홀현상을 방지함.

  2) AS내부의 모든 라우터에 BGP 설정 => BGP Split-horizon 규칙에 의해서 BGP정보가 완전히 
                                       전달되지 않을 수 있음.


- iBGP 연결시 루프백 주소를 neighbor 주소로 설정하는 이유는 상대장비로 가는 경로가 2개 이상일 
  경우에도 물리인터페이스 주소로 neighbor 설정을 했을 때 장애가 발생하면 BGP 네이버 연결이 끊긴다. 
  하지만 루프백 주소로 neighbor를 설정했을 때는 네이버가 유지된다.

  router bgp AS번호
  neighbor x.x.x.x remote-as AS번호
  neighbor x.x.x.x update-source lo0   => 출발지 주소를 loopback0로 설정하는 명령

- TTL(Time To Live) : 패킷이 목적지를 찾기 위해 건너갈 수 있는 라우터 수. TTL이 1이면 라우터를 못건너감.
                      최대 TTL은 255. OS마다 기본값이 다름. 윈도우(128), 리눅스(64), 시스코IOS(255) 등.

- iBGP가 사용하는 기본 TTL 은 255이고, eBGP는 1을 사용한다.
  eBGP 설정시 직접 연결된 인터페이스 IP주소가 아니고 원격의 주소를 이용해서 Neighbor를 설정하는 경우
  ebgp-multihop 홉수 를 이용해서 추가적인 설정을 해야함.

- eBGP에서도 루프백을 이용해서 Neighbor를 설정하는 이유는 장애대비이다.


- 다음은 BGP의 속성(Attribute)에 해당함.

Origin Code : Path 부분의 i - network 명령에 의해 BGP에 포함된 정보 
                          ? - 재분배에 의해 BGP에 포함된 정보
                          e - EGP라는 프로토콜에 의해 광고된 정보
Next Hop : 해당 네트워크로 라우팅하기 위해 거쳐가야하는 경로상의 장비 IP주소
           이 Next Hop에 대한 정보가 라우팅 테이블에 존재하지 않으면 
           해당 BGP정보는 valid하지 않음.(사용할 수 없음)

Metric : IGP의 metric과 비슷한 역할. 낮은 메트릭 값을 가지는 정보가 우선시 됨.
         자신의 AS로 들어오는 트래픽을 조정할 때 사용됨. 

Local Preference : AS에서 외부 네트워크로 트래픽을 보낼 때 출구가 2개 이상인 경우 높은 Local Preference값을
                   가지는 경로가 사용됨.

Weight : 시스코장비에서만 사용되는 값으로 Local Preference와 같은 용도이지만 한 개 라우터에서 경로가 2개 이상일 때
         Weight 값이 높은 경로가 사용됨.

Path : AS-PATH를 의미하고 해당 경로가 어느 AS에서 BGP에 포함돼서 어떤 AS를 거쳐서 수신되었는지를 나타내는 정보
       이 AS-PATH에 의해 BGP는 Loop Free 라우팅 프로토콜에 해당됨. 


- 속성(Attribute)이 비교되는 우선순위

1. Weight : 시스코에만 해당. 높은 값
2. Local Preference : 높은 값
3. AS-PATH : 짧은 Path
4. Origin : i > e > ?
5. MED(metric) : 낮은 값
6. EBGP > IBGP
...
7. Peer IP Address : 낮은 주소




show ip bgp summary  => neighbor 확인.   state/pfxRcd 부분에 숫자가 표시돼야 정상. active/idle 등이 정상적인 neighbor 설정이 안된 것임.
                                                             


ping 44.44.44.44 so 11.11.11.11

- IPv6 주소 자동할당

1) SLAAC(Stateless Address Auto Configuration)

   라우터 인터페이스 Prefix + EUI-64 => 인터페이스에 할당.  
   IP주소와 GW주소이외에 설정사항 없음. 인터넷이 안됨.(DNS가 없기 때문에)


2) Stateful DHCPv6 : DHCP와 같음.
   할당할 Prefix 설정가능.
   DNS, domain-name 등을 호스트에 할당하고 할당 내용 보존.
  
   ipv6 dhcp pool state_pool
   address prefix 2001:5::/64
   dns-server 2001:7::7
   domain-name gdn11.com

   int g0/0
   ipv6 address 2001:5::5/64
   ipv6 dhcp server state_pool
   ipv6 nd managed-config-flag
   ipv6 nd prefix 2001:5::/64 14400 14400 no-autoconfig
   no sh

   ipv6 unicast-routing

3) Stateless DHCPv6
   Stateful과 같이 인터넷이 가능하도록 할당하지만 할당내용 보존하지 않음.

   ipv6 dhcp pool stateless_pool
   dns-server 2001:7::7
   domain-name gdn11.com    
 
   int g0/0
   ipv6 address 2001:5::5/64
   ipv6 dhcp server stateless_pool
   ipv6 nd other-config-flag

   Client)
   int g0/0
   ipv6 address autoconfig

 

 

 

 

 

 

 

 


 

내가 수업 들으면서 메모한거

 

2024-11-03 시스코 7회차



>> 정보보안 3대요소 
     1) 비밀성(Confidentiality) - 허가 또는 인증 받은 사용자가 데이터를 이용할 수 있음. 암호화

데이터는 노출되면 안돼요
데이터를 누가 중간에 훔쳐서 그 내용을 보고있으면 confidentiality가 유지되지않은거임
예)도청
그래서 confidentiality를 지키기 위해선 암호화가 필요하다는것

     2) 무결성(Integrity) - 원본 데이터와 복사본 데이터가 일치함. Hash함수(md5,sha)

a랑b데이터가 일치하냐? 증명할 수 있냐? -->oo그게 무결성임

해시 함수(hash function)는 임의의 길이를 가진 데이터를 입력받아 고정된 길이의 값,
즉 해시값을 출력하는 함수입니다. 
해시값은 입력 데이터로부터 유도되기 때문에
동일한 입력은 항상 동일한 해시값을 갖게 됩니다.

The term **hash** originates from the French word *hacher*, 
meaning "to chop" or "to cut." In the context of computing, 
this reflects the idea of taking input data of any size and "chopping" or 
transforming it into a fixed-length output, which is the hash value. 
Just like chopping food into small pieces, a hash function breaks down or condenses data into a concise representation.

     3) 가용성(Availibilty) - 허가 또는 인증받은 사용자, 또는 공개 서버라면 일반사용자가 접근해서
                                   자원을 사용하고자 할 때 언제라도 사용이 가능해야함. 
                                   이중화(이더채널,VLAN별 STP,라우팅,FHRP,L4/L7 로드밸런싱),HA(High Availibility)   

이중화를 이용해 가용성을 올린다.               

- 암호화(encryption) : 평문 데이터를 암호알고리즘을 통과시켜 내용을 알 수 없도록 만드는 기법
                            암호화하기 위해 암호화 키가 필요함.  => 비밀성,기밀성(confidentiality)


  1) 대칭키 : 암복호화시 사용되는 키가 동일함.
                장점은 동일한 키를 사용함으로써 속도 빠름.
                단점은 키를 교환할 때 노출될 위험이 있음. (암호환 된 키 전달시(교환시) 문제 발생, 노출 위험도 ^)

                알고리즘으로는 DES, 3DES,(짧은 시간안에 복호화 가능해서 빨리 뚫림 그래서 AES를 거의 씀) 등이 있음.
                사용자 데이터를 암호화하여 통신하는데 사용됨.

Data Encryption Standard
Triple Data Encryption Standard
(Advanced Encryption Standard)

알고리즘은 다 풀려있어. 결국 시간 문제일뿐. 시간이 많이 걸림. 근데 des,3des는 금방 걸림


  2) 공개키 : 암복호화시 서로 다른 키를 사용함.(개인키/공개키)
                장점은 키교환을 하지 않기 때문에 노출될 위험이 없음.(대칭의 단점을 보완)
                단점은 복호화 속도가 느림.

                알고리즘으로는 RSA, DSA, EC2 등이 있음.
               속도가 느리므로 사용자 인증에 사용됨.

공개키는 인터넷에 공개해도 상관없x 개인키도 있어야 풀 수 있으니까. 
a=개인키 b=공개키일때 a,b 둘 다 있어야 풀 수 있음.
근데 개인키는 교환하지않고 자기가 가지고 있으니까 보완성 ^
단점은 근데 복호화가 느림 ㅎㅎㅋㅋ뭐든 정반대 아니겠느냐..


공개키 암호화 알고리즘 중 하나. RSA는 특정 단어의 약자가 아니며, 
1977년[1] 이 암호 체계를 개발한 Ron Rivest, Adi Shamir, Leonard Adleman 
세 사람의 성을 따서 RSA 라고 이름이 붙었다. 
현재 SSL/TLS에 가장 많이 사용되는 암호화 알고리즘이며, 
전세계 대부분의 인터넷 뱅킹(대한민국 포함)이 이 RSA-2048 암호화를 사용한다.

DSA(Digital Signature Algorithm)
 EC2란 Amazon Elastic Compute Cloud의 줄임말로서 AWS에서 제공하는 클라우드 컴퓨팅이다. 
독립된 컴퓨터를 임대해주는 서비스



- 해시알고리즘 : Hash는 단방향 암호 알고리즘임.  즉 해시 알고리즘을 통과시키면 일정한 크기의
                     값으로 변환됨.  같은 데이터에 같은 해시 알고리즘을 적용해도 항상 같은 값이 나옴. 
                     네트워크로 전달받은 데이터가 변조가 되지 않았음을 보증하기 위해 사용됨.
                     변환된 값으로 원본데이터로 복원할 수 없음.(단방향,일방향) 
                     알고리즘으로는 MD5,  SHA 등이 있음.     => 무결성(integrity)

예를 들어 사이트에서 파일을 다운로드할때
다운받을때 원래 원본인지 확인하기위해서 해쉬로 알고리즘 돌려서 나온 값이랑 확인함
일치한다? ㅇㅋ 안전한 파일이네 다운 ㄱ

Secure Hash Algorithm 1,2,3, 있는데 커질수록 어려워짐(그만큼 느려짐)
Message-Digest algorithm 5

복호화 사용 목적: 둘 다, 그 데이터 교환이 필요할 ㅍ때

>> 네트워크 보안 
      1) 스위치보안(포트보안,STP보안)
      2) 라우터보안(PPP인증, 라우팅 메시지 인증, passive-interface)
      3) DHCP보안(DHCP Snooping, DAI)
      4) 암호화통신(Site-to-Site IPSec, GRE IPSec)
      5) 장비보안 설정(라우터,스위치 접근 보안) : AAA인증(RADIUS, TACACS+)

>> 스위치 보안 

사용자 입장에서 스위치 보안에서 제일 중요한건. 사용자가 네트워크랑 연결하는 첫 지점이라서end point 보안이라고 함.
그런데 생각해보삼. 암호화 안된 상태로 네트워크 첫 연결한다? 어머, 컴퓨터 빠이인거지
다른 스위치가 붙었을때 stp가 변경될 수 있음(물론 stp 특성이긴한데 보안도 굿임)

1. 스위치 포트보안 : 

 1-1) Access 계층 스위치의 단말이 연결되는 포트에 설정하는 보안. 가장 기본적인 Endpoint 보안
     MAC주소를 이용해서 허가된 단말만 포트를 사용할 수 있도록 설정.
    포트를 사용할 수 있는 MAC주소 개수를 지정.
    위반시 동작으로는 shutdown, protect, restrict

만약 보안 설정했는데 어라 위반됐네? 바로 SHUTDOWN, 
protect는 
restrict은 다운도 하고 로그도 발생함.

스위치 모드가 두개 있었지? access 랑 trunk
trunk는 여러개의 vlan을 한줄 가닥으로 이어주는거.
그래서 특정 포트 지정을 안함. (포트 보안 설정을 하지 않음)
trunk 모드는 오고가는 트래픽이 많은데 특정 포트를 차단한다? 심지어
단말 연결되는 포트는 trunk포트가 될 수도 없음=즉 말이 안됨. trunk포트는 vlan 연결이니까.
------------------------------------------------------------------------------------------------------------------
               
 SW)
	conf t
	int f0/10 
	switchport mode access 
	switchport port-security --> 포트 보안 활성화
	switchport port-security mac-address H.H.H => mac주소 H.H.H만 허용한다는 말
	switchport port-security mac-address [H.H.H|sticky] -> sticky는 학습된 mac주소를 running-config에 저장
	switchport port-security maximum (숫자) => 허용할 mac주소 갯수, 기본값은 1
	switchport port-security violation [shutdon|protect|restrict] -> 위반시 동작. 기본은 shutdown
   
*보안 위반에 의해서 shutdown되면 err-disabled 상태가 되고 이 경우 위반사항을 제거하고
shutdown 후에 no shuntdown으로 활성화 할 수 있음.

violation 위반, 위배 

show port-security interface (ㅇㅇ) 인터페이스 포트 보안 상태 확인 명령어

ASW#sh port-security int f0/10

Port Security              : Disabled
Port Status                : Secure-down
Violation Mode             : Shutdown
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 1
Total MAC Addresses        : 0
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 0
Last Source Address:Vlan   : 0000.0000.0000:0
Security Violation Count   : 0



ASW(config-if)#switchport port-security  mac-address 0000.0000.0010

Maximum MAC Addresses      : 1
Total MAC Addresses        : 1
Configured MAC Addresses   : 1
맥주소 들어와있음


  1-2) 802.1X 인증 - RADIUS서버(AAA서버)를 이용해서 인증된 사용자만 스위치 포트를 사용할 수 있도록 하는 기능
예를 들어 스위치에서 유저 이름, 비번 확인하고 너 너 승인된 녀석이네 ㅇㅋ 들어오삼 하는거임 
---------------------------------------------------------------------------------------------------------------
2. STP보안  

Bridge Protocol Data Unit

    BPDU Guard  - access포트에 bpdu가 수신되면 포트를 비활성화하는 기능.
	bpdu자체를 안받는거지. 받으면 stp 발생할 수 있으니까.
    BPDU Filter - access포트로 bpdu가 전송되는 것을 차단하는 기능.
	아예 bpdu 자체를 안보내는거지. 나가는걸 차단시키겠다! (filter는 그렇게 크게 신경 안써도..)
    Root Guard  - 스위치 네트워크에서 Root Bridge가 변경되는 것을 방지하는 기능.
	bpdu 받았지만 루트브릿지 변경되는걸 막아버림!
    Loop Guard  - 현재 BLK상태인 포트가 비정상적인 상황에서 FWD으로 변경돼서 루프가
                        발생되는 상황을 방지하는 기능
장비로 인해 일시적으로 문제 발생할 때, 만약 bpdu 보안이 풀렸다? 소프웨어적 이슈 발생했다?
그럼 stp 되겠지? 그걸 방지할려고 loop guard 쓰는거지


    UDLD(UniDirectional Link Detection) 
                      - 광케이블의 물리적인 손상을 체크해서 루프가 발생하지 않게 하는 기능
                      - UDLD aggressive는 UTP에 설정해서 체크.

예)
스위치가 과부화 걸려서 bpdu를 못 보낼때가 있어요. 선은 문제가 없는데 cpu과부하 문제로
bpdu를 못 보내면, rp는 어라 문제가 생긴건가? 하고 블락된걸 풀어버리지. 
그러면 전체 roof 발생 


1) BPDU Guard  : 전역설정과 인터페이스에서 설정 가능
                 전역설정에서는 portfast가 설정된 포트에 전부 BPDU GUARD 설정
                 (spanning-tree portfast bpduguard default)
portfast가 걸려있다? 제일 빠른 단말 가자는거니까 무조건 active인거지

                 인터페이스 설정( spanning-tree bpduguard enable)


2) Root Guard : 인터페이스에서 설정
                spanning-tree guard root


3) BPDU Filter : 인터페이스에서 설정
                 spanning-tree bpdufilter enable
 
                 bpdufilter가 설정된 포트에 bpdu가 수신되면 bpdufilter가 해제됨.

4) Loop Guard  : 인터페이스에서 설정
                 spanning-tree guard loop 

                 전역설정모드에서 설정
                 spanning-tree guard loop default

5) UDLD :  인터페이스에서 설정
                 udld port             => 광케이블

                 udld port aggressive  => UTP 케이블



> BPDU Guard에 의해서 비활성화된 포트는  err-disabled 상태에 놓임.
   err-disabled 상태의 포트는 no shutdown으로 활성화 되지 않음.
   bpdu가 수신되지 않도록 하고, shutdown -> no shutdown 명령을 수행함. 
   포트보안 shutdown도 마찬가지로 활성화 시킬 수 있다.



>> 라우터 보안

암호화 된 메세지 받는데 그거 걸러서(filtering)해서 받는거임. 
 Encapsulation HDLC
Router(config-if)#encapsulation ppp
Router(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to down

00:27:53: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.254 on Serial0/0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
서로 인터페이스 프로토콜이 안맞아서 다운된거임
Router(config)#int s0/0/0
Router(config-if)#en
Router(config-if)#encapsulation ppp
Router(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up


(Point To Point Protocol)
서로 ppp로 맞으면 다시 up

- PPP인증 : Serial 인터페이스에 encapsulation을 ppp로 사용할 경우 ppp 인증을 이용할 수 있음.
            ppp 인증에는 pap(암호화 X)과 chap(암호화 0) 사용됨.
                                                  (challenge authentication protocol)

	pap은 패스워드를 보내줘여함(전송함) 노출 가능성 ^

	R1)
	hostname R1
	username R2 password cisco --> 상대 라우터의 이름과 패스워드 입력
 	int s0/0/0
	encapsulation ppp
	ppp authentication chap
	
	R2)
	hostname R2
	username R1 password cisco --> 패스워드 두개는 일치해야합니다
	int s0/0/0
	encapsulation ppp
	ppp authentication chap

	R1)
	conf t
	router ospf 1
	network 192.168.1.254 0.0.0.0 area 0
	network 2.2.12.1 0.0.0.0 area 0

	-md5 인증(캡쳐했을때 hash값이 노출되는거)
	int s0/0/0
	ip ospf message-digest-key 1 md 5 cisco
	ip ospf authentication message-deigest

	-평문 인증(캡쳐했을 때 패스워드가 노출되는거)
	ip ospf authentication-key cisco
	ip ospf authentication


	R2)
	conf t
	router ospf 1
	network 192.168.2.254 0.0.0.0 area 0
	netowrk 2.2.12.2 0.0.0.0 area 0

0--------------------------------------------------------------------------------------------------------------
- 라우팅 메시지 보안 :  라우터간에 라우팅 메세지 교환시 인증을 설정해서 패스워드가 일치하는 경우의 수만 


		RIPv2 - key chain 이용. 평문과 암호문(md5) 사용 가능. Neighbor 인증.
            Open Shortest Path First                                                         (그 구역 얘들) (서로 이웃)
                       OSPF  - key chain 사용하지 않음. 평문과 암호문(md5) 사용 가능. Area인증과 Neighbor 인증이 있음.
                               Area 0(Backbone Area)에 Area 인증이 설정되고 Virtual-link가 사용될 경우는 Virtual-link에도
                               인증을 활성화 해야함.

	Border Gateway Protocol
                       BGP  -  key chain 사용하지 않음. Peer 간에 암호문(md5) 인증.

라우팅 메세지 보안이슈 터지면 라우팅 자체가 문제 생김.


- passive-interface : 동적 라우팅 프로토콜이 동작할 때 장비의 인터페이스 중에 라우팅 메시지(RIP)나 헬로메시지(OSPF,EIGRP)
                      전송이 불필요한 인터페이스로의 전송을 차단하는 기능.
                      불필요한 트래픽을 줄임과 동시에 해당 메시지를 악용하는 것을 방지할 수 있음.


보안에서는 불필요한게 발생하지않는게 보안의 기본임. 불필요한 설정, 트래픽, 등.
왜냐면 불필요한걸 이용해서 공격 가능성을 줄일 수 있으니까.

router ospf 1
passive-interface g0/0 ==> g0/0으로 라우팅 메세지 전송 차단. 특정 인터페이스로의 전송 차단시 설정
-------------------------------------------------------------------------------------------
passive-interface default --> 라우팅 메세지가 모든 인터페이스로 전송 되는 것을 차단.
no passive-interface g0/0 --> g0/0으로만 메세지 전송

설정 자체는 간단하지만, 라우터 이 설정 필수!


-------------------------------------------------------------------------------------------------------------------------------

<DHCP서버(서비스)에 대한 공격> <dynamic Host Configuration Protocol
DHCP는 클라이언트에세 IP주소를 비롯한 관련 파라미터(서브넷 마스크, 게이트웨이 주소, DNS 주소 등)를 
자동으로 할당하는 서비스

		DHCP 클라이언트(UDP 68번)		DHCP 서버(UDP 67번)
		Discover   -----------------------------> 
                                      <---------------------------- Offer
                        Request    ----------------------------> 
                                     <----------------------------  Ack
 		-> DORA 과정이 끝나면 클라이언트는 IP주소를 이용하여 통신 가능.

기본적으로 브로드캐스트를 이용하여 DORA과정이 이루어지고 클라이언트의 설정에 의해
유티캐스트를 이용할 수  있음

Cisco IOS 라우터/멀티레이어 스위치에서 DHCP 설정

R1)
conf t
ip dhcp pool TestPool 		--> 클라이언트에게 할당할 정보 설정
network 192.168.1.0 255.255.255.0 	-> 할당할 네트워크 지정
default-router 192.168.1.254 	-> 기본 게이트웨이 설정
dns-server 192.168.3.100		-> DNS주소 설정 
domain-name koreait.com 		-> 도메인 주소 설정
lesase 86400 			->  임대기간 설정
exit
ip dhcp exluded-address 192.168.1.251 192.168.1.254 -> 할당에서 제외할 주소(4개의 주소)
ip dhcp excluded-address 192.168.1.200


PC3이 R1 까지 브로드캐스트 보내고 싶어도 못보내거든. 보낼려면
라우터마다 서버를 구성해줘야하는데
네트워크 마다 서버를 구성해주는게 비효율적이기 때문에
DHBCP RELAY AGENT 사용
유니캐스트로 전달.
--------------------------------------------------------------------------------------------------

DHCP는 브로드캐스트를 사용하므로 다른 네트워크에 있는 DHCP에는 직접 메세지가 도달
할 수 없음. 따라서 각 네트워크마다 DHCP 서버를 구성하거나 하나의 DHCP 서버를
이용하여 다수의 네트워크 DHCP Pool을 구성할려면 DHCP Relay Agent를 이용하면 됨.
DHCP Relay Agent 설정은 DHCP Discover 메세지가 수신되는 인터페이스에서 설장함.
relay  번갈아가면서 무언가를 계속 진행하는 것



	R2)
	int g0/1
	ip helper-address 192.168.2.1 	-->DHCP서비스를 하고 있는 라우터의 주소 또는 서버의 주소


1. DHCP Starvation(Pool 고갈 공격) : DHCP서비스의 특성을 이용한 공격으로 Discover메시지내에
                                    Client HW주소 즉, MAC주소를 변경하여 전송함으로써 
                                    DHCP서버가 다른 클라이언트의 요청으로 판단하고 IP를 
                                    할당한다. 지속적인 이러한 Discover 메시지에 의해 DHCP서버는
                                    Pool의 모든 IP를 할당하게 되고, 정상적인 클라이언트의 요청에
                                    서비스를 할 수 없게 된다.

ip를 다 할당시켜서 더이상 할당 못하게 함. ip를 못받게 162.254가 들어옴 그럼 외부랑 통신 못함
어떤 프로그램을 이용해서 ip 다 할당 받게해버림. pool starvation 공격
프로그램 쓰면 몇 초 안걸림 ㄷㄷ;

   (악당)
2. Rogue DHCP서버 : DHCP서비스는 브로드캐스트를 이용하여 동일 네트워크의 모든 호스트가 수신이 
                    가능하다. 따라서 악의적으로 잘못된 정보를 가진 DHCP서버를 구성하고 이 서버가
                   클라이언트의 요청에 응답을 하게 되면 클라이언트는 잘못된 IP관련 정보가 설정된다.
                   예를 들어, Gateway를 공격자의 IP주소로 설정하면 해당 클라이언트의 트래픽을 
                   스니핑(훔쳐보기)할 수 있고, 의도적으로 DNS서버 IP주소를 부여하면 클라이언트의
                   DNS query에 조작된 서버 IP주소로 응답해서 원치않는 서버에 접속하도록 할 수 있다.

<DHCP서버(서비스)에 대한 공격 방어>

- DHCP snooping : 스위치에서 DHCP 메시지를 검사해서 할당된 정보를 Database화(dhcp binding table)해서 유지한다.
              또한 인터페이스를 trust 와 untrust 구분해서 untrust에서 수신되는 DHCP서버 메시지(Offer,Ack)는 차단한다. 

sniffing : 킁킁거리고 냄새맡다. 엿본다. 안좋은 의미로 사용됨.

snooping : 기웃거리다. 염탐하다.        관리적인 의미로 사용됨. (관리 목적으로, 확인) 도청보다는


- dhcp snooping 설정

SW1)

ip dhcp snooping             => 스위치에 스누핑 기능 활성화

ip dhcp snooping vlan 10     => VLAN에 스누핑 동작

no ip dhcp snooping information option  => option 82 : 스위치의 포트번호 정보까지 DHCP서버로 전송하는 기능
                                                       서버가 지원하지 않으면 비활성화해야함.

int po1
ip dhcp snooping trust 

DHCP Snooping 설정 후에 DHCP Client가 자동할당 받으면 해당 내용이 binding table에 저장됨.

sh ip dhcp snooping binding


- 동작 : dhcp snooping 기능이 활성화되면 스위치는 dhcp client가 할당받은 내용을 dhcp snooping binding 테이블에 저장.
         
	 ( client hardware addr)
	1. 즉, CHADDR = Client MAC주소, 할당한 IP주소, VLAN정보, 인터페이스정보를 저장한다.
         이 후 같은 포트로 CHADDR이 다른 Discover 메시지가 수신되면 이를 차단하고 서버로 보내지 않음.
         따라서, 이 같은 동작으로 DHCP Starvation 공격을 방어할 수 있다.

         2. 또한, Discover 메시지를 untrust 포트로 전송하지 않음으로써 Rogue DHCP서버를 이용한 공격도 방어할 수 있음.

<DAI(Dynamic Arp Inspection)>
DHCP Snooping기능이 활성화된 상태에서 ARP Spoofing 공격을 방어하는 보안 기능.
arp 트래픽을 검사해서 snooping binding table의 정보와 일치하는 경우만 포트에서 허용하고
일치하지 않으면 허용하지 않고, 위반메시지를 출력한다. 


arp spoofing 공격이란?
자기의 맥 주소를 게이트웨이 주소 맵핑되어있는 것 처럼 주는거임.
pc1입장에서는 1.254가 pc0의 주소로 되어있는거임. arp에서는 mac주소가 중요한데
pc1 트래픽이 pc0에 들어갔다가 게이트웨이로 가니까
pc0입장에서는 pc1의 트래픽을 다 볼 수 있음! spoofing(변조) 가능한다는거
dynamic은 학습이 됐다는 얘기임 즉 잘못 학습되면, 잘못된 맥주소가 들어가있을거고, 통신을 했을 때
실제 게이트웨이 주소를 가는게 아니라, 걸쳐서 가는거임, 아예 통신 안될 수 도 있음
그래서 등록된 맥 주소가 다르다? 그럼 차단
그래서 등론된 맥 주소가 일치한다? 그럼 ㅇㅋ 승인!
하는게 DAI
 
<DAI 설정>

1. DHCP Snooping 활성화

 SW1)
   ip dhcp snooping
   ip dhcp snooping vlan 10
   no ip dhcp snooping information option

   int range f0/1, f0/24   => DHCP 서버가 있는 쪽 포트/ DAI를 사용하기 위해선 DHCP Snooping 기능이 켜져있어야함
   ip dhcp snooping trust

2. DAI 활성화
   ip arp inspection vlan 1

3. 인터페이스 trust 설정
   int range f0/1, f0/24 
   ip arp inspection trust --> trust가 설정된 포트에서는 arp 트래픽을 검사하지않음

- DAI 설정 후, 고정 IP가 필요한 시스템이 있는 경우 해당 시스템은
  DAI적용에서 제외를 해야한다. 이 경우 ARP ACL이 사용된다.

  arp access-list SW1		  00D0.975B.D254
  permit ip host 192.168.1.30 mac host 0000.0000.0001

  ip arp inspection filter SW1 vlan 1

시스코 패킷트레이서에선 설정 안됨 ㅜㅠ 
 
만약 고정 ip를 사용하는 경우는?
dhcp snooping binding 테이블에는 dhcp만 받아서 static은 binding table에서 빠져버림.
그래서 통신이 안됨. 문제가 생김!!
그때는 DAI적용에서 제외를 해야한다. 이 경우 ARP ACL이 사용된다.
 
- AAA(Authentication Authorization Accounting) 서비스

AAA서비스는 인증, 권한, 과금의 3가지 기능을 합쳐놓은 서비스.
인증과 권한은 장비 로컬에서 인증과 권한을 관리하는 대신 AAA서버를 통해
중앙에서 관리하는 방식. 많은 장비를 관리할 때 사용자 인증 및 권한 관리에 유리함.

장비 인증을 로컬에서 하는게 아니라 aaa인증을 통해서 하겠다.
장비에서 명령 내릴때 enable, conf t 명령어 사용권한도 aaa를 통해서 받겠다는거임.
장비가 몇개 안될때는 문제가 안되는데, 많은 경우는 중앙에서 관리하는게 효율적이니까

		 
AAA서비스에 사용되는 프로토콜로는 RADIUS와 TACACS+가 있음.

일반적으로 RADIUS는 사용자 인증에 사용을 하고, TACACS+는 사용자별 사용가능한
명령을 제한하는데 주로 사용함.   RADIUS는 표준 프로토콜이고 TACACS+는 시스코에서
만든 프로토콜임.   현재는 TACACS+도 표준처럼 사용됨. 오픈 되어있다는 얘기임

시스코 장비에서는 장비에 AAA서비스가 활성화되면 원격 접속시 기본 설정으로 AAA를 통한 인증을 시도함.
콘솔(console)접속의 경우 만일 AAA서버와 통신 불가시 AAA인증으로만 설정을 하면 로그인이
불가능한 상태가 되므로 local 정보를 이용해서 로그인이 가능하도록 구성함.




- RADIUS 서버를 이용한 시스코 장비 접속 인증 설정

conf t 
aaa new-model -->지금 얘기하는건 ios 얘기임. 만약 다른 os인 경우에는, 따로 하진않음. 
  	        --> aaa활성화하는 명령어
aaa authentication login [default|WORD] group radius [local|none]

		-->aaa인증할껀데 무엇에 대한 인증이냐? 로그인에 대한거다. 어떻게 인증할꺼냐?
		-->default(모든 장비에 대한 모든 접근을 할때 사용[콘솔,http,텔넷 등].
		-->group뒤에 프로토콜은 뭐 쓸거냐? radious 쓰겠다.
		-->local은 뭐냐? 로컬 db를 이용해서 인증하겠 none은 인증없이 로그인하겠다.

aaa authentication login default group radius
aaa authentication login con-auth group radius local  
		--> con-auth라는 이름을 쓰겠다. 별도 인증 방식 쓸 거 아니면 그냥 default 쓰면 됨
radius-server host x.x.x.x  key 패스워드

line vty 0 4
login authentication default  -->default 방식으로 인증하겠다는 말

line console 0
login authentication con-auth  --> 콘솔은 장비에서 직접 시리얼해서 이용하는거임, 그래서 콘솔로 못들어가면 못들어감.
			        콘솔 설정할 때 default로 해버리면, 콘솔 접속할때 인증을 radius 서버로 이용하겠다. 
			        근데 만약에 radius가 안되면 통신이 안됨. 통신이 안될때 만약을 대비해서
			        그래서 그때 안되면 con-auth라는 우리가 만든걸로 인증하겠다는 말임	
			        만일의 경우를 대비해둔거임!!

실제 장비에서는 default 자동으로 설정됨 packet tracer에서는 default 설정해줘야함 

l2 스위치는 ip를 직접 못주니까 svi 이용해서 줌  Switch Virtual Interface
--------------------------------------------------------------------
AAA서비스의 Accounting서비스는 과금 또는 감사 기능으로써
사용자의 행위를 기록하거나 사용자가 외부와의 통신에 사용한 데이터를 확인하는 용도로 사용함. 
어떤 사용자가 어떤 명령어를 입력했고, 데이터를 얼마나 사용했고 이런거를 기록하는 용도
스마트폰에서는 데이터의 양에 따라 비용을 청구하니까 그래서 과금이라는 용어로도 쓰는거임
사용자가 어떤 행위를 했는지, 보안침해를 당했나? 장애가 생겼을때 뭐에 의해 장애가 생겼다? 확인하기 위한 기록 용도

인증은 어떤 시스템에 들어갈 때 확인 하는거
권한은 들어가서 리소스를 사용할 수 있는지 쓸 수 있는지
accounting도 별개 다 별개!
----------------------------------------------------------------------------------------------------------------------------
암호화 통신에 있어서
예를 들어 본사랑 지사가 떨어져있을 때, 전용선을 쓰면 제일 안전함. 우리만 쓰니까! 우리만 쓰는 라인이니까! 보안짱짱!
대신 비싸지. ㅋㅋ뭐든 돈 문제 아니겠냐ㅐ..ㅠㅠ
그래서 공중망(일반적인 인터넷망)을 사용하지..
트래픽이 공중망을 쓰면 노출됨. 그걸 누가 꺄핫 하고 엿보고 복호화할 수 있는 거지.
그래서 본사랑 지사 연결하는 공중망에서 암호화 통신을 하는거임.
전용선 이용하면 암호화 통신 필요 x

일반 사용자가 사용하는 일반 데이터들은 암호화 딱히 상관x
회사 데이터? 암호화 필!수!
----------------------------------------------------------------------------------------------------------------------------
장비 보안 설정에 있어서
라우터랑 스위치 접근 보안 은 우리가 장치 자체에 암호를 걸었어. 100대 장치에 암호를 100개 걸어야함..
별도로 관리해야하는데, 죽어나가죠?
만약 암호 변경, 사용자 추가하면 엄청 불편하죠..그래서 그 100개 관리를 위한걸 중앙에 모아두고 관리한다? =AAA인증

인증 (Authentication), 권한부여 (Authorization), 계정관리 (Accounting) 

--------------------------------------------------------------------------------------------

a--공중망--b
a,b 사설네트워크끼리 통신 직접 불가
하지만 virtual private network를 이용하면 가능 (논리적으로)

vpn은 암호화는 없어요. 암호화 제공 안해줌. tunneling은 통신은 가능하게 해주는데 암호화 기능은없는데
그걸 추가한게 ipsec임. ssl도 암호화해주는데 대신 계층이 다름. ssl은 6계층

네트워크에서는 사설망이 공중망을 통과할 수 없음.
그래서 그걸 통과할 수 있게끔 터널 이용하는 것 처럼 tunneling!
라우팅이 가능하도록 공인 ip주소를 가지고 있는 새로운 ip헤더를 추가하는 기술
그래서 새로운 ip헤더로 공중망을 통과할 수 있게해주는거임!
ipv4, ipv6도 사용가능합니다!

ipsec=ip security

ip데이터를 보호하기 위한 보안 프로토콜과 알로리즘 '모음'

confidentially  Integrity Availibilty


ipsec 상대방이랑 맞는지 보증 가능.
구성요소
-2가지 동작모드로 동작함(transport, tunnel)
transport는 끝에서 끝까지(단말에서 서버까지 전부 전체 암호화하는 방식)
tunnel은 vpn, vpn 사이 암호화가 되고 그 밖에는 암호화가 풀림. 즉 터널안에서만 암호화됨.
대부분 사설에서는 터널로 씀
왜냐면 transport쓸거면 서버, 사설 둘 다 공인 ip써야함

-보안 연계(security association) 
양쪽에서 둘 다 똑같은 보안 정책 적용해야함 (isakmp면 isakmp)

-2가지 헤더 타입(esp, ah)
esp는 암호화 있고 Encapsulating Security Payload
ah는 암호화없음. 응 ah 안써~

ipsec은 키 교환 메커니즘은 제공x
별도임 ㅋ 별도 추가로 필요한 메커니즘이 있어용..

ipsec 1,2단계가 끝나야 데이터 실제 암호화가 됨. 그리고 암호화 통신 가능하게됨
1단계 IKE
2단계 IPSEC
remote vpn 사용하는 경우. 1.5단계가 필요하다.!
예를 들어 회사에 있는 vpn 장비에 들어가면, 인증하라고 뜸(아이디,비번)
즉 사용자 인증하는거임.

Internet Key Exchange   IKE
(Internet Security Association and Key Management Protocol  ISAKMP 정책임  ike안에 있는 정책 종류

IKE 메인 모드에서는 6단계로 진행됨
IKE Quick 모드에서는 2단계로 진행됨

가장 기본적인 vpn은 site to site

왼쪽 site 끝부터 오른쪽 site까지 보호하겠다는 말



diffie-Hellman 알고리즘 (dh)는 공중망에서 똑같이 알 수 있는 알고리즘?
DH 알고리즘의 핵심은 상대방의 공개키와 나의 개인키를 이용하여 계산을 하면 비밀키가 나온다는 것이다.


ipsec설정하면 이렇게 됩니다!! 신기하져!!

Encapsulating Security Payload
    ESP SPI: 0x09402f5c (155201372)
    ESP Sequence: 7


안보이지롱~

 

VPN(Virtual Private Network).pptx
0.92MB

 

SSL-TLS_HTTPS.pdf
0.17MB
IPv6.pdf
1.23MB