ํƒœ๊ทธ ๋ณด๊ด€๋ฌผ: DHCP

DHCP 2: ๋ณด์•ˆ

DHCP์™€ ๊ด€๋ จ๋œ ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

1. DHCP Snooping
2. IP Source Guard
3. Dynamic ARP Inspection


1. DHCP Snooping

์ผ๋ฐ˜์ ์œผ๋กœ DHCP์™€ ๊ด€๋ จ๋œ ๊ณต๊ฒฉ์œผ๋กœ
โ‘  ๊ณต๊ฒฉ์ž๊ฐ€ DHCP ์„œ๋ฒ„ ํ–‰์„ธ ๋ฐ ํด๋ผ์ด์–ธํŠธ๋“ค์ด ๊ณต๊ฒฉ์ž์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ โ‘ก ๊ณต๊ฒฉ์ž๊ฐ€ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” IP๋ฅผ ๋ชจ๋‘ ๋ฐ›์•„๊ฐ€์„œ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๋“ค์ด IPํ• ๋‹น์„ ๋ฐ›์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ
์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 

์ด๋Ÿฐ ์œ ํ˜•์˜ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ์ˆ ์ด DHCP Snooping์ด๋‹ค.

1-1. DHCP Snooping ๋™์ž‘ ๋ฐฉ์‹

DHCP ์„œ๋ฒ„ ํ˜น์€ DHCP ๋ฆด๋ ˆ์ด ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋œ ํฌํŠธ๋ฅผ ‘Trusted’๋กœ ์ง€์ •ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋œ ํฌํŠธ๋ฅผ ‘Untrusted’๋กœ ์ง€์ •ํ•œ๋‹ค.

Trusted ํฌํŠธ์—์„œ ์ˆ˜์‹ ํ•œ DHCP ๋ฉ”์„ธ์ง€๋Š” ๋ณ„๋„๋กœ ํ™•์ธ์„ ํ•˜์ง€ ์•Š๊ณ ,
Untrusted ํฌํŠธ์—์„œ ์ˆ˜์‹ ํ•œ DHCP ์„œ๋ฒ„์˜ ๋ฉ”์„ธ์ง€, DHCP ๋ฆด๋ ˆ์ด ์„œ๋ฒ„์˜ ๋ฉ”์„ธ์ง€๋Š” ์ฐจ๋‹จํ•œ๋‹ค.
๋˜ํ•œ, Ethernet ํ”„๋ ˆ์ž„์˜ MAC ์ฃผ์†Œ์™€ DHCP ๋ฉ”์„ธ์ง€์˜ Client Hardware ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅด๋ฉด ์ฐจ๋‹จํ•œ๋‹ค.

1-2. DHCP Snooping ๋™์ž‘ ๊ณผ์ •

ํ† ํด๋กœ์ง€1. DHCP Snooping

– DHCP ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ๋œ F0/3 : Trusted Port
– ์ด์™ธ ๋‚˜๋จธ์ง€ ์ธํ„ฐํŽ˜์ด์Šค : Untrusted Port

1-3. DHCP Snooping ์„ค์ •

Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping <INTERFACE>
Switch(config)# 
Switch(config)# int <interface>
Switch(config-if)# ip dhcp snooping trust

# DHCP Snooping Binding Table ํ™•์ธ
Switch# show ip dhcp snooping binding

2. IP Source Guard

๊ณต๊ฒฉ์ž๊ฐ€ Source IP๋ฅผ ์†์—ฌ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์„ ์ฐจ๋‹จํ•œ๋‹ค. L2 ์žฅ๋น„์—์„œ ์‚ฌ์šฉํ•œ๋‹ค. DHCP Snooping๊ณผ ๋™์‹œ์— ์‚ฌ์šฉํ•œ๋‹ค.

* IP Spoofing = ๋‚จ์˜ IP๋ฅผ ์ž์‹ ์˜ ๊ฒƒ์ฒ˜๋Ÿผ ์†์ด๋Š” ํ–‰์œ„.

ํ† ํด๋กœ์ง€2. IP Spoofing ๋™์ž‘ ๋ฐฉ์‹

2-1. IP Source Guard ๋™์ž‘ ๋ฐฉ์‹

โ‘  ๊ณต๊ฒฉ์ž๊ฐ€ PING ํŒจํ‚ท์„ ์Šค์œ„์น˜๋กœ ์ „์†กํ•œ๋‹ค.

โ‘ก ํŒจํ‚ท์„ ๋ฐ›์€ PC๋Š” ๋ชฉํ‘œ ๋Œ€์ƒ์œผ๋กœ ์‘๋‹ตํ•œ๋‹ค.

ํ•˜์ง€๋งŒ IP Source Guard๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด,  โ‘  ์ดํ›„ ์Šค์œ„์น˜๊ฐ€ DHCP Binding Table์™€ ๋น„๊ตํ•œ๋‹ค.(IP Source Binding์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜๋„ ์žˆ๋‹ค.) 
๋น„๊ต ํ›„ ์ˆ˜์‹ ํ•œ ํ”„๋ ˆ์ž„์˜ ์ถœ๋ฐœ์ง€ IP๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด, ํ•ด๋‹น ํŒจํ‚ท์„ ์ฐจ๋‹จํ•œ๋‹ค.

2-2. IP Source Guard ์„ค์ •

[์„ค์ •]
๊ธฐ๋ณธ์œผ๋กœ DHCP Snooping ์„ค์ •์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

Switch(config)# int <interface>
Switch(config-if)# ip verify source

#IP Source Binding Table
Switch# show ip verify source

[IP Source Binding ์„ค์ •]

Switch(config)# ip source binding <MAC> <VLAN> <IP> <INTERFACE>

3. Dynamic ARP Inspection ; DAI

ARP Spoofing์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•ด DAI๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

3-1.  ARP Spoofing์ด๋ž€?

๊ณต๊ฒฉ์ž๊ฐ€ ARP ํŒจํ‚ท์„ ๋ณด๋‚ผ ๋•Œ, ์ž์‹ ์˜ MAC ์ฃผ์†Œ๋ฅผ GW๋‚˜ Server ๋“ฑ์˜ MAC ์ฃผ์†Œ๋กœ ์†์—ฌ์„œ ๋ณด๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  GW๋กœ๋Š” ์ž์‹ ์ด Host, Server๋ผ๊ณ  ๊ด‘๊ณ ํ•œ๋‹ค.  ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๊ฒฐ๊ตญ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ๊ณต๊ฒฉ์ž๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

ํŠนํžˆ๋‚˜, ARP๋Š” ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๊ธฐ์ ์œผ๋กœ ์ด๋Ÿฐ ์‹์œผ๋กœ ARP ๊ด‘๊ณ ๋ฅผ ํ•œ๋‹ค๋ฉด ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ๋“ค์€ ๊ณต๊ฒฉ์ž์˜ MAC์ฃผ์†Œ๊ฐ€ GW๋‚˜ ์„œ๋ฒ„์˜ MAC ์ฃผ์†Œ์ธ ์ค„ ์•Œ๊ฒŒ ๋˜๋ฏ€๋กœ ์œ„ํ—˜ํ•˜๋‹ค.

์ด๋Ÿฐ ํŒจํ‚ท์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•ด DAI๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


3-2. Dynamic ARP Inspection ๋™์ž‘ ๋ฐฉ์‹

DAI๊ฐ€ ๋™์ž‘ํ•˜๋ฉด ๋ชจ๋“  ARP ์š”์ฒญ/์‘๋‹ต ํŒจํ‚ท์„ ๊ฒ€์‚ฌํ•˜๊ฒŒ ๋œ๋‹ค.
์Šค์œ„์น˜๊ฐ€ ์ˆ˜์‹ ํ•œ ARP ํ”„๋ ˆ์ž„๊ณผ DHCP Binding Table ๋˜๋Š” ARP ACL์ด ์ผ์น˜ํ•ด์•ผ ํ”„๋ ˆ์ž„์„ ์ „์†กํ•œ๋‹ค.

3-3. Dynamic ARP Inspection ์„ค์ •

[์„ค์ •]
DAI๊ฐ€ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„  DHCP Snooping์ด ๋™์ž‘ํ•ด์•ผ ํ•œ๋‹ค.

Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping <VLAN>
Switch(config)# ip arp inspection <VLAN>
Switch(config)# 
Switch(config)# int <INTERFACE>
Switch(config-if)# ip dhcp snooping trust
Switch(config-if)# ip arp inspection trust

[ARP ACL ์„ค์ •]

Switch(config)# arp access-list <NAME>
Switch(config-arp-nacl)# permit ip <SOURCE> mac <DESTINATION>
Switch(config-arp-nacl)# exit
Switch(config)# 
Switch(config)# ip arp inspection filter <NAME> <VLAN>

DHCP 1: ๊ฐœ๋…

Dynamic Host Configuration Protocol

๋™์  ํ˜ธ์ŠคํŠธ ์„ค์ • ํ”„๋กœํ† ์ฝœ.
๋ง ๊ทธ๋Œ€๋กœ ๋™์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ IP๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœํ† ์ฝœ.

1. DHCP ๋™์ž‘๊ณผ์ •
2. DHCP Relay Agent


1. DHCP ๋™์ž‘๊ณผ์ •

โ‘  PC๋Š” DHCP ์„œ๋ฒ„๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด DHCP DISCOVER ๋ฉ”์„ธ์ง€๋ฅผ Broadcastํ•œ๋‹ค.
– ์ถœ๋ฐœ์ง€: 0.0.0.0
– ๋ชฉ์ ์ง€: 255.255.255.255 / udp 67
– ๋ณธ์ธ์˜ MAC์ฃผ์†Œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ณด๋‚ธ๋‹ค. 

โ‘ก DHCP ์„œ๋ฒ„๋Š” IP๋ฅผ ์ œ์•ˆํ•˜๊ธฐ ์œ„ํ•ด DHCP OFFER ๋ฉ”์„ธ์ง€๋ฅผ Broadcastํ•œ๋‹ค.
– ์ถœ๋ฐœ์ง€: DHCP ์„œ๋ฒ„์˜ IP
– ๋ชฉ์ ์ง€: 255.255.255.255
– ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์šฉํ•  IP, Subnet, GW, DNS, IP ์ž„๋Œ€ ์‹œ๊ฐ„, ๊ทธ๋ฆฌ๊ณ  ํด๋ผ์ด์–ธํŠธ์˜ MAC์„ ํฌํ•จํ•˜์—ฌ ๋ณด๋‚ธ๋‹ค.

โ‘ข PC๋Š” OFFER ๋ฉ”์„ธ์ง€๋กœ ๋ฐ›์€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด DHCP REQUEST ๋ฉ”์„ธ์ง€๋ฅผ Broadcastํ•œ๋‹ค.
– ์ถœ๋ฐœ์ง€: 0.0.0.0
– ๋ชฉ์ ์ง€: 255.255.255.255
– ์„œ๋ฒ„ IP๋ฅผ ์•Œ์•„๋„ Broadcast๋กœ ๋ณด๋‚ด๋Š” ์ด์œ ๋Š” ๋‹ค๋ฅธ DHCP์„œ๋ฒ„์—๊ฒŒ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•จ์ด๋‹ค.

โ‘ฃ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ธฐ ์œ„ํ•ด DHCP ACK๋ฅผ Broadcastํ•œ๋‹ค.
– ์ถœ๋ฐœ์ง€: DHCP ์„œ๋ฒ„์˜ IP
– ๋ชฉ์ ์ง€: 255.255.255.255


2. DHCP Relay Agent

DHCP ์„œ๋ฒ„๊ฐ€ ํ•ญ์ƒ ๊ฐ™์€ ๋ง์— ์†ํ•ด์žˆ์œผ๋ฆฌ๋ž€ ๋ณด์žฅ์€ ์—†๋‹ค.
์„œ๋กœ ๋‹ค๋ฅธ ๋ง์ด๋ผ๋ฉด L3์žฅ๋น„์—์„œ Relay Agent๋ฅผ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค.

[ DHCP ์„œ๋ฒ„๊ฐ€ 1๋Œ€์ธ ๊ฒฝ์šฐ]

Router(config)# service dhcp
Router(config)# int <INTERFACE_CONNECTD_BY_CLIENT>
Router(config-if)# ip helper-address <DHCP_SERVER_IP>
๏ปฟ

[ DHCP ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ๋Œ€์ธ ๊ฒฝ์šฐ ]

#์ˆ˜๋™์œผ๋กœ ์„œ๋ฒ„ ์ง€์ •
Router(config)# int <INTERFACE_CONNECTD_BY_CLIENT>
Router(config-if)# ip helper-address <DHCP_SERVER_IP_1>
Router(config-if)# ip helper-address <DHCP_SERVER_IP_2>

#์ž๋™์œผ๋กœ ์„œ๋ฒ„ ์ง€์ •
Router(config)# ip helper-address <DHCP_BROADCAST_IP>
Router(config)# int <INTERFACE_CONNECTD_BY_CLIENT>
Router(config-if)# ip directed-broadcast