Project

[Mini_Project] ๋ณธ์‚ฌ_์ง€์‚ฌ VPN ํ™œ์šฉํ•œ ๋„คํŠธ์›Œํฌ ๋ฐ ์„œ๋ฒ„ ๊ตฌ์ถ•

cumo 2025. 3. 2. 22:27
 

๐Ÿ“Œ 1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

ํ”„๋กœ์ ํŠธ๋ช… ๋ฐ ๊ธฐ๊ฐ„

ํ”„๋กœ์ ํŠธ ๋ช… : ๊ธฐ์—… ๋„คํŠธ์›Œํฌ ๋ฐ ํŒŒ์ผ ์„œ๋น„์Šค ๊ตฌ์ถ•

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ : 2025.02.25. ~ 2025.02.30.

ํ”„๋กœ์ ํŠธ ๋ชฉ์ 

  • AA ํšŒ์‚ฌ๋Š” ๋ณธ์‚ฌ์™€ ์ง€์‚ฌ๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์‚ฌ๋‚ด ์ง์›๋“ค์ด ๋‚ด๋ถ€์—์„œ ๋น ๋ฅด๊ฒŒ ํŒŒ์ผ์„
    ๊ณต์œ ํ•˜๊ณ , ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž๋งŒ ์™ธ๋ถ€์—์„œ๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑ
  • ์•ˆ์ •์ ์ธ IT ์ธํ”„๋ผ๋ฅผ ์œ„ํ•œ ๊ฐ€์ƒํ™”, ์ค‘์•™ ์‚ฌ์šฉ์ž ์ธ์ฆ ์‹œ์Šคํ…œ, ์•ˆ์ •์  ๋„คํŠธ์›Œํฌ ๋ผ์šฐํŒ… ์‚ฌ์šฉ

์ฃผ์š” ๊ธฐ๋Šฅ

  • DMZ ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ์ง€์‚ฌ ์ง์›์˜ ๋ณธ์‚ฌ ์„œ๋ฒ„ ์ ‘๊ทผ ๊ด€๋ฆฌ
  • Samba ๋ฐ Nextcloud๋ฅผ ํ™œ์šฉํ•œ ๋‚ด๋ถ€ ํŒŒ์ผ ๊ณต์œ  ๋ฐ ์™ธ๋ถ€ ํ˜‘์—… ํ™˜๊ฒฝ ์กฐ์„ฑ
  • WordPress ๊ธฐ๋ฐ˜ ์‚ฌ๋‚ด ์ •๋ณด ๊ณต์œ  ๋ฐ ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ตฌ์ถ•
  • LDAP ๊ธฐ๋ฐ˜์˜ ์ค‘์•™ ์‚ฌ์šฉ์ž ์ธ์ฆ ์‹œ์Šคํ…œ ์šด์˜
  • ์นจ์ž… ํƒ์ง€ ๋ฐ ๋Œ€์‘ ์‹œ์Šคํ…œ(IDS/IPS) ๊ณ ๋ ค ๋ฐ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰

๊ฐ€์šฉ์žฅ๋น„ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด:

  • ๊ฐ€์ƒํ™˜๊ฒฝ : Cisco ๋ผ์šฐํ„ฐ ๋ฐ ์Šค์œ„์น˜ (GNS3 ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ)
  • ์šด์˜์ฒด์ œ : Ubuntu Server, CentOS, Debian, Kali Linux
  • ์„œ๋ฒ„ ์šด์šฉ: Samba, Nextcloud, WordPress, LDAP/NIS
  • ์ €์žฅ ์‹œ์Šคํ…œ: RAID 5 + LVM์„ ์ ์šฉํ•œ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ

ํ•ด๋‹น ๋‚ด์šฉ ๋ณด์™„ ํ•„์š”

๐Ÿ“Œ 2. ์š”๊ตฌ์‚ฌํ•ญ 

๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ ์š”๊ตฌ์‚ฌํ•ญ
  - ๋ณธ์‚ฌ์™€ ์ง€์‚ฌ๋Š” ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์œผ๋ฉฐ DMZ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ œํ•œ์ ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ
  - ๋ณธ์‚ฌ ์ง์›์€ ๋‚ด๋ถ€ ์„œ๋ฒ„์— ์ง์ ‘ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ
  - Cisco ๋„คํŠธ์›Œํฌ ์žฅ๋น„๋ฅผ ํ™œ์šฉํ•˜์—ฌ VLAN, ACL ๋ฐ OSPF/EIGRP ์„ค์ •
2. ์„ธ๋ถ€์‚ฌํ•ญ
  - ๋ณธ์‚ฌ์™€ ์ง€์‚ฌ๋ฅผ ๋™์ ๋ผ์šฐํŒ…์„ ํ™œ์šฉํ•˜์—ฌ ์ž๋™ ๋ผ์šฐํŒ… ์—ฐ๊ฒฐ ( OSPF )
  - ๋ณธ์‚ฌ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ VLAN (10,20,30)์œผ๋กœ ๊ฐ๊ฐ (์ผ๋ฐ˜์ง์›,๊ฐœ๋ฐœํŒ€,DMZ) ๋ถ„๋ฆฌ
  - ACL์„ ์ ์šฉํ•˜์—ฌ VLAN 10์—์„œ ์›น ์„œ๋ฒ„๋กœ ์ ‘์† ๊ฐ€๋Šฅ
  - VLAN์€ ์ธํ„ฐ๋„ท๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜์—ฌ๋ผ
  - ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ
    ใ…‡ ๋ณธ์‚ฌ (192.168.111.0/24)
    ใ…‡ ์ง€์‚ฌ (192.168.33.0/24)

    ใ…‡ ์„œ๋ฒ„ (192.168.22.0/24)
ํŒŒ์ผ ๊ณต์œ  ์‹œ์Šคํ…œ
์„ค๊ณ„
1. ์š”๊ตฌ์‚ฌํ•ญ

   - RAID 5 + LVM์„ ์ ์šฉํ•œ ์•ˆ์ •์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์„ฑ
   - Samba ์„œ๋ฒ„๋ฅผ ํ™œ์šฉํ•œ ๋‚ด๋ถ€ ํŒŒ์ผ ๊ณต์œ  ํ™˜๊ฒฝ ๊ตฌ์ถ•
   - Nextcloud๋ฅผ ํ†ตํ•œ ์›น ๊ธฐ๋ฐ˜ ํŒŒ์ผ ๊ณต์œ  ๋ฐ ํ˜‘์—… ํ™˜๊ฒฝ ์ œ๊ณต
   - WordPress๋ฅผ ํ†ตํ•œ ๋‚ด๋ถ€ ๋ฌธ์„œ ๊ด€๋ฆฌ ๋ฐ ์šด์˜ ํ™˜๊ฒฝ ๊ตฌ์ถ•

2. ์„ธ๋ถ€์‚ฌํ•ญ

์ ‘๊ทผ ์ œ์–ด ๋ฐ ๋ณด์•ˆ 1. ์š”๊ตฌ์‚ฌํ•ญ

   -  LDAP/NIS ๊ธฐ๋ฐ˜ ์ค‘์•™ ์‚ฌ์šฉ์ž ์ธ์ฆ ์‹œ์Šคํ…œ ๊ตฌ์ถ•
   - ACL ๋ฐ ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์„ ์ ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๊ฐ•ํ™”
   - IPsec VPN์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์‚ฌ <-> ๋ณธ์‚ฌ ๊ฐ„ ํŒจํ‚ท ์•”ํ˜ธํ™” 
   - Kali Linux๋ฅผ ์ด์šฉํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์  ๋ถ„์„ ๋ฐ ARP ์Šคํ‘ธํ•‘ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰

2. ์„ธ๋ถ€์‚ฌํ•ญ
   
- IPsev VPN์„ ์‚ฌ์šฉํ•˜์—ฌ ISP ๋ฌผ๋ฆฌ์  ์—ฐ๊ฒฐ์ด ๋–จ์–ด์ง„๋ง์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ๋ฐ ์•”ํ˜ธํ™” ์ง„ํ–‰

 

 

๐Ÿ“Œ 3. ํ”„๋กœ์ ํŠธ ์ง„ํ–‰

 

3.1 ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ๋„

 

3.2  ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ

IP ์ง€์ •

#Server
@ip 
Server to DMZ : 192.168.111.128/29
Server : 192.168.111.0/25
Server to HQ : 192.168.111.140/30

#Server VPN
@๋‚ด๋ถ€
g0/1 : 192.168.111.136/30
@๊ณต์ธ
f0/0 : 20.20.2.1/30
@ospf #๊ณต์ธ IP ๋ผ์šฐํŒ…
network 20.20.2.0 0.0.0.3 area 1

#Branch
@๋‚ด๋ถ€ IP
f01 : 192.168.33.1/24
@๊ณต์ธ
f0/0 : 30.30.2.1/30
@ospf #๊ณต์ธ IP ๋ผ์šฐํŒ…
network 30.30.2.0 0.0.0.3 area 1


#ISP (๊ณต์ธ ์ธํ„ฐ๋„ท)
f0/0 : 20.20.2.2/30
f0/1 : 30.30.2.2/30
@ospf #๋ผ์šฐํŒ… 
0.0.0.0 255.255.255.255 area 1 #๋ชจ๋“  ํŒจํ‚ท ํ™œ์„ฑํ™”

# Server_VPN ํ„ฐ๋„
tunnel 1 : 10.10.1.1/24
tunnel sorce 20.20.2.1 # ํ„ฐ๋„ ์ถœ๋ฐœ์ง€
tunnel destination 30.30.2.1 # ํ„ฐ๋„ ๋„์ฐฉ์ง€

@Branch
ํ„ฐ๋„
tunnel 1 : 10.10.1.2/30 
tunnel sorce 30.30.2.1 # ํ„ฐ๋„ ์ถœ๋ฐœ์ง€
tunnel destination 20.20.2.1 # ํ„ฐ๋„ ๋„์ฐฉ์ง€

๋‚ด๋ถ€๋ง IP Routing

#Server VPN

router ospf 1 
network 192.168.111.136 0.0.0.3 area 0
ip route 192.168.111.128 255.255.255.248 192.168.111.129 # VMware Server ๋ผ์šฐํŒ…

#HQ
๋นˆ์นธ
#Server
ospf 1
network 192.168.111.0/24 #๋‚ด๋ถ€ ์ฃผ์†Œ ์ถ•์•ฝ


#VMware server
ip route add 192.168.111.0 255.255.255.128 via 192.168.111.129
ip route add 192.168.33.0 255.255.255.0 via 192.168.111.129

Branch
ospf 1
network 192.168.33.0 0.0.0.255 area 0
ip route 192.168.111.128 255.255.255.248 10.10.1.2 #ํ„ฐ๋„์„ ํ†ตํ•œ IP route

GRE ํ„ฐ๋„์„ ์ด์šฉํ•œ ์ „๋‹ฌ

IPsec VPN ์ ์šฉ

#Server-VPN, Branch ๊ณตํ†ต
IKE Phase 1 # ์ •์ฑ… ์ˆ˜๋ฆฝ

crypto isakmp policy 10 
encryption aes 256
hash sha
authentication pre-share
group 5
lifetime 3600


#Server_VPN
ISAKMP ์ธ์ฆ ์•”ํ˜ธ ์ง€์ •
crypto iskmp key 0 VPN_KEY address 30.30.2.1 #์ƒ๋Œ€๋ฐฉ ์ˆ˜์‹  ๋ฌผ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค

IKE Phase 2์—์„œ ๋ณดํ˜ธํ•  ํŠธ๋ž˜ํ”ฝ ์ง€์ •
ip access-list extended VPN
permit gre host 20.20.2.1 host 30.30.2.1 #์ •์ฑ… ์ถ”ํ›„ ์ˆ˜์ •

ํŠธ๋ž˜ํ”ฝ ์•”ํ˜ธํ™” ์ •์ฑ… ์ง€์ •
crypto ipsce transform-set VPN_TRANS esp-aes esp-sha-hmac

Crypto Map์œผ๋กœ ์ง€์ •ํ•œ ์ •์ฑ… ์กฐํ•ฉ
crypto map VPN_MAP 10 ipsec-isakmp #MAP ์ƒ์„ฑ
match address VPN #์‚ฌ์šฉํ• access list Match
set peer 30.30.2.1
set transform-set VPN 

์ถœ๊ตฌ ์ธํ„ฐํŽ˜์ด์Šค์— MAP ์ ์šฉ
int g0/0
crypto map VPN_MAP

#Branch
ISAKMP ์ธ์ฆ ์•”ํ˜ธ ์ง€์ •
crypto iskmp key 0 VPN_KEY address 30.30.2.1 #์ƒ๋Œ€๋ฐฉ ์ˆ˜์‹  ๋ฌผ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค

IKE Phase 2์—์„œ ๋ณดํ˜ธํ•  ํŠธ๋ž˜ํ”ฝ ์ง€์ •
ip access-list extended VPN
permit gre host 30.30.2.1 host 20.20.2.1 #์ •์ฑ… ์ถ”ํ›„ ์ˆ˜์ •

ํŠธ๋ž˜ํ”ฝ ์•”ํ˜ธํ™” ์ •์ฑ… ์ง€์ •
crypto ipsce transform-set VPN_TRANS esp-aes esp-sha-hmac

Crypto Map์œผ๋กœ ์ง€์ •ํ•œ ์ •์ฑ… ์กฐํ•ฉ
crypto map VPN_MAP 10 ipsec-isakmp #MAP ์ƒ์„ฑ
match address VPN #์‚ฌ์šฉํ• access list Match
set peer 20.20.20.1
set transform-set VPN_TRANS

์ถœ๊ตฌ ์ธํ„ฐํŽ˜์ด์Šค์— MAP ์ ์šฉ
int g0/0
crypto map VPN_MAP

 

ํŒจํ‚ท ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ

GRE over IPsev

 

Server ์—ฐ๊ฒฐ

#Mware network = 192.168.111.0/25 : host only
                 dhcp : Bridge
                 
#VMware to GNS3 Routing
ip route add 192.168.111.136/30 via 192.168.111.1
ip route add [๋ณธ์‚ฌ๋„คํŠธ์›Œํฌ]/prefix via 192.168.111.1
ip route add 192.168.33.0/24 via 192.168.111.1

HQ,Branch <-> Server Ping

 

ENG ,HR, SALES, Main ๊ณตํ†ต ์„ค์ •

#SW
vlan 10
name SALES
vlan 20
name: ENG
vlan 20
name: HR



SW-SALES
int range g0/1-2
switchport mode access 
switchport access vlan 10
int g0/0
switchport trunk enaptulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20,30

SW-ENG
int range g0/1-2
switchport mode access 
switchport access vlan 20
int g0/0
switchport trunk enaptulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20,30

SW-HR
int range g0/1-2
switchport mode access 
switchport access vlan 30
int g0/0
switchport trunk enaptulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20,30

SW-MAIN
int range g0/0-2 #๊ฐ SW ์ธํ„ฐํŽ˜์ด์Šค

#๋ผ์šฐํ„ฐ ์„ค์ •

configure terminal

int g0/0
 no shutdown
!
int g0/0.10
 encapsulation dot1Q 1
 ip address 192.168.22.1 255.255.255.192
!
int g0/0.20
 encapsulation dot1Q 2
 ip address 192.168.22.65 255.255.255.192
!
int g0/0.30
 encapsulation dot1Q 3
 ip address 192.168.22.129 255.255.255.192

router ospf1

 

3.4 ์ ‘๊ทผ์ œ์–ด ๋ฐ ๋ณด์•ˆ

IP ๋ฐ VLAN ์„ค์ •

1. IP ์„ค์ •
pc4 -> 192.168.222.1 // default-gateway 192.168.222.62 // /26
pc3 -> 192.168.222.2 // default-gateway 192.168.222.62 // /26
pc8 -> 192.168.222.65 // default-gateway 192.168.222.126 // /26
pc7 -> 192.168.222.66 // default-gateway 192.168.222.126 // /26
pc6 -> 192.168.222.129 // default-gateway 192.168.222.190 // /26
pc5 -> 192.168.222.130 // default-gateway 192.168.222.190 // /26

2. vlan ์„ค์ •

// SW-1 //
en
conf t
vlan 10
name VLAN10
exit
int g0/3
switchport mode access
switchport access vlan 10
exit
int g0/2
switchport mode access
switchport access vlan 10
exit
vlan 20
name VLAN20
exit
int g0/0
switchport mode access
switchport access vlan 20
exit
int g0/1
switchport mode access
switchport access vlan 20
exit
vlan 30
name VLAN30
exit
int g1/0
switchport mode access
switchport access vlan 30
exit
int g1/1
switchport mode access
switchport access vlan 30
exit
int g1/2
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 10,20,30

// HQ // -> int f0/0์— IP ์ฃผ์†Œ ํ• ๋‹น x
conf t
int f0/0
no shutdown
exit

int f0/0.1
encapsulation dot1Q 10
ip addr 192.168.222.62 255.255.255.192
exit

int f0/0.2
encapsulation dot1Q 20
ip addr 192.168.222.126 255.255.255.192
exit

int f0/0.3
encapsulation dot1Q 30
ip addr 192.168.222.190 255.255.255.192

3. ๋ผ์šฐํŒ…
// HQ //
conf t
router ospf 1
network 192.168.222.0 0.0.0.63 area 0
network 192.168.222.64 0.0.0.63 area 0
network 192.168.222.128 0.0.0.63 area 0
network 192.168.111.132 0.0.0.3 area 0

// Server //
conf t
router ospf 1
network 192.168.111.132 0.0.0.3 area 0
network 192.168.111.128 0.0.0.3 area 0
network 192.168.111.0 0.0.0.127 area 0

// Server-VPN //
conf t
router ospf 1
network 192.168.111.128 0.0.0.3 area 0
network 20.20.2.0 0.0.0.3 area 0
network 192.168.223.0 0.0.0.3 area 0

// IPS //
conf t
router ospf 1
network 20.20.2.0 0.0.0.3 area 0
network 30.30.2.0 0.0.0.3 area 0

// Branch //
conf t
router ospf 1
network 30.30.2.0 0.0.0.3 area 0
network 192.168.33.0 0.0.0.255 area 0

3. NAT ์„ค์ •
// Server-VPN //
conf t
int f2/0
ip addr dhcp
no shut

// Server-VPN //
conf t
router ospf 1
default-information originate

// Server-VPN //
conf t
int f2/0
ip nat outside
int f1/0
ip nat inside
int f0/0
ip nat inside
int f1/1
ip nat inside
exit
ip nat inside source list 1 interface f2/0
access-list 1 permit any

 

 

๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •

4. ACL ์„ค์ •
// HQ //
conf t
ip access-list extended HQ
deny ip 192.168.222.0 0.0.0.63 host 192.168.223.2
deny ip 192.168.222.64 0.0.0.63 host 192.168.223.2
deny ip 192.168.222.128 0.0.0.63 host 192.168.223.2
permit ip any any
int f1/0
ip access-group HQ out

// Branch //
conf t
ip access-list extended branch
deny ip 192.168.33.0 0.0.0.255 192.168.111.0 0.0.0.127
permit ip any any
int f1/0
ip access-group branch out


//Server VPN //
ip access-list extended VPN
permit ip [Branch]
deny any any

 

 

์›น ์„œ๋ฒ„ ๊ตฌ์„ฑ

Wordpress๋ฅผ ์‚ฌ์šฉํ•œ ์›น ์‚ฌ์ดํŠธ ์ ‘์† ํ—ˆ์šฉ
NextCloud WEB์„œ๋ฒ„ ๊ตฌ์„ฑ