๐Ÿ“‚๋„คํŠธ์›Œํฌ&์„œ๋ฒ„/๐Ÿง๋ฆฌ๋ˆ…์Šค(Linux)

26์ผ์ฐจ(3.21) ์ปค๋„์ด๋‚˜ ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฐฐ๋„ˆ(banner) ํŒŒ์ผ ๊ด€๋ฆฌํ•˜๊ธฐ ๊ฐ€์ƒ ํŒŒ์ผ์‹œ์Šคํ…œ์ธ /proc ํŒŒ์ผ ์กฐ์ •ํ•˜๊ธฐ Telnet, FTP๋‚˜ SSH, HTTP ์„œ๋น„์Šค์™€ ์—ด๋ฆฐ ํฌํŠธ ๋“ฑ ์กฐ์ ˆํ•˜๊ธฐ SYN Flooding ๊ณต๊ฒฉ ๋ง‰๊ธฐ

๐Ÿ‘ฉ‍๐ŸŽ“์ธํ…”๋ฆฌ๊ฐ์ž๐Ÿฅ” 2023. 3. 22. 18:48

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๋„ ์ค‘์š”ํ•œ ๋ณด์•ˆ์ƒ ์„ค์ •์ด๋‹ค. ๋ช‡ ๊ฐ€์ง€๋ฅผ ์•Œ์•„๋ณด์ž.
1-1. ๊ธฐ๋ณธ ์ปดํŒŒ์ผ๋Ÿฌ gcc/c++๋ฅผ root๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ํผ๋ฏธ์…˜ ๋ณ€๊ฒฝํ•˜๊ธฐ
1-2. ์ฃผ์š” ๋ช…๋ น์–ด์™€ ํ™˜๊ฒฝ ์„ค์ •ํŒŒ์ผ, ํŒŒํ‹ฐ์…˜, ์„œ๋น„์Šค ๋ฐ๋ชฌ ๋“ฑ ๋ฐฑ์—… ํ•ด๋‘๊ธฐ
โ–ช ์ค‘์š”ํ•œ ๋ช…๋ น์–ด๊ฐ€ ๋“ค์–ด์žˆ๋Š” /usr/bin ๋””๋ ‰ํ„ฐ๋ฆฌ
โ–ช ์‹œ์Šคํ…œ ์„ค์ • ๋ช…๋ น์–ด๊ฐ€ ๋“ค์–ด์žˆ๋Š” /usr/sbin, 
โ–ช ๊ฐ์ข… ์„ค์ •ํŒŒ์ผ๋“ค์ด ๋“ค์–ด์žˆ๋Š” /etc/, 
โ–ช ๋ถ€ํŒ…๊ณผ ๊ด€๋ จ๋œ /boot, ๊ทธ๋ฆฌ๊ณ  
โ–ช Linux ์šด์˜์ฒด์ œ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ํ•˜๋“œ๋””์Šคํฌ์ธ /dev/sda2(์ด๊ฒƒ์€ lsblk ํ•ด๋ณด๋ฉด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค)๋ฅผ ๋‹ค๋ฅธ ๋””์Šคํฌ์— ๋ฐฑ์—…ํ•ด๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.  
1-3. chkconfig๋กœ ์‹œ์ž‘ ์„œ๋น„์Šค๋ฅผ ๋Ÿฐ๋ ˆ๋ฒจ ๋ณ„๋กœ ์ œํ•œํ•˜๊ธฐ
1-4. xinetd ์Šˆํผ ๋ฐ๋ชฌ์— ๊ด€ํ•œ ๋ณด์•ˆ๋„ ์ฃผ์˜ํ•œ๋‹ค. 
1-5. SSH ๋“ฑ ์›๊ฒฉ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉ์ž์™€ ํฌํŠธ๋กœ ์ œํ•œํ•˜๊ธฐ

=========================================================์—ฌ๊ธฐ๋ถ€ํ„ฐ ์ˆ˜์—…
1-6. ํŒจ์Šค์›Œ๋“œ์™€ root ๋กœ๊ทธ์ธ ์ฝ˜์†”์— ๊ด€ํ•œ ๋ณด์•ˆ๋„ ์ฃผ์˜ํ•œ๋‹ค.
=>์™ธ๋ถ€์—์„œ ssh๋‚˜ telnet, ftp ๋“ฑ์œผ๋กœ ์ ‘์†ํ•˜๋ฉด ์ ‘์†ํ•œ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๊ฐ€๊ฒŒ ๋˜๊ณ  ์ฝ˜์†”์€ /dev/pts/1, 2, ...๋ฅผ ๋ฐ›๊ฒŒ ๋˜์–ด ์žˆ๋‹ค. root์˜ ์ ‘์†์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ๋Š” /etc/securetty ํŒŒ์ผ์—์„œ ๊ทœ์ œ๋ฅผ ํ•˜๋ฉด ๋œ๋‹ค.
==>์ ‘์† ํ›„ '!๋ช…๋ น์–ด'๋Š” ํ˜„์žฌ ํ˜ธ์ŠคํŠธ์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๊ทธ๋ƒฅ '๋ช…๋ น์–ด'๋Š” ์—ฐ๊ฒฐ๋œ ํƒ€๊ฒŸ ๋จธ์‹ ์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
1-7. su์™€ sudo ์‚ฌ์šฉ์ž ์ œํ•œํ•˜๊ธฐ
=>root ๊ด€๋ฆฌ์ž๋กœ ์ž‘์—…์„ ์˜ค๋ž˜ํ•˜๋ฉด ํ•ด์ปค์—๊ฒŒ root์˜ ํŒจ์Šค์›Œ๋“œ๋‚˜ root ๊ถŒํ•œ์˜ ํŒŒ์ผ ๋“ฑ์ด ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์–ด์„œ ์œ„ํ—˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต์€ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋กœ ์ž‘์—…ํ•˜๋‹ค๊ฐ€ root ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ su -c '๋ช…๋ น์–ด'๋‚˜ sudo '๋ช…๋ น์–ด'๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ผ์‹œ์ ์œผ๋กœ root ๊ถŒํ•œ์„ ์–ป๋Š”๋‹ค. ํŠนํžˆ root๊ฐ€ ์ž‘์—…ํ•˜๋Š” ์„ธ์…˜์„ ๊ฐ€๋กœ์ฑ„์„œ ์™ธ๋ถ€์—์„œ root ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜๋„ ์žˆ๋‹ค. sudo ๊ถŒํ•œ์€ /etc/sudoers ํŒŒ์ผ์—์„œ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋ฅผ ๊ถŒํ•œ์„ ์ฃผ์–ด์„œ ๋„ฃ์–ด์ฃผ๊ฑฐ๋‚˜ %wheel(Ubuntu์—์„œ๋Š” %sudo) ๊ทธ๋ฃน์— ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๋‹ค.

(https://heroineyen.tistory.com/79 13๋ฒˆ)

1-8. ์‚ฌ์šฉ์ž ํŒจ์Šค์›Œ๋“œ ๊ด€๋ฆฌํ•˜๊ธฐ
 chage centos์‹์œผ๋กœ ํ•ด์„œ centos ์‚ฌ์šฉ์ž์˜ ์ตœ์†Œ ํŒจ์Šค์›Œ๋“œ ๊ธฐ๊ฐ„, ์ตœ๋Œ€ ํŒจ์Šค์›Œ๋“œ ๊ธฐ๊ฐ„, ๋งˆ์ง€๋ง‰ ํŒจ์Šค์›Œ๋“œ ๋ณ€๊ฒฝ(๊ณ„์ • ์œ ํšจ๊ธฐ๊ฐ„) ๋“ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
1-9. ์ค‘์š” ๋ช…๋ น์–ด๋ฅผ root๋งŒ ์‹คํ–‰์‹œํ‚ค๊ธฐ
=>ํ•ด๋‹น ํŒŒ์ผ์— ๋Œ€ํ•œ ์†์„ฑ ๋ณ€๊ฒฝ์„ ๋ง‰์•„์•ผ ํ•˜๋Š”๋ฐ 'chattr +i ๋Œ€์ƒ_ํŒŒ์ผ'์‹์œผ๋กœ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 
1-10. ์ปค๋„์ด๋‚˜ ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฐฐ๋„ˆ(banner) ํŒŒ์ผ ๊ด€๋ฆฌํ•˜๊ธฐ
=>๋ฐฐ๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„ ์„œ๋น„์Šค ๋ฐ๋ชฌ์˜ ์ •๋ณด๋ฅผ ์™ธ๋ถ€๋กœ ๋…ธ์ถœํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.
Linux ์„ค์น˜ ์‹œ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์œผ๋กœ
โ–ธ cat /etc/issue(์ฝ˜์†” ๋กœ๊ทธ์ธ ๋ฉ”์‹œ์ง€), 
โ–ธ cat /etc/issue.net(์›๊ฒฉ ๋กœ๊ทธ์ธ ๋ฉ”์‹œ์ง€), 
โ–ธ cat /etc/redhat-release(์›๊ฒฉ ๋กœ๊ทธ์ธ Linux ์ •๋ณด ๋ฉ”์‹œ์ง€)์—์„œ ์‹œ์Šคํ…œ์˜ ๋ฒ„์ „ ์ •๋ณด๋ฅผ ๋ณด์ด๊ณ , <=uname -a
โ–ธ cat /etc/motd์—์„œ Telnet์ด๋‚˜ ssh ๋กœ๊ทธ์ธ ์‹œ ์„ฑ๊ณต ๋ฉ”์‹œ์ง€ ๋“ฑ์ด ๋ณด์ด๋ฏ€๋กœ ์ด๋“ค์„ ๋‹ค๋ฅธ ๋ฌธ์ž๋กœ ์ฑ„์›Œ ๋„ฃ๊ฑฐ๋‚˜ ๋น„์›Œ๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. 
  ๋˜ SSH(openssh-server), vsFTP(vsftpd), HTTP(httpd) ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•œ ๋’ค  
โ–ธ SSH ์„œ๋ฒ„์˜ ๋ฐฐ๋„ˆ์ •๋ณด(/etc/ssh/sshd_config:129์ค„-Banner none), 
โ–ธ vsFTP ์„œ๋ฒ„์˜ ๋ฐฐ๋„ˆ์ •๋ณด(/etc/vsftpd/vsftpd.conf:85์ค„-ftpd_banner=Welcome ~ ),  
โ–ธ HTTP ์„œ๋ฒ„์˜ ๋ฐฐ๋„ˆ์ •๋ณด(/etc/httpd/conf/httpd.conf:44์ค„-ServerTokens OS, ๊ทธ๋ฆฌ๊ณ  536์ค„-ServerSignature on) ๋“ฑ๋„ ์ฃผ์„#์ฒ˜๋ฆฌํ•ด์„œ ๊ฐ์ถ”๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•ด์„œ ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•ด๋‘์–ด์•ผ ํ•œ๋‹ค. 
=>Linux์—์„œ๋Š” ๋ฐฉํ™”๋ฒฝ ์„ค์ •์—์„œ 
CLI๋กœ firewall-cmd ......
        iptables ...............์™€ 
GUI๋กœ firewall-config ํ•ด์„œ ๊ฐ๊ฐ ๋“ค์–ด๊ฐ€์„œ ๋ฐฉํ™”๋ฒฝ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค!!!
=>์ด์ „๋ถ€ํ„ฐ Linux์—์„œ๋Š” firewall-cmd ~์™€ iptables ~ ์„ค์ •ํ•œ ๊ฒƒ์ด ์ž˜ ์‹คํ–‰๋˜์ง€ ์•Š์„     ๋•Œ ๋งค์šฐ ๋งŽ๋‹ค!!! ๋”ฐ๋ผ์„œ GUI ํ™”๋ฉด์—์„œ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ํ™•์‹คํ•˜๋‹ค!!!
    firewall-cmd ~ > iptables ~ > firewall-config ์ˆœ์„œ๋กœ ์ž˜ ์ ์šฉ๋œ๋‹ค.

 

(๋ฌด์ง€๋ง‰์ง€ํ•˜์ง€๋งŒ ํ™”์ดํŒ…!!!!)
1-11. ๊ฐ€์ƒ ํŒŒ์ผ์‹œ์Šคํ…œ์ธ /proc ํŒŒ์ผ ์กฐ์ •ํ•˜๊ธฐ 
=> /proc๋ฅผ ํ†ตํ•œ ์‹œ์Šคํ…œ ์„ค์ •๊ณผ ์™ธ๋ถ€ ๊ณต๊ฒฉ ๋ง‰๊ธฐ
  Linux ์‹œ์Šคํ…œ์€ ์‹œ์Šคํ…œ์ด ๋ถ€ํŒ…ํ•  ๋•Œ ํ•˜๋“œ๋””์Šคํฌ์— ์ €์žฅ๋œ /etc/sysctl.conf ํŒŒ์ผ์— ์„ค์ •๋œ ์ปค๋„ ๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ์€(์‰ฝ๊ฒŒ ๋งํ•ด CPU๋Š”) ํ•˜๋“œ๋””์Šคํฌ์—์„œ ์ •๋ณด๋ฅผ ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ •๋ณด๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด 1,000๋ฐฐ๋Š” ๋น ๋ฅด๋ฏ€๋กœ ํ•˜๋“œ๋””์Šคํฌ /etc/sysctl.conf ํŒŒ์ผ์— ์„ค์ •๋œ ์ปค๋„ ๊ฐ’์„ ๋ฉ”๋ชจ๋ฆฌ์˜ /proc ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์˜ฌ๋ ค๋‘๊ณ  ์‚ฌ์šฉํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” /proc ํŒŒ์ผ์‹œ์Šคํ…œ์€ ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” /etc/sysctl.conf ํŒŒ์ผ์˜ ๋ณต์‚ฌ๋ณธ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ปค๋„์— ๋Œ€ํ•œ modular ๋ฐฉ์‹(HDD์—์„œ ์ •๋ณด๋ฅผ ์ฝ์–ด ์˜ด: ํฐ ์šฉ๋Ÿ‰์˜ ํ”„๋กœ๊ทธ๋žจ)๊ณผ monolithic ๋ฐฉ์‹(HDD์˜ ์ •๋ณด๋ฅผ RAM์œผ๋กœ ์˜ฎ๊ธด ๋’ค RAM์—์„œ ์ •๋ณด๋ฅผ ์ฝ์–ด ์˜ด: ์ž‘์€ ์šฉ๋Ÿ‰์˜ ํ”„๋กœ๊ทธ๋žจ)์˜ ์ฐจ์ด์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋…์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

  /etc/sysctl.conf๋Š” Windows์—์„œ์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋…์œผ๋กœ ์—ฌ๊ธฐ์„œ ์„ค์ •ํ•œ ๋Œ€๋กœ ๋จธ์‹ ์ด ์‹คํ–‰๋œ๋‹ค. HDD์˜ /etc/sysctl.conf ํŒŒ์ผ์—์„œ ์ปค๋„์˜ ์„ค์ • ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ฉด -> RAM์˜ /proc ํŒŒ์ผ์‹œ์Šคํ…œ์— ๋ฐ”๋กœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ์Šคํ…œ ์„ค์ •ํŒŒ์ผ /etc/sysctl.conf์—์„œ์˜ ๊ฐ ์„ค์ •๊ฐ’๊ณผ ๊ฐ€์ƒ ํŒŒ์ผ์‹œ์Šคํ…œ /proc ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ฐ ํŒŒ์ผ์—์„œ์˜ ์„ค์ • ๊ฐ’์€ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ๋จธ์‹ ์ด ๊บผ์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ์˜ ์ •๋ณด๊ฐ€ ํœ˜๋ฐœ์„ฑ(volatile)์ด์–ด์„œ ๋ชจ๋‘ ์—†์–ด์ง€๋ฏ€๋กœ /proc์˜ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์—†์–ด์ง€๊ณ  ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” /etc/sysctl.conf ํŒŒ์ผ์˜ ์„ค์ •๋งŒ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค.  


  ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์‹œ์Šคํ…œ ์‚ฌ์šฉ ์ค‘์— ๋ณด์•ˆ์— ๋Œ€ํ•œ SELinux๋ฅผ setenforce 0 ํ•ด์„œ ์ผ์‹œ์ ์œผ๋กœ Permissive๋กœ ํ•ด๋‘๋Š”๋ฐ, ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ /proc์—์„œ์˜ ์„ค์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ์‹œ์Šคํ…œ์—์„œ ์ผ์‹œ์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ์„ค์ •์ด๊ณ  ๋จธ์‹ ์ด ๋ฆฌ๋ถ€ํŒ…๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ด ์ •๋ณด๋Š” ์‚ฌ๋ผ์ง€๊ณ  ์›๋ž˜ HDD์˜ /etc/selinux/config ์—์„œ์˜ ์„ค์ •์ด ์ ์šฉ๋˜์–ด ๋‹ค์‹œ Enforcing์ด ๋˜๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. 

 

์ฐธ๊ณ ๋กœ D RAM๊ณผ S RAM์ด ์žˆ๋‹ค.

D RAM์€ ์ „๊ธฐ๊ฐ€ ์žˆ์„ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ €์žฅ๋œ๋‹ค. ์šฉ๋Ÿ‰์ด ํฌ๋‹ค. S RAM์€ ์ „๊ธฐ๊ฐ€ ์—†์–ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค. ์šฉ๋Ÿ‰์ด ์ž‘๋‹ค. CPU์— L1 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ, ๋งˆ๋”๋ณด๋“œ์— L2 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜ํ”ฝ์— L3 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. CPU+L1 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ „ํ†ต์ ์œผ๋กœ S RAM์ธ๋ฐ ๋Œ€์‹  ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค. ์šฉ๋Ÿ‰์ด ์ž‘๋‹ค. 16๊ธฐ๊ฐ€๋Š” D RAM ๋•๋ถ„์— ๊ฐ€๋Šฅํ•˜๋‹ค. SD ์นด๋“œ๋Š” S RAM ์นด๋“œ๋‹ค. ๊ทผ๋ฐ ์ „๊ธฐ๊ฐ€ ์—†์œผ๋ฉด ์ €์žฅ์ด ์•ˆ๋œ๋‹ค. ํ•˜๋“œ ๋ง๊ณ  SD ์นด๋“œ ๊ฐ™์€ ๋ฐ ๊ฒŒ์ž„์„ ์ €์žฅํ•˜๋ฉด ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.  ํ•˜๋“œ๋ณด๋‹ค๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋น ๋ฅด๋‹ˆ๊น.


  /proc ํŒŒ์ผ์‹œ์Šคํ…œ์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  Linux ์ปค๋„ ์ž์›๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ PID๋กœ ๊ตฌ๋ณ„ํ•ด์„œ ๋ณด๊ด€ํ•˜๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด /proc ํŒŒ์ผ์˜ ๊ฐ’์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋จธ์‹ ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ผ์‹œ์ ์œผ๋กœ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— /proc๋ฅผ '๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ'์œผ๋กœ ๋ถ€๋ฅธ๋‹ค. ๋”ฐ๋ผ์„œ /proc ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ ์ค‘์š”ํ•œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์žฌ๋ถ€ํŒ… ํ›„์—๋„ ๊ณ„์† ๊ทธ ์„ค์ •์ด ์ ์šฉ๋˜๊ฒŒ ํ•˜๋ ค๋ฉด ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” /etc/sysctl.conf ํŒŒ์ผ์— ์„ค์ •์„ ์ €์žฅํ•ด ๋‘์–ด์•ผ ํ•œ๋‹ค. 


=>๋ณด์•ˆ์ธก๋ฉด์—์„œ ๋ณด๋ฉด ์™ธ๋ถ€์—์„œ DDoS์™€ ๊ฐ™์€ ๊ณต๊ฒฉ์ด ์žˆ์„ ๋•Œ 
HDD๋กœ ๋“ค์–ด๊ฐ€์„œ /etc/sysctl.conf  ํŒŒ์ผ์„ ์—ด๊ณ  ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์„œ ์ €์žฅํ•˜๋Š” ์ž‘์—…๋ณด๋‹ค ํ˜„์žฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” RAM์—์„œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฐ”๋กœ ์ ์šฉ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— /proc ๊ฐ€์ƒ ํŒŒ์ผ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ํšจ๊ณผ๊ฐ€ ์ข‹๋‹ค!!!
a) sysctl -a ํ•ด์„œ HDD์— ์ €์žฅ๋œ ๋ชจ๋“  ์„ค์ •์„ ๋ณด๊ณ  
b) sysctl -w net.ipv4.ip_forward=0 ํ•ด์„œ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ๋’ค
c) sysctl -a |grep "ip_forward" ํ•ด์„œ ํ™•์ธํ•˜๊ณ 
d) cat /proc/sys/net/ipv4/ip_forward ํ•ด์„œ ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ๋„ ๋ณ€๊ฒฝ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

โ‘  Telnet, FTP๋‚˜ SSH, HTTP ์„œ๋น„์Šค์™€ ์—ด๋ฆฐ ํฌํŠธ ๋“ฑ ์กฐ์ ˆํ•˜๊ธฐ 
=>nano /proc/sys/net/ipv4/ip_local_port_range ํ•ด์„œ ํŒŒ์ผ์„ ์—ด๊ณ  
30000 35000์‹์œผ๋กœ ์ˆ˜์ •ํ•ด์„œ ์ด ํฌํŠธ ์ด์™ธ์˜ ํฌํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋ฉด ๊ด€๋ฆฌ์ž๊ฐ€ ์•Œ์•„์ฐจ๋ฆฌ๊ธฐ ์‰ฝ๊ฒŒ ์„ค์ •ํ•ด์„œ ์ €์žฅํ•œ๋‹ค. 
โ‘ก SYN Flooding ๊ณต๊ฒฉ ๋ง‰๊ธฐ
SYN Flooding ๊ณต๊ฒฉ์€ ๋‘ ๋…ธ๋“œ ๊ฐ„ TCP ์—ฐ๊ฒฐ์ธ 3-way handshakes๋ฅผ ์ด์šฉํ•œ ์ผ์ข…์˜ DoS (Deny of Service) ๊ณต๊ฒฉ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ TCP์—์„œ์˜ 3-way handshakes ์—ฐ๊ฒฐ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋จผ์ € ์„œ๋ฒ„์—๊ฒŒ SYN๋ฅผ ๋ณด๋‚ด์„œ ์„œ๋ฒ„์—๊ฒŒ ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๋ฉด >์„œ๋ฒ„๋Š” SYN+ACK๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด์„œ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  >๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ACK๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์„œ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ณผ์ •์„ ๊ฐ€์ง„๋‹ค. 
=>ํ•˜์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ(ํ•ด์ปค)๋Š” ์ด๋Ÿฐ ์—ฐ๊ฒฐ์„ ๊ต๋ฌ˜ํ•˜๊ฒŒ ์†์—ฌ์„œ ์นจํˆฌํ•˜๋Š”๋ฐ
a. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ SYN1๋ฅผ ๋ณด๋‚ด๊ณ ,
b. ์„œ๋ฒ„๊ฐ€ SYN1+ACK1์„ ๋ณด๋‚ด์˜ค๋ฉด, 
c. ์›๋ž˜๋Œ€๋กœ๋ผ๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ACK1์„ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ด์„œ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š”๋ฐ ACK1์„ ๋ณด๋‚ด์ง€ ์•Š๊ณ  ๋˜ ๋‹ค๋ฅธ SYN2๋ฅผ ๋ณด๋‚ธ๋‹ค.
c. ์ด์ œ ์„œ๋ฒ„๊ฐ€ SYN2+ACK2๋ฅผ ๋ณด๋‚ด๋ฉด, 
d. ACK2๋ฅผ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ด์ง€ ์•Š๊ณ , ๋˜ SYN3๋ฅผ ๋ณด๋‚ด๊ณ ,...ํ•˜๋Š” ์‹์œผ๋กœ ๊ณ„์† SYN๋งŒ ๋ณด๋‚ด๊ณ  ์‹ค์ œ ์—ฐ๊ฒฐ์„ ๋งบ์ง€ ์•Š๋Š” ๊ณต๊ฒฉ์ด๋‹ค. 
e. ๊ทธ๋Ÿฌ๋ฉด ์„œ๋ฒ„๋Š” ๊ฐ๊ฐ์˜ ์—ฐ๊ฒฐ์š”์ฒญ SYN1, SYN2, SYN3, ...๋ฅผ ๋กœ๊ทธ์— ํŒŒ์ผ๋กœ ์ €์žฅํ•ด ๋‘๊ณ  ํฌํŠธ๋ฅผ ์—ด์–ด๋‘๊ณ (์ด๋ฅผ half-open ์ƒํƒœ๋กœ ๋ถ€๋ฆ„) ๊ฐ๊ฐ์˜ ACK๋ฅผ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ๊ณ„์†๋œ SYN ์š”์ฒญ์œผ๋กœ ์ธํ•ด ์—ฐ๊ฒฐ ์„ค์ •์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๋กœ๊ทธํŒŒ์ผ(Backlog Queue๋ผ๊ณ  ํ•จ)์˜ ์šฉ๋Ÿ‰์ด ๋‹ค ์ฐจ๋ฉด ์„œ๋ฒ„๊ฐ€ ์„œ๋น„์Šค ๋ถˆ๋Šฅ์ด ๋˜๊ฒŒ ๋œ๋‹ค. 
=>์ด๋Ÿฐ syn_flooding ๊ณต๊ฒฉ์„ ๋ง‰์œผ๋ ค๋ฉด ์„œ๋ฒ„์˜ ๋กœ๊ทธ๊ฐ€ ์ €์žฅ๋˜๋Š” ์ด backlog queue ์šฉ๋Ÿ‰์„ ๋Š˜๋ ค์„œ syn_flooding ๊ณต๊ฒฉ์„ ๊ฒฌ๋ŽŒ๋‚ผ ๋™์•ˆ ๊ด€๋ฆฌ์ž๊ฐ€ ์กฐ์น˜๋ฅผ ์ทจํ•ด์„œ ๋ง‰์œผ๋ฉด ๋œ๋‹ค. 
=>iptables์—์„œ --J drop๊ณผ --J reject๊ฐ€ ์žˆ๋Š”๋ฐ ๋ชจ๋‘ ์—ฐ๊ฒฐ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ drop์€ ๋กœ๊ทธํŒŒ์ผ์„ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๊ฑฐ๋ถ€ํ•˜๋ฉฐ, reject๋Š” ๋กœ๊ทธํŒŒ์ผ๋กœ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ณ  ๊ฑฐ๋ถ€ํ•œ๋‹ค.
โ‘ข Smurf / Land ๊ณต๊ฒฉ ๋ง‰๊ธฐ  
โˆŽ ์Šค๋จธํ”„ ๊ณต๊ฒฉ์€ ํ•ด์ปค๊ฐ€ ๋ฌด์ˆ˜ํ•œ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ๊ฐ€ ๊ฐ€์งœ์ธ ์‚ฌ์„ค IP ํŒจํ‚ท์œผ๋กœ ์„œ๋ฒ„์—๊ฒŒ SYN๋กœ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ SYN+ACK๋ฅผ ๋ณด๋‚ด์•ผ ํ•˜๋Š”๋ฐ ํด๋ผ์ด์–ธํŠธ ์ฃผ์†Œ๊ฐ€ ๊ฐ€์งœ์ด๋ฏ€๋กœ SYN+ACK๋ฅผ ๋ณด๋‚ด๋„ ๊ฒฐ๊ตญ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ACK๋ฅผ ๋ฐ›์ง€ ๋ชปํ•˜๊ณ  ์—ฐ๊ฒฐ ๋Œ€๊ธฐ ํƒ€์ž„์•„์›ƒ์— ๊ฑธ๋ฆด ๋•Œ๊นŒ์ง€ ๊ณ„์† ํฌํŠธ๋ฅผ ์—ด์–ด๋†“๊ณ (half-open ์ƒํƒœ) ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๊ฐ€ ๋˜๋ฏ€๋กœ ์œ„ํ—˜ํ•˜๋‹ค. 
=>์ด๋Ÿฐ smurf ๊ณต๊ฒฉ์„ ์˜ˆ๋ฐฉํ•˜๋ ค๋ฉด TCP ์—ฐ๊ฒฐ์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” tcp_syncookies ๊ฐ’์„ 1๋กœ ๋งŒ๋“ค์–ด์„œ ์˜จ์ „ํ•œ ํŒจํ‚ท๋งŒ ๋ฐ›๊ฒŒ ํ•ด๋‘๋ฉด ๋œ๋‹ค. ์‚ฌ์„ค IP ๋“ฑ์€ ์ •์‹ ์ธํ„ฐ๋„ท์—์„œ ์ž‘๋™๋˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ํ™œ๋™์„ ๊ธฐ๋กํ•˜๋Š” cookies์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ๋ฒ•์œผ๋กœ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ๋ฅผ ์†์ด๋Š” ๊ฐ€์งœ ์‚ฌ์„ค IP๋ฅผ ๊ฑธ๋Ÿฌ๋‚ธ๋‹ค๊ณ  ๋ด๋„ ๋œ๋‹ค.
โˆŽ ๋žœ๋“œ ๊ณต๊ฒฉ์€ ํ•ด์ปค๊ฐ€ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ์™€ ํฌํŠธ๋ฅผ ์ž„์˜๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€ ์ฃผ์†Œ๋ฅผ ๋™์ผํ•˜๊ฒŒ ํ•˜๋Š” ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์ž๊ธฐ ์ž์‹ ๊ณผ ์—ฐ๊ฒฐ์„ ๋งบ์Œ์œผ๋กœ์จ ์‹คํ–‰ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ณ  ๋™์ž‘์ด ๋งˆ๋น„๋œ๋‹ค. 
=>ํŒจํ‚ท ํ—ค๋”๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋„ฃ์–ด์„œ ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€๊ฐ€ ๋™์ผํ•œ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ ํŒจํ‚ท์„ ๋ง‰๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค. 
โ‘ฃ ICMP Redirect ๋ง‰๊ธฐ  
๋กœ์ปฌ์—์„œ ํƒ€๊ฒŸ์„ ์ฐพ์„ ๋•Œ ping์œผ๋กœ ์ฐพ๋Š”๋ฐ ์ด ping์—์„œ ์‚ฌ์šฉํ•˜๋Š” ICMP ํ”„๋กœํ† ์ฝœ์„ ์•…์šฉํ•œ ICMP Redirect ๊ณต๊ฒฉ์€ ํ•ด์ปค๊ฐ€ ์ž์‹ ์˜ MAC ์ฃผ์†Œ๋ฅผ ARP Spoofing ๊ธฐ๋ฒ• ๋“ฑ์œผ๋กœ ๋กœ์ปฌ์— ์žˆ๋Š” ์ฃผ๋กœ ๋ผ์šฐํ„ฐ(๊ฒŒ์ดํŠธ์›จ์ด)์˜ MAC ์ฃผ์†Œ๋ฅผ ์ž์‹ ์˜ MAC ์ฃผ์†Œ์™€ ๊ฐ™๊ฒŒ ์†์—ฌ์„œ(MAC cloned) ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ๋“ค์˜ ๋ผ์šฐํ„ฐ๋กœ ๊ฐ€๋Š” ํŒจํ‚ท์ด ํ•ด์ปค ๋จธ์‹ ์—๋„ ๊ฒฝ๊ณผํ•˜๋„๋ก ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์„ ํ•ด์„œ ์ด๋“ค์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋ณด๊ฒŒํ•˜๋Š” ๊ณต๊ฒฉ์ด๋‹ค.
=>์ด๋Ÿฐ icmp redirect์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์„ ๋ง‰์•„์ฃผ๋ฉด ๋œ๋‹ค.
โ‘ค Reverse Path Filtering์œผ๋กœ DDoS(IP spoofing) ๋ง‰๊ธฐ
ํ•ด์ปค๋Š” ์ž„์˜์˜ ๊ฐ€์งœ IP ์ฃผ์†Œ๋ฅผ ๋ฌด์ œํ•œ์œผ๋กœ ์ƒ์„ฑํ•ด์„œ ํƒ€๊ฒŸ ์„œ๋ฒ„์— ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” SYN๋ฅผ ๋ณด๋‚ด๋Š” Smurf ๊ณต๊ฒฉ๊ณผ ์œ ์‚ฌํ•œ DDoS(Distributed DoS) ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. 
=>์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท์˜ ํ—ค๋”๋ฅผ ๋ณด๊ฑฐ๋‚˜ ์—ญ์œผ๋กœ ์ถ”์ ํ•ด์„œ ์‚ฌ์„ค IP ์ฃผ์†Œ์ด๊ฑฐ๋‚˜ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ๊ฐ€ ๋ถˆ๋ถ„๋ช…ํ•œ ํŒจํ‚ท์„ ๋ง‰์œผ๋ฉด ๋œ๋‹ค.  
โ‘ฅ Faked(Rogue) IP Filtering ํ•˜๊ธฐ
โ‘ฆ Source Route ํŒจํ‚ท ์ „์†ก ๋ง‰๊ธฐ
โ‘ง ping์ด๋‚˜ tracert์— ์‘๋‹ตํ•˜์ง€ ์•Š๊ธฐ 
  
  ์ผ๋ฐ˜์ ์ธ ์™ธ๋ถ€๊ณต๊ฒฉ์— ๋Œ€๋น„ํ•˜๊ธฐ
1. Buffer Overflow ๊ณต๊ฒฉ 
2 ๊ฐ์ข… ์˜ค๋ฅ˜๋ฅผ ์ด์šฉํ•œ ๊ณต๊ฒฉ
โ‘  ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ ์„ค์ •์ƒ ์˜ค๋ฅ˜๋ฅผ ์ด์šฉํ•œ ๊ณต๊ฒฉ
โ‘ก ์ดˆ๊ธฐ ํŒจ์Šค์›Œ๋“œ ๊ณ„์† ์‚ฌ์šฉ์„ ์ด์šฉํ•œ ๊ณต๊ฒฉ
โ‘ข API(์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜) ์˜ค๋ฅ˜๋ฅผ ํ†ตํ•œ ๊ณต๊ฒฉ
โ‘ฃ Server ์˜ค์—ผ ๊ณต๊ฒฉ(XSS, CSRF)
โ‘ค Session Hijacking ๊ณต๊ฒฉ
โ‘ฅ SQL Injection ๊ณต๊ฒฉ
โ‘ฆ OS Injection ๊ณต๊ฒฉ
โ‘ง Directory Traverse ๊ณต๊ฒฉ

 

์‹ค์Šต

1-8. ์‚ฌ์šฉ์ž ํŒจ์Šค์›Œ๋“œ ๊ด€๋ฆฌํ•˜๊ธฐ
 chage centos์‹์œผ๋กœ ํ•ด์„œ centos ์‚ฌ์šฉ์ž์˜ ์ตœ์†Œ ํŒจ์Šค์›Œ๋“œ ๊ธฐ๊ฐ„, ์ตœ๋Œ€ ํŒจ์Šค์›Œ๋“œ ๊ธฐ๊ฐ„, ๋งˆ์ง€๋ง‰ ํŒจ์Šค์›Œ๋“œ ๋ณ€๊ฒฝ(๊ณ„์ • ์œ ํšจ๊ธฐ๊ฐ„) ๋“ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

1) chage ๋ช…๋ น์–ด

 [1] change age์˜ ์•ฝ์ž๋กœ ๊ณ„์ •์˜ ํŒจ์Šค์›Œ๋“œ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์ •์ฑ…์„ ์„ธ์šฐ๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

 [2] Minimum Password Age

  - ํŒจ์Šค์›Œ๋“œ ์ตœ์†Œ์‚ฌ์šฉ๊ธฐ๊ฐ„์œผ๋กœ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋ณ€๊ฒฝ ํ›„ 7์ผ ๋™์•ˆ ํŒจ์Šค์›Œ๋“œ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 [3] Maximum Password Age

  - ํŒจ์Šค์›Œ๋“œ ๋ณ€๊ฒฝ ํ›„ 60์ผ ๋‚ด์— ๋‹ค๋ฅธ ํŒจ์Šค์›Œ๋“œ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 [4] Last Password Change

  - ๋งˆ์ง€๋ง‰์œผ๋กœ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•œ ๋‚ ์งœ์ด๋‹ค.

  - ์ด ๋‚ ์งœ๋ถ€ํ„ฐ Maximum Password Age ๊นŒ์ง€๊ฐ€ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ฐ„์ด๋‹ค.

 [5] Password Expiration Warning

  - ํŒจ์Šค์›Œ๋“œ ๋งŒ๋ฃŒ ์ด ๊ธฐ๊ฐ„(3์ผ) ์ „๋ถ€ํ„ฐ ๊ฒฝ๊ณ ๋ฉ”์„ธ์ง€๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

 [6] Password Inactive

  - ํŒจ์Šค์›Œ๋“œ ๋งŒ๋ฃŒ ํ›„ ์ด ๊ธฐ๊ฐ„(1์ผ) ํ›„ ๊ณ„์ •์„ ์ž ๊ทผ๋‹ค.

 [7] Account Expiration Date

  - ๊ณ„์ •์˜ ์œ ํšจ๊ธฐ๊ฐ„์„ ๋งํ•œ๋‹ค.

  - ์ด ๊ธฐ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค

(์ถœ์ฒ˜: https://ccurity.tistory.com/155)

 

chage -l centos๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

1-10. ์ปค๋„์ด๋‚˜ ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฐฐ๋„ˆ(banner) ํŒŒ์ผ ๊ด€๋ฆฌํ•˜๊ธฐ

/etc/motd

์„ผํ† ์Šค2์—์„œ SSH๋กœ ์ ‘์†ํ–ˆ๋”๋‹ˆ ๋ฐฐ๋„ˆ๊ฐ€ ๋œฌ๋‹ค

 

vsftp ๋ฐ๋ชฌ ์„ค์น˜

yum -y install vsftpd
nano -c /etc/vsftpd/vsftpd.conf

์„ค์ •ํŒŒ์ผ.๊ตฌ์„ฑํŒŒ์ผ์„ ๋ณธ๋‹ค. (https://heroineyen.tistory.com/82์—์„œ ๋™๊ธ€๋ฑ…์ด 2๋ฒˆ)

์ด๋ ‡๊ฒŒ ์ฃผ์„์ฒ˜๋ฆฌ๋ฅผ ํ’€๋ฉด ์™ธ๋ถ€์—์„œ ๋ณ€๊ฒฝ๋œ ๋ฐฐ๋„ˆ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

๋ฐฉํ™”๋ฒฝ ์—ด๊ณ  ftp ์ฒดํฌ, systemctl start vsftpd, enable ๊นŒ์ง€ ํ•ด์ฃผ๊ณ  LISTEN ์ฒดํฌ ํ•ด๋ณด๋ฉด ์ž˜ ์—ด๋ ค ์žˆ๋‹ค. 

 

setenforce 0๋„ ํ•ด์ค€๋‹ค.

 

BT์—์„œ ์ ‘์†ํ–ˆ์„ ๋•Œ ๋ฐฐ๋„ˆ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ๋œฌ๋‹ค.

 

centos2์—์„œ ์ ‘์†ํ–ˆ์„ ๋•Œ๋„ ๋˜‘๊ฐ™์ด ๋œฌ๋‹ค. 

 

=>Linux์—์„œ๋Š” ๋ฐฉํ™”๋ฒฝ ์„ค์ •์—์„œ 
CLI๋กœ firewall-cmd ......
        iptables ...............์™€ 
GUI๋กœ firewall-config ํ•ด์„œ ๊ฐ๊ฐ ๋“ค์–ด๊ฐ€์„œ ๋ฐฉํ™”๋ฒฝ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค!!!
=>์ด์ „๋ถ€ํ„ฐ Linux์—์„œ๋Š” firewall-cmd ~์™€ iptables ~ ์„ค์ •ํ•œ ๊ฒƒ์ด ์ž˜ ์‹คํ–‰๋˜์ง€ ์•Š์„ ๋•Œ๊ฐ€ ๋งค์šฐ ๋งŽ๋‹ค!!! ๋”ฐ๋ผ์„œ GUI ํ™”๋ฉด์—์„œ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ํ™•์‹คํ•˜๋‹ค!!!

iptables -A INPUT -p tcp --dport=21 -j ACCEPT
service iptables reload

์ด๋Ÿฐ ๋ช…๋ น์–ด๋„ ์žˆ๋‹ค. 

 

์ฐธ๊ณ ๋กœ ์•Œ์•„๋‘˜ ๊ฒƒ

==>์ ‘์† ํ›„ '!๋ช…๋ น์–ด'๋Š” ํ˜„์žฌ ํ˜ธ์ŠคํŠธ์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๊ทธ๋ƒฅ '๋ช…๋ น์–ด'๋Š” ์—ฐ๊ฒฐ๋œ ํƒ€๊ฒŸ ๋จธ์‹ ์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

!ls ํ˜„์žฌ ๋ชฉ๋ก ๋ณด์—ฌ์ค˜, ls ํƒ€๊ฒŸ ๋จธ์‹  ๋ณด์—ฌ์ค˜

!pwd์™€ pwd์˜ ์ฐจ์ด

 

bt ํ…์ŠคํŠธ ํŒŒ์ผ ๋งŒ๋“ค์–ด์„œ ์ „์†ก

์™€ ์žˆ๋‹ค

mkdir CENT๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํŒŒ์ผ ์ฝ๊ฑฐ๋‚˜ uname-a๋Š” ์•ˆ๋จนํžˆ๋Š” ๊ฑธ ๋ณด๋ฉด ํŒŒ์ผ ๋งŒ๋“ค๊ณ  ์†ก์ˆ˜์‹  ์ •๋„๋งŒ ๋˜๋Š” ๋ชจ์–‘.

 

uname -a

[root@localhost centos1]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

 

 

1-11. ๊ฐ€์ƒ ํŒŒ์ผ์‹œ์Šคํ…œ์ธ /proc ํŒŒ์ผ ์กฐ์ •ํ•˜๊ธฐ 
=> /proc๋ฅผ ํ†ตํ•œ ์‹œ์Šคํ…œ ์„ค์ •๊ณผ ์™ธ๋ถ€ ๊ณต๊ฒฉ ๋ง‰๊ธฐ
  Linux ์‹œ์Šคํ…œ์€ ์‹œ์Šคํ…œ์ด ๋ถ€ํŒ…ํ•  ๋•Œ ํ•˜๋“œ๋””์Šคํฌ์— ์ €์žฅ๋œ /etc/sysctl.conf ํŒŒ์ผ์— ์„ค์ •๋œ ์ปค๋„ ๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ์€(์‰ฝ๊ฒŒ ๋งํ•ด CPU๋Š”) ํ•˜๋“œ๋””์Šคํฌ์—์„œ ์ •๋ณด๋ฅผ ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ •๋ณด๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด 1,000๋ฐฐ๋Š” ๋น ๋ฅด๋ฏ€๋กœ ํ•˜๋“œ๋””์Šคํฌ /etc/sysctl.conf ํŒŒ์ผ์— ์„ค์ •๋œ ์ปค๋„ ๊ฐ’์„ ๋ฉ”๋ชจ๋ฆฌ์˜ /proc ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์˜ฌ๋ ค๋‘๊ณ  ์‚ฌ์šฉํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” /proc ํŒŒ์ผ์‹œ์Šคํ…œ์€ ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” /etc/sysctl.conf ํŒŒ์ผ์˜ ๋ณต์‚ฌ๋ณธ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ปค๋„์— ๋Œ€ํ•œ modular ๋ฐฉ์‹(HDD์—์„œ ์ •๋ณด๋ฅผ ์ฝ์–ด ์˜ด: ํฐ ์šฉ๋Ÿ‰์˜ ํ”„๋กœ๊ทธ๋žจ)๊ณผ monolithic ๋ฐฉ์‹(HDD์˜ ์ •๋ณด๋ฅผ RAM์œผ๋กœ ์˜ฎ๊ธด ๋’ค RAM์—์„œ ์ •๋ณด๋ฅผ ์ฝ์–ด ์˜ด: ์ž‘์€ ์šฉ๋Ÿ‰์˜ ํ”„๋กœ๊ทธ๋žจ)์˜ ์ฐจ์ด์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋…์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

  /etc/sysctl.conf๋Š” Windows์—์„œ์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋…์œผ๋กœ ์—ฌ๊ธฐ์„œ ์„ค์ •ํ•œ ๋Œ€๋กœ ๋จธ์‹ ์ด ์‹คํ–‰๋œ๋‹ค. HDD์˜ /etc/sysctl.conf ํŒŒ์ผ์—์„œ ์ปค๋„์˜ ์„ค์ • ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ฉด -> RAM์˜ /proc ํŒŒ์ผ์‹œ์Šคํ…œ์— ๋ฐ”๋กœ ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ์Šคํ…œ ์„ค์ •ํŒŒ์ผ /etc/sysctl.conf์—์„œ์˜ ๊ฐ ์„ค์ •๊ฐ’๊ณผ ๊ฐ€์ƒ ํŒŒ์ผ์‹œ์Šคํ…œ /proc ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ฐ ํŒŒ์ผ์—์„œ์˜ ์„ค์ • ๊ฐ’์€ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ๋จธ์‹ ์ด ๊บผ์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ์˜ ์ •๋ณด๊ฐ€ ํœ˜๋ฐœ์„ฑ(volatile)์ด์–ด์„œ ๋ชจ๋‘ ์—†์–ด์ง€๋ฏ€๋กœ /proc์˜ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์—†์–ด์ง€๊ณ  ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” /etc/sysctl.conf ํŒŒ์ผ์˜ ์„ค์ •๋งŒ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค.  


  ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์‹œ์Šคํ…œ ์‚ฌ์šฉ ์ค‘์— ๋ณด์•ˆ์— ๋Œ€ํ•œ SELinux๋ฅผ setenforce 0 ํ•ด์„œ ์ผ์‹œ์ ์œผ๋กœ Permissive๋กœ ํ•ด๋‘๋Š”๋ฐ, ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ /proc์—์„œ์˜ ์„ค์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ์‹œ์Šคํ…œ์—์„œ ์ผ์‹œ์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ์„ค์ •์ด๊ณ  ๋จธ์‹ ์ด ๋ฆฌ๋ถ€ํŒ…๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ด ์ •๋ณด๋Š” ์‚ฌ๋ผ์ง€๊ณ  ์›๋ž˜ HDD์˜ /etc/selinux/config ์—์„œ์˜ ์„ค์ •์ด ์ ์šฉ๋˜์–ด ๋‹ค์‹œ Enforcing์ด ๋˜๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. 

 

์ฐธ๊ณ ๋กœ D RAM๊ณผ S RAM์ด ์žˆ๋‹ค.

D RAM์€ ์ „๊ธฐ๊ฐ€ ์žˆ์„ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ €์žฅ๋œ๋‹ค. ์šฉ๋Ÿ‰์ด ํฌ๋‹ค. S RAM์€ ์ „๊ธฐ๊ฐ€ ์—†์–ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค. ์šฉ๋Ÿ‰์ด ์ž‘๋‹ค. CPU์— L1 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ, ๋งˆ๋”๋ณด๋“œ์— L2 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜ํ”ฝ์— L3 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. CPU+L1 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ „ํ†ต์ ์œผ๋กœ S RAM์ธ๋ฐ ๋Œ€์‹  ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค. ์šฉ๋Ÿ‰์ด ์ž‘๋‹ค. 16๊ธฐ๊ฐ€๋Š” D RAM ๋•๋ถ„์— ๊ฐ€๋Šฅํ•˜๋‹ค. SD ์นด๋“œ๋Š” S RAM ์นด๋“œ๋‹ค. ๊ทผ๋ฐ ์ „๊ธฐ๊ฐ€ ์—†์œผ๋ฉด ์ €์žฅ์ด ์•ˆ๋œ๋‹ค. ํ•˜๋“œ ๋ง๊ณ  SD ์นด๋“œ ๊ฐ™์€ ๋ฐ ๊ฒŒ์ž„์„ ์ €์žฅํ•˜๋ฉด ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.  ํ•˜๋“œ๋ณด๋‹ค๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋น ๋ฅด๋‹ˆ๊น.


  /proc ํŒŒ์ผ์‹œ์Šคํ…œ์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  Linux ์ปค๋„ ์ž์›๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ PID๋กœ ๊ตฌ๋ณ„ํ•ด์„œ ๋ณด๊ด€ํ•˜๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด /proc ํŒŒ์ผ์˜ ๊ฐ’์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋จธ์‹ ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ผ์‹œ์ ์œผ๋กœ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— /proc๋ฅผ '๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ'์œผ๋กœ ๋ถ€๋ฅธ๋‹ค. ๋”ฐ๋ผ์„œ /proc ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ ์ค‘์š”ํ•œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์žฌ๋ถ€ํŒ… ํ›„์—๋„ ๊ณ„์† ๊ทธ ์„ค์ •์ด ์ ์šฉ๋˜๊ฒŒ ํ•˜๋ ค๋ฉด ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” /etc/sysctl.conf ํŒŒ์ผ์— ์„ค์ •์„ ์ €์žฅํ•ด ๋‘์–ด์•ผ ํ•œ๋‹ค. 

๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ

์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋™์•ˆ์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •๋ณด

 

ls /proc/sys/net/ipv4

์„ค์ •๊ฐ’๋“ค์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋‘๊ณ  ์ฝ์–ด์„œ ๋Œ€์‘์„ ํ•ด์ฃผ๋Š” ๊ฒƒ

์„ผํ† ์Šค์˜ ํ•˜๋“œ์›จ์–ด ์„ค์ •๊ฐ’์€ ์—ฌ๊ธฐ์— ์žˆ๋‹ค. 

์ฝ์œผ๋ ค๋ฉด ์ด๋ ‡๊ฒŒ ํ•ด์ค˜๋ผ. 

๊ฐ•์‚ฌ๋‹˜ ๊บผ์—”  00์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ € ํŒŒ์ผ๊นŒ์ง€ ๋‚˜์™€ ์žˆ์—ˆ์Œ

[root@localhost ~]# cat /usr/lib/sysctl.d/00-system.conf 
# Kernel sysctl configuration file
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

 

๊ป๋‹ค ์ผœ๋ฉด ๋‚˜๋Š” ๊ธฐ๋ณธ ์„ค์ •์ธ 0์œผ๋กœ ๋‹ค์‹œ ๋ณ€๊ฒฝ๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. proc ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž‘์—…ํ–ˆ์œผ๋‹ˆ๊นŒ. 

์„ค์ •์„ ๋ฐ”๊พธ๋ ค๋ฉด ์ด๋ฆ„์„ ์ง‘์–ด๋„ฃ์–ด.

ใ…‡ใ…‹

์„ผํ† ์Šค 7์—์„œ๋Š” ๋‹ค์Œ์ฒ˜๋Ÿผ ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ์„ค์ •ํ•ด๋‘˜ ์ˆ˜ ์žˆ๋‹ค.

nano /etc/sysctl.conf ํ•˜๋ฉด /usr/lib/sysctl.d/00-system.conf ํŒŒ์ผ์— ์„ค์ •์ด ์žˆ๊ณ , ์ด ์„ค์ •์„ ๋ฎ์–ด์“ฐ๋ ค๋ฉด /etc/sysctl.conf ํŒŒ์ผ์— ์ ์–ด์„œ /etc/sysctl.d/<name>.conf ํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ๋ณด์ธ๋‹ค.

echo "net.ipv4.ip_local_port_range=32768 40000" >> /etc/sysctl.conf

vm.swappiness=20 ๋“ฑ๋“ฑ

 

sysctl -p ํ•ด์„œ ์„ค์ •์„ ๋ณธ๋‹ค.

 

sysctl -a

๋ฐ”๊ฟจ๋‹ค.

๋ฐ”๋€Œ์–ด์žˆ๋‹ค.

 

=>๋ณด์•ˆ์ธก๋ฉด์—์„œ ๋ณด๋ฉด ์™ธ๋ถ€์—์„œ DDoS์™€ ๊ฐ™์€ ๊ณต๊ฒฉ์ด ์žˆ์„ ๋•Œ 
HDD๋กœ ๋“ค์–ด๊ฐ€์„œ /etc/sysctl.conf  ํŒŒ์ผ์„ ์—ด๊ณ  ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์„œ ์ €์žฅํ•˜๋Š” ์ž‘์—…๋ณด๋‹ค ํ˜„์žฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” RAM์—์„œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฐ”๋กœ ์ ์šฉ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— /proc ๊ฐ€์ƒ ํŒŒ์ผ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ํšจ๊ณผ๊ฐ€ ์ข‹๋‹ค!!!

 

/proc ์„ค์ •๋ฒ•

a) sysctl -a ํ•ด์„œ HDD์— ์ €์žฅ๋œ ๋ชจ๋“  ์„ค์ •์„ ๋ณด๊ณ  
b) sysctl -w net.ipv4.ip_forward=0 ํ•ด์„œ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ๋’ค
c) sysctl -a |grep "ip_forward" ํ•ด์„œ ํ™•์ธํ•˜๊ณ 
d) cat /proc/sys/net/ipv4/ip_forward ํ•ด์„œ ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ๋„ ๋ณ€๊ฒฝ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
1

 

ํ•˜๋“œ์›จ์–ด ์„ค์ •๋ฒ• ๋งˆ์ง€๋ง‰์ค„



โ‘  Telnet, FTP๋‚˜ SSH, HTTP ์„œ๋น„์Šค์™€ ์—ด๋ฆฐ ํฌํŠธ ๋“ฑ ์กฐ์ ˆํ•˜๊ธฐ 

์ ‘์†์‹œ๊ฐ„ ์กฐ์ ˆ

 

=>nano /proc/sys/net/ipv4/ip_local_port_range ํ•ด์„œ ํŒŒ์ผ์„ ์—ด๊ณ  
30000 35000์‹์œผ๋กœ ์ˆ˜์ •ํ•ด์„œ ์ด ํฌํŠธ ์ด์™ธ์˜ ํฌํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋ฉด ๊ด€๋ฆฌ์ž๊ฐ€ ์•Œ์•„์ฐจ๋ฆฌ๊ธฐ ์‰ฝ๊ฒŒ ์„ค์ •ํ•ด์„œ ์ €์žฅํ•œ๋‹ค. 


โ‘ก SYN Flooding ๊ณต๊ฒฉ ๋ง‰๊ธฐ
SYN Flooding ๊ณต๊ฒฉ์€ ๋‘ ๋…ธ๋“œ ๊ฐ„ TCP ์—ฐ๊ฒฐ์ธ 3-way handshakes๋ฅผ ์ด์šฉํ•œ ์ผ์ข…์˜ DoS (Deny of Service) ๊ณต๊ฒฉ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ TCP์—์„œ์˜ 3-way handshakes ์—ฐ๊ฒฐ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋จผ์ € ์„œ๋ฒ„์—๊ฒŒ SYN๋ฅผ ๋ณด๋‚ด์„œ ์„œ๋ฒ„์—๊ฒŒ ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๋ฉด >์„œ๋ฒ„๋Š” SYN+ACK๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด์„œ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  >๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ACK๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์„œ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ณผ์ •์„ ๊ฐ€์ง„๋‹ค. 
=>ํ•˜์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ(ํ•ด์ปค)๋Š” ์ด๋Ÿฐ ์—ฐ๊ฒฐ์„ ๊ต๋ฌ˜ํ•˜๊ฒŒ ์†์—ฌ์„œ ์นจํˆฌํ•˜๋Š”๋ฐ
a. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ SYN1๋ฅผ ๋ณด๋‚ด๊ณ ,
b. ์„œ๋ฒ„๊ฐ€ SYN1+ACK1์„ ๋ณด๋‚ด์˜ค๋ฉด, 
c. ์›๋ž˜๋Œ€๋กœ๋ผ๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ACK1์„ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ด์„œ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š”๋ฐ ACK1์„ ๋ณด๋‚ด์ง€ ์•Š๊ณ  ๋˜ ๋‹ค๋ฅธ SYN2๋ฅผ ๋ณด๋‚ธ๋‹ค.
c. ์ด์ œ ์„œ๋ฒ„๊ฐ€ SYN2+ACK2๋ฅผ ๋ณด๋‚ด๋ฉด, 
d. ACK2๋ฅผ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ด์ง€ ์•Š๊ณ , ๋˜ SYN3๋ฅผ ๋ณด๋‚ด๊ณ ,...ํ•˜๋Š” ์‹์œผ๋กœ ๊ณ„์† SYN๋งŒ ๋ณด๋‚ด๊ณ  ์‹ค์ œ ์—ฐ๊ฒฐ์„ ๋งบ์ง€ ์•Š๋Š” ๊ณต๊ฒฉ์ด๋‹ค. 
e. ๊ทธ๋Ÿฌ๋ฉด ์„œ๋ฒ„๋Š” ๊ฐ๊ฐ์˜ ์—ฐ๊ฒฐ์š”์ฒญ SYN1, SYN2, SYN3, ...๋ฅผ ๋กœ๊ทธ์— ํŒŒ์ผ๋กœ ์ €์žฅํ•ด ๋‘๊ณ  ํฌํŠธ๋ฅผ ์—ด์–ด๋‘๊ณ (์ด๋ฅผ half-open ์ƒํƒœ๋กœ ๋ถ€๋ฆ„) ๊ฐ๊ฐ์˜ ACK๋ฅผ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ๊ณ„์†๋œ SYN ์š”์ฒญ์œผ๋กœ ์ธํ•ด ์—ฐ๊ฒฐ ์„ค์ •์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๋กœ๊ทธํŒŒ์ผ(Backlog Queue๋ผ๊ณ  ํ•จ)์˜ ์šฉ๋Ÿ‰์ด ๋‹ค ์ฐจ๋ฉด ์„œ๋ฒ„๊ฐ€ ์„œ๋น„์Šค ๋ถˆ๋Šฅ์ด ๋˜๊ฒŒ ๋œ๋‹ค. 
=>์ด๋Ÿฐ syn_flooding ๊ณต๊ฒฉ์„ ๋ง‰์œผ๋ ค๋ฉด ์„œ๋ฒ„์˜ ๋กœ๊ทธ๊ฐ€ ์ €์žฅ๋˜๋Š” ์ด backlog queue ์šฉ๋Ÿ‰์„ ๋Š˜๋ ค์„œ syn_flooding ๊ณต๊ฒฉ์„ ๊ฒฌ๋ŽŒ๋‚ผ ๋™์•ˆ ๊ด€๋ฆฌ์ž๊ฐ€ ์กฐ์น˜๋ฅผ ์ทจํ•ด์„œ ๋ง‰์œผ๋ฉด ๋œ๋‹ค. 
=>iptables์—์„œ --J drop๊ณผ --J reject๊ฐ€ ์žˆ๋Š”๋ฐ ๋ชจ๋‘ ์—ฐ๊ฒฐ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ drop์€ ๋กœ๊ทธํŒŒ์ผ์„ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๊ฑฐ๋ถ€ํ•˜๋ฉฐ, reject๋Š” ๋กœ๊ทธํŒŒ์ผ๋กœ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ณ  ๊ฑฐ๋ถ€ํ•œ๋‹ค.

 

...๋ผ๋Š”๋ฐ.. ์ดํ•ด ๋˜๋‚˜์š”????? ์ „ ์ดํ•ด๊ฐ€ ์•ˆ๋ผ์„œ ๊ธ์–ด ์™”์Šต๋‹ˆ๋‹ค.

 

1. "3-way-handshake"์„ ์•Œ์•„์•ผ, SYN Flooding ๊ณต๊ฒฉ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

TCP๋Š” ์„ธ ์ฐจ๋ก€์˜ ํŒจํ‚ท๋“ค์„ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ๋งŒ TCP ์—ฐ๊ฒฐ(connection)์ด ์„ฑ๋ฆฝ(establish)๋ฉ๋‹ˆ๋‹ค. ํŒจํ‚ท์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋‚ด์šฉ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

โ‘  Client๋Š” SYN ํŒจํ‚ท(sequence number ํฌํ•จ)์„ ์ƒ์„ฑํ•ด์„œ, Server์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ผ์ข…์˜, "ํฌํŠธ ์—ด๋ ค์žˆ๋‚˜์š”?" ๋ผ๊ณ  ๋ฌธ์„ ๋‘๋“œ๋ฆฌ๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

โ‘ก Server๋Š” SYN ํŒจํ‚ท(sequence number ํฌํ•จ)๊ณผ ๋ฐ›์€ SYN์˜ ๋Œ€๋‹ต ๊ฒฉ์ธ ACK ํŒจํ‚ท(acknowledgement number ํฌํ•จ)์„ Client์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Server๋Š” Client์˜ ์ ‘์†์„ ๋ฐ›์•„๋“ค์ด๊ธฐ ์œ„ํ•ด, RAM(๋ฉ”๋ชจ๋ฆฌ)์— ์ผ์ • ๊ณต๊ฐ„์„ ํ™•๋ณดํ•ด๋‘ก๋‹ˆ๋‹ค.

์ผ์ข…์˜, "๋„ค, ์—ด๋ ค์žˆ์Šต๋‹ˆ๋‹ค." ๋ผ๊ณ  ๋Œ€๋‹ตํ•˜๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ๋ณด๋ฉด ๋˜๋ฉฐ, acknowledgement number์˜ ๊ฐ’์€, ๋ฐฉ๊ธˆ ๋ฐ›์€ SYN ํŒจํ‚ท์˜ sequence number ๊ฐ’์— ์ผ์ • ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ์„œ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

โ‘ข ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ Client๋Š” ๋ฐฉ๊ธˆ ๋ฐ›์€ SYN์˜ ๋Œ€๋‹ต ๊ฒฉ์ธ ACK ํŒจํ‚ท(acknowledgement number ํฌํ•จ)์„ Server์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ผ์ข…์˜, "๊ทธ๋Ÿผ ๋“ค์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค~" ๋ผ๊ณ  ๋Œ€๋‹ตํ•˜๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ acknowledgement number์˜ ๊ฐ’์€, ๋ฐฉ๊ธˆ ๋ฐ›์€ SYN ํŒจํ‚ท์˜ sequence number ๊ฐ’์— ์ผ์ • ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ์„œ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ Client๋Š” Server์— Established ์ƒํƒœ๋กœ ์—ฐ๊ฒฐ์ด ๋ฉ๋‹ˆ๋‹ค.

์œ„ ์„ธ ์ฐจ๋ก€์˜ ํŒจํ‚ท์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ณผ์ •์€ ์ผ๋ จ์˜ ํ˜‘์ƒ์„ ํƒ€๊ฒฐํ•˜์—ฌ ์•…์ˆ˜ํ•˜๋Š” ๋ชจ์Šต๊ณผ ๊ฐ™์•„์„œ, 3-way-handshake(์•…์ˆ˜) ๋ผ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

*์ฐธ๊ณ  : ์—ฐ๊ฒฐ์„ ๋Š์„ ๋•Œ์—๋Š” 4-way-handshake ๋ผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋Š์Šต๋‹ˆ๋‹ค.

 

2. SYN Flooding ๊ณต๊ฒฉ์€ ๋ฌด์—‡์ธ๊ฐ€?

SYN Flooding์€, ์œ„ 3-way-handshake์˜ โ‘ก๋ฒˆ ๊ณผ์ •์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ๋‚ด์šฉ์— ์ง‘์ค‘ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

"โ‘ก Server๋Š” SYN ํŒจํ‚ท๊ณผ ACK ํŒจํ‚ท์„ Client์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Server๋Š” Client์˜ ์ ‘์†์„ ๋ฐ›์•„๋“ค์ด๊ธฐ ์œ„ํ•ด, RAM(๋ฉ”๋ชจ๋ฆฌ)์— ์ผ์ • ๊ณต๊ฐ„์„ ํ™•๋ณดํ•ด๋‘ก๋‹ˆ๋‹ค."

Client๊ฐ€ โ‘ SYN ํŒจํ‚ท๋งŒ์„ ๊ณ„์†์ ์œผ๋กœ ๋ณด๋‚ด๊ณ  โ‘ขACK ํŒจํ‚ท์„ ์•ˆ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด, Server๋Š” Client์˜ ์—ฐ๊ฒฐ์„ ๋ฐ›์•„๋“ค์ด๊ธฐ ์œ„ํ•ด RAM(๋ฉ”๋ชจ๋ฆฌ) ๊ณต๊ฐ„์„ ์ ์  ๋” ๋งŽ์ด ํ™•๋ณดํ•ด๋‘” ์ƒํƒœ์—์„œ ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Server์˜ RAM์ด ๊ฝ‰ ์ฐจ๊ฒŒ ๋˜๋ฉด ๋”์ด์ƒ ์—ฐ๊ฒฐ์„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์—†๊ฒŒ๋˜๊ณ , Server๋Š” ์„œ๋น„์Šค๋ฅผ ์„œ๋น„์Šค๋ฅผ ๊ณ„์†ํ•  ์ˆ˜๊ฐ€ ์—†๊ฒŒ ๋˜์ฃ .

 

(์ถœ์ฒ˜: https://sata.kr/entry/DOSDDOS-SYN-Flooding-%EA%B3%B5%EA%B2%A9%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90)

 

์‹ค์Šต

SYN flooding ๋ง‰๊ธฐ- ๋ฐฑ๋กœ๊ทธ ํ ๋Š˜๋ฆฌ๊ธฐ, ๋ฐฉํ™”๋ฒฝ์— ์ฐจ๋‹จ ์ •์ฑ… ์ถ”๊ฐ€ํ•˜๊ธฐ

[root@localhost centos1]# cat /proc/sys/net/ipv4/tcp_max_syn_backlog 
128 #์šฉ๋Ÿ‰์ด 128K
[root@localhost centos1]# sysctl -w net.ipv4.tcp_max_syn_backlog=10240
net.ipv4.tcp_max_syn_backlog = 10240 #10๋ฉ”๊ฐ€๋กœ ๋Š˜๋ ค์ค€๋‹ค. 
[root@localhost centos1]# iptables -I INPUT 1 -p tcp --dport 22 -j REJECT #REJECT๋Š” ๋กœ๊ทธํŒŒ์ผ๋กœ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ณ  ๊ฑฐ๋ถ€ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์›์ธ๋„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 
[root@localhost centos1]# iptables -I INPUT 1 -p tcp --dport 22 -m recent --update --seconds 1 --hitcount 10 --name SSH -j DROP #DROP์€ ๋กœ๊ทธํŒŒ์ผ์„ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๊ฑฐ๋ถ€ํ•œ๋‹ค. ์›์ธ๋„ ์•Œ ์ˆ˜ ์—†๋‹ค. 

DROP๊ณผ REJECT
REJECT๋Š” ๋กœ๊ทธํŒŒ์ผ๋กœ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ณ  ๊ฑฐ๋ถ€ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์›์ธ๋„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 
DROP์€ ๋กœ๊ทธํŒŒ์ผ์„ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๊ฑฐ๋ถ€ํ•œ๋‹ค. ์›์ธ๋„ ์•Œ ์ˆ˜ ์—†๋‹ค. 

์‹ ์ฟ ํ‚ค 1๋กœ ์„ค์ •ํ•˜๊ธฐ

[root@localhost centos1]# sysctl -w net.ipv4.tcp_syncookies=1
net.ipv4.tcp_syncookies = 1
[root@localhost centos1]# cat /proc/sys/net/ipv4/tcp_syncookies 
1


โ‘ข Smurf / Land ๊ณต๊ฒฉ ๋ง‰๊ธฐ  
โˆŽ ์Šค๋จธํ”„ ๊ณต๊ฒฉ์€ ํ•ด์ปค๊ฐ€ ๋ฌด์ˆ˜ํ•œ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ๊ฐ€ ๊ฐ€์งœ์ธ ์‚ฌ์„ค IP ํŒจํ‚ท์œผ๋กœ ์„œ๋ฒ„์—๊ฒŒ SYN๋กœ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ SYN+ACK๋ฅผ ๋ณด๋‚ด์•ผ ํ•˜๋Š”๋ฐ ํด๋ผ์ด์–ธํŠธ ์ฃผ์†Œ๊ฐ€ ๊ฐ€์งœ์ด๋ฏ€๋กœ SYN+ACK๋ฅผ ๋ณด๋‚ด๋„ ๊ฒฐ๊ตญ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ACK๋ฅผ ๋ฐ›์ง€ ๋ชปํ•˜๊ณ  ์—ฐ๊ฒฐ ๋Œ€๊ธฐ ํƒ€์ž„์•„์›ƒ์— ๊ฑธ๋ฆด ๋•Œ๊นŒ์ง€ ๊ณ„์† ํฌํŠธ๋ฅผ ์—ด์–ด๋†“๊ณ (half-open ์ƒํƒœ) ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๊ฐ€ ๋˜๋ฏ€๋กœ ์œ„ํ—˜ํ•˜๋‹ค. 
=>์ด๋Ÿฐ smurf ๊ณต๊ฒฉ์„ ์˜ˆ๋ฐฉํ•˜๋ ค๋ฉด TCP ์—ฐ๊ฒฐ์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” tcp_syncookies ๊ฐ’์„ 1๋กœ ๋งŒ๋“ค์–ด์„œ ์˜จ์ „ํ•œ ํŒจํ‚ท๋งŒ ๋ฐ›๊ฒŒ ํ•ด๋‘๋ฉด ๋œ๋‹ค. ์‚ฌ์„ค IP ๋“ฑ์€ ์ •์‹ ์ธํ„ฐ๋„ท์—์„œ ์ž‘๋™๋˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ํ™œ๋™์„ ๊ธฐ๋กํ•˜๋Š” cookies์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ๋ฒ•์œผ๋กœ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ๋ฅผ ์†์ด๋Š” ๊ฐ€์งœ ์‚ฌ์„ค IP๋ฅผ ๊ฑธ๋Ÿฌ๋‚ธ๋‹ค๊ณ  ๋ด๋„ ๋œ๋‹ค.

 

ํ•™์›์—์„œ ์ด๋ ‡๊ฒŒ ๋ฐฐ์› ๋Š”๋ฐ ์˜ค๊ฐœ๋…์ด์—ˆ๋‹ค. 

 

์Šค๋จธํ”„ ๊ณต๊ฒฉ์€ SYN ๋ฐ ACK ํŒจํ‚ท์„ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šค๋จธํ”„ ๊ณต๊ฒฉ์€ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ๋กœ ๋งŽ์€ ์ˆ˜์˜ ์ธํ„ฐ๋„ท ์ œ์–ด ๋ฉ”์‹œ์ง€ ํ”„๋กœํ† ์ฝœ (ICMP) ํŒจํ‚ท์„ ๋ณด๋‚ด๋Š” ๋ถ„์‚ฐ ์„œ๋น„์Šค ๊ฑฐ๋ถ€ (DDoS) ๊ณต๊ฒฉ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ํŒจํ‚ท์€ ๋Œ€์ƒ์ธ ๊ณต๊ฒฉ์˜ ์œ„์กฐ๋œ ์†Œ์Šค IP ์ฃผ์†Œ๋กœ ๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค. ์Šค๋จธํ”„ ๊ณต๊ฒฉ์˜ ๋ชฉํ‘œ๋Š” ํ”ผํ•ด์ž์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ๊ณผ๋ถ€ํ•˜์‹œํ‚ค๊ณ , ํ•ฉ๋ฒ•์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
SYN ๋ฐ ACK ํŒจํ‚ท์€ ๋‹ค๋ฅธ ์œ ํ˜•์˜ DDoS ๊ณต๊ฒฉ์ธ SYN ํ”Œ๋Ÿฌ๋“œ ๊ณต๊ฒฉ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€์ƒ ์„œ๋ฒ„์— ๋Œ€๋Ÿ‰์˜ SYN ํŒจํ‚ท์„ ๋ณด๋‚ด์„œ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•˜๊ณ , ํ•ฉ๋ฒ•์ ์ธ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋ฅผ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.

์Šค๋จธํ”„ ๊ณต๊ฒฉ(Smurf attack)์€ ํฌ์ƒ์ž์˜ ์Šคํ‘ธํ•‘๋œ ์›๋ณธ IP๋ฅผ ๊ฐ€์ง„ ์ˆ˜๋งŽ์€ ์ธํ„ฐ๋„ท ์ œ์–ด ๋ฉ”์‹œ์ง€ ํ”„๋กœํ† ์ฝœ(ICMP)ํŒจํ‚ท๋“ค์ด
IP ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋กœ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜๋Š” ๋ถ„์‚ฐ ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ์ด๋‹ค.
                                                                                                                                                                          chatGPT

 

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

                                                                                                                                                            - ์ถœ์ฒ˜๋Š”, Wikipedia

 

์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ๊ฐ€ ๊ณต๊ฒฉ ๋Œ€์ƒ์—๊ฒŒ ๋งŽ์€ ์–‘์˜ ICMP Echo Request๋ฅผ ๋ณด๋‚ด๊ฒŒ ํ•˜์—ฌ ๊ณต๊ฒฉ ๋Œ€์ƒ์ด ๋งˆ๋น„๋ฉ๋‹ˆ๋‹ค.

๊ณต๊ฒฉ ํ”Œ๋กœ์šฐ๋ฅผ ํ•œ ๋ฒˆ ์‚ดํŽด ๋ณผ๊นŒ์š”!?

๊ณต๊ฒฉ์ž๊ฐ€ ๊ณต๊ฒฉ๋Œ€์ƒ์ด ์†ํ•ด์žˆ๋Š” ๋„คํŠธ์›Œํฌ์— ping์„ ๋ณด๋‚ผ ๋•Œ

  ์ถœ๋ฐœ์ง€ ip๋ฅผ ๊ณต๊ฒฉ ๋Œ€์ƒ์˜ ip๋กœ ๋ณ€์กฐํ•ด์„œ ๋ณด๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!

๊ณต๊ฒฉ ๋Œ€์ƒ์ด ์†ํ•ด์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ๋“ค์—๊ฒŒ ICMP Echo Request๊ฐ€ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค!

 

 


ICMP Echo Request๋ฅผ ๋ฐ›์€ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ๋“ค์ด ๊ณต๊ฒฉ ๋Œ€์ƒ์—๊ฒŒ ์‘๋‹ต ํŒจํ‚ท์„ ๋‚ ๋ฆฝ๋‹ˆ๋‹ค!

์•„์•„.. ์ด๋ ‡๊ฒŒ ๋‹˜์€ ๊ฐ€์…จ์Šต๋‹ˆ๋‹ค.... ใ„ธใ„นใ„น...

์—ฌ๊ธฐ์„œ ๋๋‚˜๋ฉด ์•„๋‹ˆ๋˜์ฃ ~

SMURF ๋Œ€์‘ ๋ฐฉ์•ˆ ๋‚˜๊ฐ€์‹ญ๋‹ˆ๋‹ค!

 

1. ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ์ž์‹ ์˜ ๋„คํŠธ์›Œํฌ๋กœ ๋“ค์–ด์˜ค๋Š” IP broadcast ํŒจํ‚ท์„ ๋ง‰์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค!

๊ทธ๋ ‡๋‹ค๋ฉด, ๋ˆ„๊ฐ€ ๋ง‰์„ ์ˆ˜ ์žˆ์„๊นŒ์š”!?

์šฐ๋ฆฌ์˜ ๋„ˆ๊ตด๋งจ์ด ํ•ด๊ฒฐํ•ด ์ฃผ์—ˆ๋„ค์š”!!

์ •๋‹ต์€ ๋ฐ”๋กœ ๋ผ์šฐํ„ฐ! ๋„คํŠธ์›Œํฌ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋ผ์šฐํ„ฐ์— IP broadcast ํŒจํ‚ท์— ๋Œ€ํ•œ ์„ค์ •์„ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

2. ํ˜ธ์ŠคํŠธ๋“ค์€ IP broadcast ์ฃผ์†Œ๋กœ ์ „์†ก๋œ ICMP ํŒจํ‚ท์— ๋Œ€ํ•˜์—ฌ ์‘๋‹ตํ•˜์ง€ ์•Š๋„๋ก ์„ค์ •!

์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ(IP) ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋‚˜ ๊ธฐํƒ€ ์ธํ„ฐ๋„ท ์šด์šฉ ์ธก๋ฉด์„ ์ด์šฉํ•˜์—ฌ ์ธํ„ฐ๋„ท ๋ง์„ ๊ณต๊ฒฉํ•˜๋Š” ํ–‰์œ„. '์Šค๋จธํ•‘'์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต๊ฒฉํ•˜๋Š”๋ฐ, ์Šค๋จธํ•‘์€ IP์™€ ์ธํ„ฐ๋„ท ์ œ์–ด ๋ฉ”์‹œ์ง€ ํ”„๋กœํ† ์ฝœ(ICMP)์˜ ํŠน์„ฑ์„ ์ด์šฉํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ICMP๋Š” ์›๋ž˜ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ์™€ ๊ด€๋ฆฌ์ž๋“ค์ด ๋„คํŠธ์›Œํฌ์˜ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ์„œ ์šด์šฉ ์ค‘์ธ ๋…ธ๋“œ๋“ค์ด ์žˆ๋Š”์ง€ ๋ณด๊ธฐ ์œ„ํ•ด ํ•‘(ping) ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ๋™์ž‘ ์ค‘์ธ ๋…ธ๋“œ๊ฐ€ ์—์ฝ” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ฒŒ ํ•œ๋‹ค. ์Šค๋จธํ•‘ ํ”„๋กœ๊ทธ๋žจ์€ ๋งˆ์น˜ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ(์ด๊ฒƒ์„ ์Šค๋จธํ•‘ ์ฃผ์†Œ๋ผ ํ•จ)๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด ์ฃผ์–ด์ง„ ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ๋ชจ๋“  IP ์ฃผ์†Œ๋“ค, ์ฆ‰ IP ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ๋กœ ICMP ํ•‘ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ด ํ•‘ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์‘๋‹ต์€ ์Šค๋จธํ•‘ ์ฃผ์†Œ๋กœ ๋ณด๋‚ด์ง€๋Š”๋ฐ, ์—„์ฒญ๋‚œ ์–‘์˜ ํ•‘๊ณผ ๊ทธ์— ๋Œ€์‘ํ•œ ใ…‡๋„ค์ฝ” ๋ฉ”์‹œ์ง€๋กœ ์ธํ•ด ๋„คํŠธ์›Œํฌ๋Š” ์‹ค์‹œ๊ฐ„ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์„ ๋งŒํ‹ˆ ๋งŽ์€ ์ •๋ณด๋กœ ๋„˜์ณ ํ๋ฅด๊ฒŒ ๋œ๋‹ค. 

์Šค๋จธํ•‘ ๊ณต๊ฒฉ์„ ๋ฌด๋ ฅํ™”์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ ๋„คํŠธ์›Œํฌ ๋ผ์šฐํ„ฐ์—์„œ IP ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด ๋†“๋Š” ๊ฒƒ์ด๋‹ค. 

(์ถœ์ฒ˜: https://yjshin.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%B3%B4%EC%95%88-%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B1%B0%EB%B6%80Dos-%EA%B3%B5%EA%B2%A9-Teardrop-Land-attack-Syn-Flooding-Smurf-attack)


โˆŽ ๋žœ๋“œ ๊ณต๊ฒฉ์€ ํ•ด์ปค๊ฐ€ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ์™€ ํฌํŠธ๋ฅผ ์ž„์˜๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€ ์ฃผ์†Œ๋ฅผ ๋™์ผํ•˜๊ฒŒ ํ•˜๋Š” ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์ž๊ธฐ ์ž์‹ ๊ณผ ์—ฐ๊ฒฐ์„ ๋งบ์Œ์œผ๋กœ์จ ์‹คํ–‰ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ณ  ๋™์ž‘์ด ๋งˆ๋น„๋œ๋‹ค. 
=>ํŒจํ‚ท ํ—ค๋”๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋„ฃ์–ด์„œ ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€๊ฐ€ ๋™์ผํ•œ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ ํŒจํ‚ท์„ ๋ง‰๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค. 

(์ถœ์ฒ˜: https://m.blog.naver.com/brickbot/220416019291)

 Land ๊ณต๊ฒฉ์€ ๋Œ€์ƒ ์ปดํ“จํ„ฐ๋กœ ์œ„์กฐ๋œ TCP SYN ํŒจํ‚ท์„ ๋ณด๋‚ด๋Š” ๊ฑฐ๋ถ€ ์„œ๋น„์Šค (DoS) ๊ณต๊ฒฉ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜๋กœ, ์†Œ์Šค ๋ฐ ๋Œ€์ƒ IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ๋™์ผํ•œ ํŒจํ‚ท์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋Œ€์ƒ ์ปดํ“จํ„ฐ๊ฐ€ SYN-ACK ํŒจํ‚ท์„ ๋ณด๋‚ด๊ณ , ์†Œ์Šค IP ์ฃผ์†Œ๊ฐ€ ๋Œ€์ƒ IP ์ฃผ์†Œ์™€ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€์ƒ ์ปดํ“จํ„ฐ๊ฐ€ ์ž์‹ ์—๊ฒŒ ๊ณ„์† SYN-ACK ํŒจํ‚ท์„ ๋ณด๋‚ด๋Š” ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์‹œ์Šคํ…œ์ด ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜ ์‘๋‹ตํ•˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜, ์Šค๋จธํ”„ ๊ณต๊ฒฉ๊ณผ ๋‹ฌ๋ฆฌ, Land ๊ณต๊ฒฉ์€ ํ˜„๋Œ€์ ์ธ DDoS ๊ณต๊ฒฉ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํšจ๊ณผ๊ฐ€ ๋–จ์–ด์ง€๊ณ  ๋ฐฉ์–ดํ•˜๊ธฐ ์‰ฌ์›Œ์„œ์ž…๋‹ˆ๋‹ค. ํ˜„๋Œ€์ ์ธ DDoS ๊ณต๊ฒฉ์€ ๋ณดํ†ต ๋ด‡๋„ท๊ณผ ์ฆํญ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๋Ÿ‰์˜ ํŠธ๋ž˜ํ”ฝ์„ ์ƒ์„ฑํ•˜์—ฌ ๋Œ€์ƒ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณผ๋ถ€ํ•˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.


โ‘ฃ ICMP Redirect ๋ง‰๊ธฐ  
๋กœ์ปฌ์—์„œ ํƒ€๊ฒŸ์„ ์ฐพ์„ ๋•Œ ping์œผ๋กœ ์ฐพ๋Š”๋ฐ ์ด ping์—์„œ ์‚ฌ์šฉํ•˜๋Š” ICMP ํ”„๋กœํ† ์ฝœ์„ ์•…์šฉํ•œ ICMP Redirect ๊ณต๊ฒฉ์€ ํ•ด์ปค๊ฐ€ ์ž์‹ ์˜ MAC ์ฃผ์†Œ๋ฅผ ARP Spoofing ๊ธฐ๋ฒ• ๋“ฑ์œผ๋กœ ๋กœ์ปฌ์— ์žˆ๋Š” ์ฃผ๋กœ ๋ผ์šฐํ„ฐ(๊ฒŒ์ดํŠธ์›จ์ด)์˜ MAC ์ฃผ์†Œ๋ฅผ ์ž์‹ ์˜ MAC ์ฃผ์†Œ์™€ ๊ฐ™๊ฒŒ ์†์—ฌ์„œ(MAC cloned) ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ๋“ค์˜ ๋ผ์šฐํ„ฐ๋กœ ๊ฐ€๋Š” ํŒจํ‚ท์ด ํ•ด์ปค ๋จธ์‹ ์—๋„ ๊ฒฝ๊ณผํ•˜๋„๋ก ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์„ ํ•ด์„œ ์ด๋“ค์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋ณด๊ฒŒํ•˜๋Š” ๊ณต๊ฒฉ์ด๋‹ค.
=>์ด๋Ÿฐ icmp redirect์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์„ ๋ง‰์•„์ฃผ๋ฉด ๋œ๋‹ค.

[root@localhost centos1]# cat /proc/sys/net/ipv4/conf/default/send_redirects 
1
[root@localhost centos1]# sysctl -w net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.default.send_redirects = 0
[root@localhost centos1]# cat /proc/sys/net/ipv4/conf/default/send_redirects 


โ‘ค Reverse Path Filtering์œผ๋กœ DDoS(IP spoofing) ๋ง‰๊ธฐ
ํ•ด์ปค๋Š” ์ž„์˜์˜ ๊ฐ€์งœ IP ์ฃผ์†Œ๋ฅผ ๋ฌด์ œํ•œ์œผ๋กœ ์ƒ์„ฑํ•ด์„œ ํƒ€๊ฒŸ ์„œ๋ฒ„์— ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” SYN๋ฅผ ๋ณด๋‚ด๋Š” Smurf ๊ณต๊ฒฉ๊ณผ ์œ ์‚ฌํ•œ DDoS(Distributed DoS) ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. 
=>์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท์˜ ํ—ค๋”๋ฅผ ๋ณด๊ฑฐ๋‚˜ ์—ญ์œผ๋กœ ์ถ”์ ํ•ด์„œ ์‚ฌ์„ค IP ์ฃผ์†Œ์ด๊ฑฐ๋‚˜ ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ๊ฐ€ ๋ถˆ๋ถ„๋ช…ํ•œ ํŒจํ‚ท์„ ๋ง‰์œผ๋ฉด ๋œ๋‹ค.  


โ‘ฅ Faked(Rogue) IP Filtering ํ•˜๊ธฐ
โ‘ฆ Source Route ํŒจํ‚ท ์ „์†ก ๋ง‰๊ธฐ
โ‘ง ping์ด๋‚˜ tracert์— ์‘๋‹ตํ•˜์ง€ ์•Š๊ธฐ 
  
  ์ผ๋ฐ˜์ ์ธ ์™ธ๋ถ€๊ณต๊ฒฉ์— ๋Œ€๋น„ํ•˜๊ธฐ
1. Buffer Overflow ๊ณต๊ฒฉ 
2 ๊ฐ์ข… ์˜ค๋ฅ˜๋ฅผ ์ด์šฉํ•œ ๊ณต๊ฒฉ
โ‘  ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ ์„ค์ •์ƒ ์˜ค๋ฅ˜๋ฅผ ์ด์šฉํ•œ ๊ณต๊ฒฉ
โ‘ก ์ดˆ๊ธฐ ํŒจ์Šค์›Œ๋“œ ๊ณ„์† ์‚ฌ์šฉ์„ ์ด์šฉํ•œ ๊ณต๊ฒฉ
โ‘ข API(์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜) ์˜ค๋ฅ˜๋ฅผ ํ†ตํ•œ ๊ณต๊ฒฉ
โ‘ฃ Server ์˜ค์—ผ ๊ณต๊ฒฉ(XSS, CSRF)
โ‘ค Session Hijacking ๊ณต๊ฒฉ
โ‘ฅ SQL Injection ๊ณต๊ฒฉ
โ‘ฆ OS Injection ๊ณต๊ฒฉ
โ‘ง Directory Traverse ๊ณต๊ฒฉ