Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

ะ’ ์ด์ „ ๊ธฐ์‚ฌ Ubuntu 18.04 LTS์—์„œ Suricata์˜ ์•ˆ์ •์ ์ธ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ๋…ธ๋“œ์—์„œ IDS๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ฌด๋ฃŒ ๊ทœ์น™ ์„ธํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” ๊ฐ€์ƒ ์„œ๋ฒ„์— ์„ค์น˜๋œ Suricata๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์œ ํ˜•์˜ ๊ณต๊ฒฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์—… ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋‘ ๊ฐœ์˜ ์ปดํ“จํŒ… ์ฝ”์–ด๊ฐ€ ์žˆ๋Š” Linux์˜ VDS๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. RAM์˜ ์–‘์€ ๋ถ€ํ•˜์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค: ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” 2GB๋ฉด ์ถฉ๋ถ„ํ•˜๊ณ  ๋” ์‹ฌ๊ฐํ•œ ์ž‘์—…์—๋Š” 4GB ๋˜๋Š” 6GB๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์žฅ์ ์€ ์‹คํ—˜ ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค: ์ตœ์†Œํ•œ์˜ ๊ตฌ์„ฑ์œผ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ํ•„์š”์— ๋”ฐ๋ผ ์ž์›.

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ์‚ฌ์ง„: ๋กœ์ดํ„ฐ

๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ

๋จผ์ € ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด IDS๋ฅผ ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ ์ œ๊ฑฐํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•ด ๋ณธ ์ ์ด ์—†๋‹ค๋ฉด ์„œ๋‘˜๋Ÿฌ ๋ฌผ๋ฆฌ์  ํ•˜๋“œ์›จ์–ด๋ฅผ ์ฃผ๋ฌธํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ณ€๊ฒฝํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์„ ์•ˆ์ „ํ•˜๊ณ  ๋น„์šฉ ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์ปดํ“จํŒ… ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํšŒ์‚ฌ ํŠธ๋ž˜ํ”ฝ์ด ๋‹จ์ผ ์™ธ๋ถ€ ๋…ธ๋“œ๋ฅผ ํ†ต๊ณผํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ(๋˜๋Š” ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ)๋ฅผ IDS Suricata๊ฐ€ ์„ค์น˜๋œ VDS์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์—ํ…Œ๋ฅด - ๊ฐ•๋ ฅํ•œ ์•”ํ˜ธํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ตฌ์„ฑํ•˜๊ธฐ ์‰ฌ์šด ๊ต์ฐจ ํ”Œ๋žซํผ VPN ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ์‚ฌ๋ฌด์‹ค ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์—๋Š” ์‹ค์ œ IP๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ VPS์— ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Ubuntu ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ํŒจํ‚ค์ง€๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋‹ค์Œ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์‚ฌ์ดํŠธ๋˜๋Š” ์„œ๋น„์Šค์˜ ์™ธ๋ถ€ ์ €์žฅ์†Œ์—์„œ ๋Ÿฐ์น˜ ํŒจ๋“œ (๋‹น์‹ ์ด ๊ทธ๋ฅผ ์‹ ๋ขฐํ•œ๋‹ค๋ฉด):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒจํ‚ค์ง€ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

apt-cache search softether

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

softether-vpnserver(ํ…Œ์ŠคํŠธ ๊ตฌ์„ฑ์˜ ์„œ๋ฒ„๋Š” VDS์—์„œ ์‹คํ–‰ ์ค‘์ž„)์™€ ์ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ธ softether-vpncmd๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

sudo apt-get install softether-vpnserver softether-vpncmd

์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ํŠน์ˆ˜ ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

sudo vpncmd

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

์šฐ๋ฆฌ๋Š” ์„ค์ •์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์ด์•ผ๊ธฐํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ณ  ์ˆ˜๋งŽ์€ ์ถœํŒ๋ฌผ์— ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ธฐ์‚ฌ์˜ ์ฃผ์ œ์™€ ์ง์ ‘ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ฆ‰, vpncmd๋ฅผ ์‹œ์ž‘ํ•œ ํ›„ ํ•ญ๋ชฉ 1์„ ์„ ํƒํ•˜์—ฌ ์„œ๋ฒ„ ๊ด€๋ฆฌ ์ฝ˜์†”๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ํ—ˆ๋ธŒ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋Š” ๋Œ€์‹  localhost๋ผ๋Š” ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ณ  Enter ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜์†”์—์„œ serverpasswordset ๋ช…๋ น์œผ๋กœ ๊ด€๋ฆฌ์ž ์•”ํ˜ธ๋ฅผ ์„ค์ •ํ•˜๊ณ  DEFAULT ๊ฐ€์ƒ ํ—ˆ๋ธŒ๋ฅผ ์‚ญ์ œํ•˜๊ณ (hubdelete ๋ช…๋ น) Suricata_VPN์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ƒˆ ๊ฐ€์ƒ ํ—ˆ๋ธŒ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น ์•”ํ˜ธ๋„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(hubcreate ๋ช…๋ น). ๋‹ค์Œ์œผ๋กœ ํ—ˆ๋ธŒ Suricata_VPN ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ํ—ˆ๋ธŒ์˜ ๊ด€๋ฆฌ ์ฝ˜์†”๋กœ ์ด๋™ํ•˜์—ฌ groupcreate ๋ฐ usercreate ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ฃน ๋ฐ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์•”ํ˜ธ๋Š” userpasswordset์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

SoftEther๋Š” SecureNAT ๋ฐ Local Bridge์˜ ๋‘ ๊ฐ€์ง€ ํŠธ๋ž˜ํ”ฝ ์ „์†ก ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์ž์ฒด NAT ๋ฐ DHCP๋กœ ๊ฐ€์ƒ ์‚ฌ์„ค๋ง์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋…์  ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. SecureNAT์—๋Š” TUN/TAP, Netfilter ๋˜๋Š” ๊ธฐํƒ€ ๋ฐฉํ™”๋ฒฝ ์„ค์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ผ์šฐํŒ…์€ ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฉฐ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ€์ƒํ™”๋˜์–ด ์‚ฌ์šฉ๋˜๋Š” ํ•˜์ดํผ๋ฐ”์ด์ €์— ๊ด€๊ณ„์—†์ด ๋ชจ๋“  VPS/VDS์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด SoftEther ๊ฐ€์ƒ ํ—ˆ๋ธŒ๋ฅผ ๋ฌผ๋ฆฌ์  ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ ๋˜๋Š” TAP ์žฅ์น˜์— ์—ฐ๊ฒฐํ•˜๋Š” ๋กœ์ปฌ ๋ธŒ๋ฆฌ์ง€ ๋ชจ๋“œ์— ๋น„ํ•ด CPU ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์†๋„๊ฐ€ ๋Š๋ ค์ง‘๋‹ˆ๋‹ค.

Netfilter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋„ ์ˆ˜์ค€์—์„œ ๋ผ์šฐํŒ…์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ฒฝ์šฐ ๊ตฌ์„ฑ์ด ๋” ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ VDS๋Š” Hyper-V์— ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฏ€๋กœ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ ๋กœ์ปฌ ๋ธŒ๋ฆฌ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ TAP ์žฅ์น˜๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ๋ธŒ ๊ด€๋ฆฌ ์ฝ˜์†”์„ ์ข…๋ฃŒํ•˜๋ฉด ์•„์ง IP๊ฐ€ ํ• ๋‹น๋˜์ง€ ์•Š์€ ์‹œ์Šคํ…œ์˜ ์ƒˆ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ifconfig

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

๋‹ค์Œ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์ธํ„ฐํŽ˜์ด์Šค ๊ฐ„ ํŒจํ‚ท ๋ผ์šฐํŒ…(ip ์ „๋‹ฌ)์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

sudo nano /etc/sysctl.conf

๋‹ค์Œ ์ค„์˜ ์ฃผ์„ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•˜์‹ญ์‹œ์˜ค.

net.ipv4.ip_forward = 1

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  ํŽธ์ง‘๊ธฐ๋ฅผ ์ข…๋ฃŒํ•œ ํ›„ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

sudo sysctl -p

๋‹ค์Œ์œผ๋กœ ๊ฐ€์ƒ IP(์˜ˆ: 10.0.10.0/24)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์„œ๋ธŒ๋„ท์„ ์ •์˜ํ•˜๊ณ  ์ธํ„ฐํŽ˜์ด์Šค์— ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

sudo ifconfig tap_suricata_vp 10.0.10.1/24

๊ทธ๋Ÿฐ ๋‹ค์Œ Netfilter ๊ทœ์น™์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ฒญ์ทจ ํฌํŠธ์—์„œ ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค(SoftEther ๋…์  ํ”„๋กœํ† ์ฝœ์€ HTTPS ๋ฐ ํฌํŠธ 443 ์‚ฌ์šฉ).

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2. 10.0.10.0/24 ์„œ๋ธŒ๋„ท์—์„œ ๋ฉ”์ธ ์„œ๋ฒ„ IP๋กœ NAT ์„ค์ •

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. ์„œ๋ธŒ๋„ท 10.0.10.0/24์—์„œ ํŒจํ‚ท ์ „๋‹ฌ ํ—ˆ์šฉ

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. ์ด๋ฏธ ์„ค์ •๋œ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ „๋‹ฌ ํŒจํ‚ท ํ—ˆ์šฉ

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

์ดˆ๊ธฐํ™” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ ํ”„๋กœ์„ธ์Šค์˜ ์ž๋™ํ™”๋Š” ๋…์ž์—๊ฒŒ ์ˆ™์ œ๋กœ ๋‚จ๊ฒจ ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์— IP๋ฅผ ์ž๋™์œผ๋กœ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋กœ์ปฌ ๋ธŒ๋ฆฌ์ง€์šฉ DHCP ์„œ๋น„์Šค๋„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ์จ ์„œ๋ฒ„ ์„ค์ •์ด ์™„๋ฃŒ๋˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SoftEther๋Š” ๋งŽ์€ ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋ฉฐ ๊ทธ ์‚ฌ์šฉ์€ LAN ์žฅ๋น„์˜ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

netstat -ap |grep vpnserver

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

ํ…Œ์ŠคํŠธ ๋ผ์šฐํ„ฐ๋„ Ubuntu์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋…์  ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์™ธ๋ถ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ softether-vpnclient ๋ฐ softether-vpncmd ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

sudo vpnclient start

๊ตฌ์„ฑํ•˜๋ ค๋ฉด vpncmd ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ vpnclient๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ์‹œ์Šคํ…œ์œผ๋กœ localhost๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ช…๋ น์€ ์ฝ˜์†”์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค(NicCreate)์™€ ๊ณ„์ •(AccountCreate)์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ์šฐ์— ๋”ฐ๋ผ AccountAnonymousSet, AccountPasswordSet, AccountCertSet ๋ฐ AccountSecureCertSet ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. DHCP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ƒ ์–ด๋Œ‘ํ„ฐ์˜ ์ฃผ์†Œ๋Š” ์ˆ˜๋™์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ip forward(/etc/sysctl.conf ํŒŒ์ผ์—์„œ net.ipv4.ip_forward=1 ์˜ต์…˜)๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ •์  ๊ฒฝ๋กœ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ Suricata๊ฐ€ ํฌํ•จ๋œ VDS์—์„œ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ์„ค์น˜๋œ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํฌํŠธ ํฌ์›Œ๋”ฉ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๋ณ‘ํ•ฉ์ด ์™„๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ์•ˆ๋œ ๊ตฌ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

Suricata ์„ค์ •

ะ’ ์ด์ „ ๊ธฐ์‚ฌ ์šฐ๋ฆฌ๋Š” NFQUEUE ํ(NFQ ๋ชจ๋“œ)๋ฅผ ํ†ตํ•œ ๊ฒƒ๊ณผ ์ œ๋กœ ๋ณต์‚ฌ(AF_PACKET ๋ชจ๋“œ)๋ฅผ ํ†ตํ•œ IDS์˜ ๋‘ ๊ฐ€์ง€ ์ž‘๋™ ๋ชจ๋“œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” ๋‘ ๊ฐœ์˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ /etc/default/suricata์—์„œ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ /etc/suricata/suricata.yaml์—์„œ vars ์„น์…˜์„ ํŽธ์ง‘ํ•˜์—ฌ ๊ฐ€์ƒ ์„œ๋ธŒ๋„ท์„ ํ™ˆ์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

IDS๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

systemctl restart suricata

์†”๋ฃจ์…˜์ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์•…์˜์ ์ธ ํ–‰๋™์— ๋Œ€ํ•œ ์ €ํ•ญ๋ ฅ์„ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฒฉ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

์™ธ๋ถ€ IDS ์„œ๋น„์Šค์˜ ์ „ํˆฌ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DDoS ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ(์ฃผ ๋ชฉ์ )

๋ถ„์„์„ ์œ„ํ•œ ํŒจํ‚ท์ด ์ธํ„ฐ๋„ท์„ ๋ณด๋Š” ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค์— ๋„๋‹ฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์—… ๋„คํŠธ์›Œํฌ ๋‚ด๋ถ€์—์„œ ์ด๋Ÿฌํ•œ ์˜ต์…˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. IDS๊ฐ€ ์ฐจ๋‹จํ•˜๋”๋ผ๋„ ์Šคํ“จ๋ฆฌ์–ด์Šค ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ๋งํฌ๊ฐ€ ๋‹ค์šด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ๋ชจ๋“  ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ๊ณผ ๋ชจ๋“  ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํžˆ ์ƒ์‚ฐ์ ์ธ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ์žˆ๋Š” VPS๋ฅผ ์ฃผ๋ฌธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋ฌด์‹ค ์ฑ„๋„์„ ํ™•์žฅํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ข…์ข… ๋” ์‰ฝ๊ณ  ์ €๋ ดํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์•ˆ์œผ๋กœ DDoS ๋ฐฉ์–ด๋ฅผ ์œ„ํ•œ ์ „๋ฌธ ์„œ๋น„์Šค๋ฅผ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ์„œ๋น„์Šค ๋น„์šฉ์€ ๊ฐ€์ƒ ์„œ๋ฒ„์˜ ๋น„์šฉ๊ณผ ๋น„์Šทํ•˜๋ฉฐ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๋Š” ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š์ง€๋งŒ ๋‹จ์ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์˜ ๋ˆ์— ๋Œ€ํ•ด DDoS ๋ณดํ˜ธ๋งŒ ๋ฐ›๋Š” ๋ฐ˜๋ฉด ์ž์‹ ์˜ IDS๋Š” ๊ท€ํ•˜๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹๋‹ค.

๋‹ค๋ฅธ ์œ ํ˜•์˜ ์™ธ๋ถ€ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ

Suricata๋Š” ์ธํ„ฐ๋„ท์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์—… ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค(๋ฉ”์ผ ์„œ๋ฒ„, ์›น ์„œ๋ฒ„, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ)์˜ ๋‹ค์–‘ํ•œ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋ ค๋Š” ์‹œ๋„์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ์ด๋ฅผ ์œ„ํ•ด IDS๋Š” ๋ณด๋” ๋””๋ฐ”์ด์Šค ์ดํ›„ LAN ๋‚ด๋ถ€์— ์„ค์น˜๋˜์ง€๋งŒ ์™ธ๋ถ€๋กœ ๊ฐ€์ ธ๊ฐ€๋ฉด ์กด์žฌํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ๋‹ค.

๋‚ด๋ถ€์ž๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ

์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์˜ ์ตœ์„ ์˜ ๋…ธ๋ ฅ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํšŒ์‚ฌ ๋„คํŠธ์›Œํฌ์˜ ์ปดํ“จํ„ฐ๋Š” ๋งฌ์›จ์–ด์— ๊ฐ์—ผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ถˆ๋ฒ•์  ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ํ›Œ๋ฆฌ๊ฑด์ด ๋•Œ๋•Œ๋กœ ์ง€์—ญ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Suricata๋Š” ์ด๋Ÿฌํ•œ ์‹œ๋„๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณดํ˜ธํ•˜๋ ค๋ฉด ๊ฒฝ๊ณ„ ๋‚ด๋ถ€์— ์„ค์น˜ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ํ•˜๋‚˜์˜ ํฌํŠธ๋กœ ๋ฏธ๋Ÿฌ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฆฌํ˜• ์Šค์œ„์น˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์™ธ๋ถ€ IDS๋„ ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ LAN์— ์ƒ์ฃผํ•˜๋Š” ๋งฌ์›จ์–ด๊ฐ€ ์™ธ๋ถ€ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋จผ์ € VPS๋ฅผ ๊ณต๊ฒฉํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ๋ผ์šฐํ„ฐ์—์„œ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์œผ๋กœ Apache๋ฅผ ์˜ฌ๋ฆฐ ๋‹ค์Œ IDS ์„œ๋ฒ„์—์„œ 80๋ฒˆ์งธ ํฌํŠธ๋ฅผ VPS๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๊ณต๊ฒฉ ํ˜ธ์ŠคํŠธ์˜ DDoS ๊ณต๊ฒฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด GitHub์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๊ณต๊ฒฉ ๋…ธ๋“œ์—์„œ ์ž‘์€ xerxes ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค(gcc ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Œ).

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

๊ทธ๋…€์˜ ์ž‘์—… ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

Suricata๋Š” ์•…๋‹น์„ ์ฐจ๋‹จํ•˜๊ณ  ์ฆ‰์„ ๊ณต๊ฒฉ๊ณผ "์‚ฌ๋ฌด์‹ค"(์‹ค์ œ๋กœ๋Š” ์ง‘) ๋„คํŠธ์›Œํฌ์˜ ๋‹ค์†Œ ์ฃฝ์€ ์ฑ„๋„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ Apache ํŽ˜์ด์ง€๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ๋ณด๋‹ค ์‹ฌ๊ฐํ•œ ์ž‘์—…์˜ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€ ์Šค ํ”Œ๋ฆฌํŠธ ํ”„๋ ˆ์ž„ ์›Œํฌ. ์นจํˆฌ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ๋‹ค์–‘ํ•œ ๊ณต๊ฒฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ์ง€์นจ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ํ”„๋กœ์ ํŠธ ์›น ์‚ฌ์ดํŠธ์—์„œ. ์„ค์น˜ ํ›„ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

sudo msfupdate

ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด msfconsole์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

์•ˆํƒ€๊น๊ฒŒ๋„ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ตœ์‹  ๋ฒ„์ „์—๋Š” ์ž๋™ ํฌ๋ž™ ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ต์Šคํ”Œ๋กœ์ž‡์„ ์ˆ˜๋™์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  use ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„ , ์˜ˆ๋ฅผ ๋“ค์–ด nmap์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฒฉ๋œ ์‹œ์Šคํ…œ์—์„œ ์—ด๋ ค ์žˆ๋Š” ํฌํŠธ๋ฅผ ๊ฒฐ์ •ํ•œ ๋‹ค์Œ(์ด ๊ฒฝ์šฐ ๊ณต๊ฒฉ์„ ๋ฐ›์€ ํ˜ธ์ŠคํŠธ์—์„œ netstat๋กœ ์™„์ „ํžˆ ๋Œ€์ฒด๋จ) ์ ์ ˆํ•œ ํฌํŠธ๋ฅผ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ฉ”ํƒ€์Šคํ”Œ๋กœ์ž‡ ๋ชจ๋“ˆ

์˜จ๋ผ์ธ ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ IDS์˜ ๋ณต์›๋ ฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ๊ธฐ์‹ฌ์„ ์œ„ํ•ด ํ‰๊ฐ€ํŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. IP ์ŠคํŠธ๋ ˆ์„œ. ๋‚ด๋ถ€ ์นจ์ž…์ž์˜ ํ–‰๋™์— ๋Œ€ํ•œ ๋ฐ˜์‘์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์˜ ์ปดํ“จํ„ฐ ์ค‘ ํ•˜๋‚˜์— ํŠน์ˆ˜ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์˜ต์…˜์ด ์žˆ์œผ๋ฉฐ ๋•Œ๋•Œ๋กœ ์‹คํ—˜ ์‚ฌ์ดํŠธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž‘์—… ์‹œ์Šคํ…œ์—๋„ ์ ์šฉํ•ด์•ผํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์ด์•ผ๊ธฐ์ž…๋‹ˆ๋‹ค.

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

Snort ๋˜๋Š” Suricata. ํŒŒํŠธ 3: ์‚ฌ๋ฌด์‹ค ๋„คํŠธ์›Œํฌ ๋ณดํ˜ธ

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€