Variti๋ ๋ด ๋ฐ DDoS ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ณ ์คํธ๋ ์ค ๋ฐ ๋ก๋ ํ
์คํธ๋ ์ํํฉ๋๋ค. HighLoad++ 2018 ์ปจํผ๋ฐ์ค์์ ์ฐ๋ฆฌ๋ ๋ค์ํ ์ ํ์ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ฆฌ์์ค๋ฅผ ๋ณดํธํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. ์ฆ, ์์คํ
์ ์ผ๋ถ๋ฅผ ๊ฒฉ๋ฆฌํ๊ณ , ํด๋ผ์ฐ๋ ์๋น์ค์ CDN์ ์ฌ์ฉํ๊ณ , ์ ๊ธฐ์ ์ผ๋ก ์
๋ฐ์ดํธํฉ๋๋ค. ํ์ง๋ง ์ ๋ฌธ์
์ฒด ์์ด๋ ์ฌ์ ํ ๋ณดํธ๋ฅผ ๊ฐ๋นํ ์ ์์ต๋๋ค :)
ํ
์คํธ๋ฅผ ์ฝ๊ธฐ ์ ์ ์งง์ ์ด๋ก์ ์ฝ์ ์ ์์ต๋๋ค.
์ฝ๊ธฐ๋ฅผ ์ข์ํ์ง ์๊ฑฐ๋ ๋จ์ง ๋น๋์ค๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด ์คํฌ์ผ๋ฌ ์๋์ ์ฐ๋ฆฌ ๋ณด๊ณ ์์ ๋
นํ๋ณธ์ด ์์ต๋๋ค.
๋ณด๊ณ ์์ ๋น๋์ค ๋ นํ
๋ง์ ํ์ฌ๊ฐ ์ด๋ฏธ ๋ถํ ํ
์คํธ๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ง๋ง ๋ชจ๋ ํ์ฌ๊ฐ ์คํธ๋ ์ค ํ
์คํธ๋ฅผ ์ํํ๋ ๊ฒ์ ์๋๋๋ค. ์ผ๋ถ ๊ณ ๊ฐ์ ์์ ์ ์ฌ์ดํธ๊ฐ ๊ณ ๋ถํ ์์คํ
์ ๊ฐ์ถ๊ณ ์๊ณ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์ ๋ณดํธ๋๊ธฐ ๋๋ฌธ์ ๋ฌด์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ด ์ ์ ์ผ๋ก ์ฌ์ค์ด ์๋์ ๋ณด์ฌ์ค๋๋ค.
๋ฌผ๋ก ํ
์คํธ๋ฅผ ์ํํ๊ธฐ ์ ์ ๊ณ ๊ฐ์ผ๋ก๋ถํฐ ํ๊ฐ๋ฅผ ๋ฐ๊ณ ์๋ช
๋ฐ ๋์ฅ์ ์ฐ์ผ๋ฉฐ, ์ฐ๋ฆฌ์ ๋์์ผ๋ก ๋๊ตฌ์๊ฒ๋ DDoS ๊ณต๊ฒฉ์ด ์ํ๋ ์ ์์ต๋๋ค. ํ
์คํธ๋ ๋ฆฌ์์ค์ ๋ํ ํธ๋ํฝ์ด ์ต์ํ๋๊ณ ์ก์ธ์ค ๋ฌธ์ ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํฅ์ ๋ฏธ์น์ง ์์ ๋ ๊ณ ๊ฐ์ด ์ ํํ ์๊ฐ์ ์ํ๋ฉ๋๋ค. ๋ํ ํ
์คํธ ๊ณผ์ ์์ ํญ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ๊ณ ๊ฐ๊ณผ ์ง์์ ์ผ๋ก ์ฐ๋ฝํ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฌ์ฑ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ํ
์คํธ ์ค์ ๋ด์ฉ์ ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค. ํ
์คํธ๊ฐ ์๋ฃ๋๋ฉด ํญ์ ๋ฐ๊ฒฌ๋ ๋จ์ ์ ์ง์ ํ๊ณ ์ฌ์ดํธ์ ์ฝ์ ์ ์ ๊ฑฐํ๊ธฐ ์ํ ๊ถ์ฅ ์ฌํญ์ ์ ๊ณตํ๋ ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ผํ๋ ๋ฐฉ๋ฒ
ํ ์คํธํ ๋ ๋ด๋ท์ ์๋ฎฌ๋ ์ดํธํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋คํธ์ํฌ์ ์๋ ํด๋ผ์ด์ธํธ์ ์์ ํ๊ธฐ ๋๋ฌธ์ ์ ํ์ด๋ ๋ณดํธ ํธ๋ฆฌ๊ฑฐ๋ก ์ธํด ํ ์คํธ๊ฐ ์ฒซ XNUMX๋ถ ๋ด์ ์ข ๋ฃ๋์ง ์๋๋ก ํ๊ธฐ ์ํด ํ๋์ IP๊ฐ ์๋ ์์ฒด ์๋ธ๋ท์์ ๋ก๋๋ฅผ ๊ณต๊ธํฉ๋๋ค. ๋ํ ์๋นํ ๋ถํ๋ฅผ ์์ฑํ๊ธฐ ์ํด ์๋นํ ๊ฐ๋ ฅํ ์์ฒด ํ ์คํธ ์๋ฒ๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค.
๊ฐ์ ํ๋ค
๋๋ฌด ๋ง๋ค๊ณ ์ข์ ๊ฒ์ ์๋๋ค
๋ฆฌ์์ค์ ์ฅ์ ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ก๋๊ฐ ์ ์์๋ก ์ข์ต๋๋ค. ์ด๋น ํ๋์ ์์ฒญ ๋๋ ๋ถ๋น ํ๋์ ์์ฒญ์ผ๋ก ์ฌ์ดํธ ์๋์ ์ค์งํ ์ ์๋ค๋ฉด ์ ๋ง ์ข์ต๋๋ค. ์๋ํ๋ฉด ๋น์ดํจ์ ๋ฒ์น์ ๋ฐ๋ผ ์ฌ์ฉ์๋ ๊ณต๊ฒฉ์๊ฐ ์ฐ์ฐํ ์ด ํน์ ์ทจ์ฝ์ ์ ๋น ์ง๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ถ๋ถ์ ์ธ ์คํจ๊ฐ ์์ ํ ์คํจ๋ณด๋ค ๋ซ๋ค
์ฐ๋ฆฌ๋ ํญ์ ์์คํ ์ ์ด๊ธฐ์ข ์ผ๋ก ๋ง๋๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๊ฒ๋ค๊ฐ ์ปจํ ์ด๋ํ๋ฟ๋ง ์๋๋ผ ๋ฌผ๋ฆฌ์ ์์ค์์๋ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๋ฆฌ๋ ๊ฒฝ์ฐ, ์ฌ์ดํธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์๋์ด ์์ ํ ์ค๋จ๋์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฉฐ ์ฌ์ฉ์๋ ์ต์ํ ์ผ๋ถ ๊ธฐ๋ฅ์ ๊ณ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ข์ ์ํคํ ์ฒ๋ ์ง์ ๊ฐ๋ฅ์ฑ์ ๊ธฐ์ด์ ๋๋ค
๋ฆฌ์์ค์ ๋ด๊ฒฐํจ์ฑ๊ณผ ๊ณต๊ฒฉ ๋ฐ ๋ก๋๋ฅผ ๊ฒฌ๋ ์ ์๋ ๋ฅ๋ ฅ์ ์ค๊ณ ๋จ๊ณ, ์ฆ ๋ ธํธ๋ถ์ ์ฒซ ๋ฒ์งธ ์์๋๋ฅผ ๊ทธ๋ฆฌ๋ ๋จ๊ณ์์ ์ค์ ๋์ด์ผ ํฉ๋๋ค. ์น๋ช ์ ์ธ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋์ค์ ์์ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ์ง๋ง ๋งค์ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฝ๋๋ ์ข์์ผ ํ์ง๋ง, ์ค์ ๋ ์ข์์ผ ํฉ๋๋ค.
๋ง์ ์ฌ๋๋ค์ ์ข์ ๊ฐ๋ฐํ์ด ๋ด๊ฒฐํจ์ฑ ์๋น์ค๋ฅผ ๋ณด์ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ข์ ๊ฐ๋ฐํ์ ์ ๋ง ํ์ํ์ง๋ง, ์ข์ ์ด์, ์ข์ DevOps๋ ์์ด์ผ ํฉ๋๋ค. ์ฆ, Linux์ ๋คํธ์ํฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑํ๊ณ , nginx์์ ๊ตฌ์ฑ์ ์ฌ๋ฐ๋ฅด๊ฒ ์์ฑํ๊ณ , ์ ํ์ ์ค์ ํ๋ ๋ฑ์ ์ ๋ฌธ๊ฐ๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฆฌ์์ค๊ฐ ํ ์คํธ์์๋ง ์ ์๋ํ๊ณ ์ด๋ ์์ ์์๋ ํ๋ก๋์ ์์ ๋ชจ๋ ๊ฒ์ด ์ค๋จ๋ฉ๋๋ค.
๋ถํ ํ ์คํธ์ ์คํธ๋ ์ค ํ ์คํธ์ ์ฐจ์ด์
๋ถํ ํ ์คํธ๋ฅผ ํตํด ์์คํ ๊ธฐ๋ฅ์ ํ๊ณ๋ฅผ ์๋ณํ ์ ์์ต๋๋ค. ์คํธ๋ ์ค ํ ์คํธ๋ ์์คํ ์ ์ฝ์ ์ ์ฐพ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ฉฐ ์ด ์์คํ ์ ํ๊ดดํ๊ณ ํน์ ๋ถํ์ ๊ณ ์ฅ ๊ณผ์ ์์ ์์คํ ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ์คํธ๋ ์ค ํ ์คํธ๊ฐ ์์๋๊ธฐ ์ ์ ๊ณ ๊ฐ์ ๋ถํ์ ์ฑ๊ฒฉ์ ์ ์ ์์ต๋๋ค.
L7 ๊ณต๊ฒฉ์ ํน์ง
์ฐ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ถํ ์ ํ์ L7 ๋ฐ L3&4 ์์ค์ ๋ถํ๋ก ๋๋๋๋ค. L7์ ์ ํ๋ฆฌ์ผ์ด์
์์ค์ ๋ก๋์ด๋ฉฐ ๋๋ถ๋ถ HTTP๋ง ์๋ฏธํ์ง๋ง TCP ํ๋กํ ์ฝ ์์ค์ ๋ชจ๋ ๋ก๋๋ฅผ ์๋ฏธํฉ๋๋ค.
L7 ๊ณต๊ฒฉ์๋ ํน์ ํ ํน์ง์ด ์์ต๋๋ค. ์ฒซ์งธ, ์ ํ๋ฆฌ์ผ์ด์
์ ์ง์ ์ ๊ณต๋ฉ๋๋ค. ์ฆ, ๋คํธ์ํฌ ์๋จ์ ํตํด ๋ฐ์๋ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณต๊ฒฉ์ ๋
ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๊ธฐํ ๋ฆฌ์์ค๋ฅผ ๋งค์ฐ ํจ์จ์ ์ผ๋ก ์๋ชจํ๊ณ ํธ๋ํฝ๋ ๊ฑฐ์ ๋ฐ์ํ์ง ์์ต๋๋ค.
HTTP ํ์
์ด๋ค ๊ณต๊ฒฉ์ ๊ฒฝ์ฐ ๋ถํ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ๋ณด๋ค ์์ฑํ๋ ๊ฒ์ด ๋ ์ฝ๊ณ L7์ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. ๊ณต๊ฒฉ ํธ๋ํฝ๊ณผ ํฉ๋ฒ์ ์ธ ํธ๋ํฝ์ ๊ตฌ๋ณํ๋ ๊ฒ์ด ํญ์ ์ฌ์ด ๊ฒ์ ์๋๋ฉฐ ๋๋ถ๋ถ ๋น๋๋ก ๊ตฌ๋ถํ ์ ์์ง๋ง ๋ชจ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ณํ๋ ๊ฒฝ์ฐ ๊ณต๊ฒฉ์ด ๋ฐ์ํ ์์น์ ํฉ๋ฒ์ ์ธ ์์ฒญ์ด ์๋ ์์น๋ฅผ ๋ก๊ทธ์์ ์ดํดํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ์๋ก HTTP Flood ๊ณต๊ฒฉ์ ์๊ฐํด ๋ณด์ธ์. ๊ทธ๋ํ๋ ์ด๋ฌํ ๊ณต๊ฒฉ์ด ์ผ๋ฐ์ ์ผ๋ก ๋งค์ฐ ๊ฐ๋ ฅํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. ์๋ ์์์๋ ์ต๋ ์์ฒญ ์๊ฐ ๋ถ๋น 600๋ง ๊ฑด์ ์ด๊ณผํ์ต๋๋ค.
HTTP Flood๋ ๋ก๋๋ฅผ ์์ฑํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ApacheBench์ ๊ฐ์ ์ผ์ข
์ ๋ถํ ํ
์คํธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญ๊ณผ ๋์์ ์ค์ ํฉ๋๋ค. ์ด๋ฌํ ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์๋ฒ ์บ์ฑ์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง ์ด๋ฅผ ์ฐํํ๋ ๊ฒ์ ์ฝ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์์ฒญ์ ์์์ ๋ฌธ์์ด์ ์ถ๊ฐํ๋ฉด ์๋ฒ๊ฐ ์ง์์ ์ผ๋ก ์๋ก์ด ํ์ด์ง๋ฅผ ์ ๊ณตํ๊ฒ ๋ฉ๋๋ค.
๋ํ ๋ก๋๋ฅผ ์์ฑํ๋ ๊ณผ์ ์์ ์ฌ์ฉ์ ์์ด์ ํธ๋ฅผ ์์ง ๋ง์ธ์. ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ
์คํธ ๋๊ตฌ์ ๋ง์ ์ฌ์ฉ์ ์์ด์ ํธ๋ ์์คํ
๊ด๋ฆฌ์์ ์ํด ํํฐ๋ง๋๋ฉฐ, ์ด ๊ฒฝ์ฐ ๋ก๋๊ฐ ๋ฐฑ์๋์ ๋๋ฌํ์ง ๋ชปํ ์๋ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ์ ์ด๋ ์ ๋ ์ ํจํ ํค๋๋ฅผ ์์ฒญ์ ์ฝ์
ํ๋ฉด ๊ฒฐ๊ณผ๋ฅผ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค.
HTTP Flood ๊ณต๊ฒฉ์ ๋จ์ํ์ง๋ง ๋จ์ ๋ ์์ต๋๋ค. ์ฒซ์งธ, ๋ถํ๋ฅผ ์์ฑํ๋ ค๋ฉด ๋ง์ ์์ ์ ๋ ฅ์ด ํ์ํฉ๋๋ค. ๋์งธ, ์ด๋ฌํ ๊ณต๊ฒฉ์ ํ์งํ๊ธฐ๊ฐ ๋งค์ฐ ์ฝ์ต๋๋ค. ํนํ ๋จ์ผ ์ฃผ์์์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ฒญ์ ์์คํ
๊ด๋ฆฌ์ ๋๋ ๊ณต๊ธ์ ์์ค์์ ์ฆ์ ํํฐ๋ง๋๊ธฐ ์์ํฉ๋๋ค.
๊ฒ์ ํ ๋ด์ฉ
ํจ์จ์ฑ์ ์์ง ์๊ณ ์ด๋น ์์ฒญ ์๋ฅผ ์ค์ด๋ ค๋ฉด ์ฝ๊ฐ์ ์์๋ ฅ์ ๋ฐํํ๊ณ ์ฌ์ดํธ๋ฅผ ํ์ํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฑ๋์ด๋ ์๋ฒ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ์ผ ์์คํ ๊ณผ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ณ ๋ถ๋ถ๋ ๋ก๋ํ ์ ์์ต๋๋ค. ๊ณ์ฐ๊ธฐ, ์ ํ ์ ํ ํ์ด์ง ๋ฑ ๋๊ท๋ชจ ๊ณ์ฐ์ ์ํํ๋ ์ฌ์ดํธ๋ฅผ ์ฐพ์ ์๋ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก, ์ฌ์ดํธ์ ์์ญ๋ง ์ค์ ํ์ด์ง๋ฅผ ์์ฑํ๋ ์ผ์ข ์ PHP ์คํฌ๋ฆฝํธ๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค. ๋ํ ์ด๋ฌํ ์คํฌ๋ฆฝํธ๋ ์๋ฒ์ ์๋นํ ๋ถํ๋ฅผ ๊ฐํด ๊ณต๊ฒฉ ๋์์ด ๋ ์ ์์ต๋๋ค.
๋ณผ ๊ณณ
ํ
์คํธํ๊ธฐ ์ ์ ๋ฆฌ์์ค๋ฅผ ์ค์บํ ๋๋ ๋ฌผ๋ก ์ฌ์ดํธ ์์ฒด๋ฅผ ๋จผ์ ์ดํด๋ด
๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ข
๋ฅ์ ์
๋ ฅ ํ๋, ๋ฌด๊ฑฐ์ด ํ์ผ(์ผ๋ฐ์ ์ผ๋ก ๋ฆฌ์์ค์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ณ ์์
์๋๋ฅผ ์ ํ์ํฌ ์ ์๋ ๋ชจ๋ ๊ฒ)์ ์ฐพ๊ณ ์์ต๋๋ค. Google Chrome ๋ฐ Firefox์ ์ง๋ถํ ๊ฐ๋ฐ ๋๊ตฌ๊ฐ ์ฌ๊ธฐ์ ๋์์ด ๋์ด ํ์ด์ง ์๋ต ์๊ฐ์ ๋ณด์ฌ์ค๋๋ค.
ํ์ ๋๋ฉ์ธ๋ ๊ฒ์ฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด, abc.com์ด๋ผ๋ ํน์ ์จ๋ผ์ธ ์์ ์ด ์๊ณ ์ฌ๊ธฐ์๋ admin.abc.com์ด๋ผ๋ ํ์ ๋๋ฉ์ธ์ด ์์ต๋๋ค. ์๋ง๋ ์ด๋ ๊ถํ์ด ์๋ ๊ด๋ฆฌ ํจ๋์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง ์ฌ๊ธฐ์ ๋ถํ๋ฅผ ๊ฐํ๋ฉด ๊ธฐ๋ณธ ๋ฆฌ์์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ฌ์ดํธ์๋ ํ์ ๋๋ฉ์ธ api.abc.com์ด ์์ ์ ์์ต๋๋ค. ์๋ง๋ ์ด๊ฒ์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๋ฆฌ์์ค์ผ ๊ฒ์
๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ App Store ๋๋ Google Play์์ ์ฐพ์ ์ ์์ผ๋ฉฐ, ํน์ ์ก์ธ์ค ํฌ์ธํธ๋ฅผ ์ค์นํ๊ณ , API๋ฅผ ๋ถ์ํ๊ณ , ํ
์คํธ ๊ณ์ ์ ๋ฑ๋กํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ ์ฌ๋๋ค์ด ์ธ์ฆ์ ํตํด ๋ณดํธ๋๋ ๋ชจ๋ ๊ฒ์ ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์์ ํ๋ค๊ณ ์๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๋ ๊ฒ์
๋๋ค. ์๋ง๋ ์ธ์ฆ์ ์ต๊ณ ์ CAPTCHA์ด์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค. 10~20๊ฐ์ ํ
์คํธ ๊ณ์ ์ ๋ง๋๋ ๊ฒ์ ์ฝ์ง๋ง ๊ณ์ ์ ์์ฑํจ์ผ๋ก์จ ๋ณต์กํ๊ณ ์์ฅ๋์ง ์์ ๊ธฐ๋ฅ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋น์ฐํ ์ฐ๋ฆฌ๋ robots.txt์ WebArchive, ViewDNS์์ ๊ธฐ๋ก์ ์ดํด๋ณด๊ณ ์ด์ ๋ฒ์ ์ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ต๋๋ค. ๋๋๋ก ๊ฐ๋ฐ์๊ฐ mail2.yandex.net์ ์ถ์ํ์ง๋ง ์ด์ ๋ฒ์ ์ธ mail.yandex.net์ด ๋จ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด mail.yandex.net์ ๋ ์ด์ ์ง์๋์ง ์์ผ๋ฉฐ ๊ฐ๋ฐ ๋ฆฌ์์ค๊ฐ ํ ๋น๋์ง ์์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ์ด์ ๋ฒ์ ์ ์ฌ์ฉํ๋ฉด ๋ฐฑ์๋์ ๋ฆฌ์์ค์ ๋ ์ด์์ ๋ค์ ์๋ ๋ชจ๋ ๊ฒ์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋์ง๋ง ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ด๋ฐ ์ผ์ ๊ฝค ์์ฃผ ์ ํฉ๋๋ค.
๋น์ฐํ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์์ฒญ ๋งค๊ฐ๋ณ์์ ์ฟ ํค ๊ตฌ์กฐ๋ฅผ ๋ถ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฟ ํค ๋ด๋ถ์ JSON ๋ฐฐ์ด์ ์ผ๋ถ ๊ฐ์ ๋คํํ๊ณ , ๋ง์ ์ค์ฒฉ์ ์์ฑํ๊ณ , ๋ฆฌ์์ค๊ฐ ๋นํฉ๋ฆฌ์ ์ผ๋ก ์ค๋ซ๋์ ์๋ํ๋๋ก ๋ง๋ค ์ ์์ต๋๋ค.
๊ฒ์ ๋ถํ
์ฌ์ดํธ๋ฅผ ์กฐ์ฌํ ๋ ๊ฐ์ฅ ๋จผ์ ์๊ฐ๋๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ก๋ํ๋ ๊ฒ์
๋๋ค. ์๋ํ๋ฉด ๊ฑฐ์ ๋ชจ๋ ์ฌ๋์ด ๊ฒ์์ ํ๊ณ ์๊ณ ๋ถํํ๋ ๊ฑฐ์ ๋ชจ๋ ์ฌ๋์๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ๋๋ก ๋ณดํธ๋์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด๋ค ์ด์ ์์์ธ์ง ๊ฐ๋ฐ์๋ค์ ๊ฒ์์ ์ถฉ๋ถํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ ํ ๊ฐ์ง ๊ถ์ฅ ์ฌํญ์ด ์์ต๋๋ค. HTTP ํ๋ฌ๋์ ๊ฒฝ์ฐ์ฒ๋ผ ์บ์ฑ์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ๋์ผํ ์ ํ์ ์์ฒญ์ ์ํํด์๋ ์ ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ฌด์์ ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋ ๊ฒ๋ ํญ์ ํจ๊ณผ์ ์ธ ๊ฒ์ ์๋๋๋ค. ๊ฒ์๊ณผ ๊ด๋ จ๋ ํค์๋ ๋ชฉ๋ก์ ๋ง๋๋ ๊ฒ์ด ํจ์ฌ ์ข์ต๋๋ค. ์จ๋ผ์ธ ์์ ์ ์๋ก ๋์๊ฐ์, ์ฌ์ดํธ์์ ์๋์ฐจ ํ์ด์ด๋ฅผ ํ๋งคํ๊ณ ํ์ด์ด ๋ฐ๊ฒฝ, ์๋์ฐจ ์ ํ ๋ฐ ๊ธฐํ ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ ์ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋ผ์ ๊ด๋ จ ๋จ์ด๋ฅผ ์กฐํฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํจ์ฌ ๋ ๋ณต์กํ ์กฐ๊ฑด์์ ์๋ํ๊ฒ ๋ฉ๋๋ค.
๋ํ ํ์ด์ง ๋งค๊น์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฒ์์์ ์ฒซ ๋ฒ์งธ ํ์ด์ง๋ณด๋ค ๊ฒ์ ๊ฒฐ๊ณผ์ ๋ ๋ฒ์งธ ํ์ด์ง๋ฅผ ๋ฐํํ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ด๋ ต์ต๋๋ค. ์ฆ, ํ์ด์ง ๋งค๊น์ ์ฌ์ฉํ๋ฉด ๋ก๋๋ฅผ ์ฝ๊ฐ ๋ค์ํํ ์ ์์ต๋๋ค.
์๋ ์๋ ๊ฒ์ ๋ถํ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ด๋น XNUMX๊ฐ์ ์์ฒญ ์๋๋ก ํ
์คํธํ ์ฒซ ์๊ฐ๋ถํฐ ์ฌ์ดํธ๊ฐ ๋ค์ด๋์ด ์๋ตํ์ง ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
๊ฒ์์ด ์๋ค๋ฉด?
๊ฒ์์ด ์๋ค๊ณ ํด์ ์ฌ์ดํธ์ ๋ค๋ฅธ ์ทจ์ฝํ ์
๋ ฅ ํ๋๊ฐ ํฌํจ๋์ด ์์ง ์๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ์ด ํ๋๋ ์ธ์ฆ์ผ ์ ์์ต๋๋ค. ์์ฆ ๊ฐ๋ฐ์๋ค์ ๋ ์ธ๋ณด์ฐ ํ
์ด๋ธ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ก๊ทธ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๋ณต์กํ ํด์๋ฅผ ๋ง๋๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ์ด๋ ์ข์ง๋ง ์ด๋ฌํ ํด์๋ ๋ง์ CPU ๋ฆฌ์์ค๋ฅผ ์๋นํฉ๋๋ค. ํ์ ์ธ์ฆ์ด ๋๋์ผ๋ก ๋ฐ์ํ๋ฉด ํ๋ก์ธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฌ์ดํธ ์๋์ด ์ค์ง๋ฉ๋๋ค.
๋๊ธ๊ณผ ํผ๋๋ฐฑ์ ์ํ ๋ชจ๋ ์ข
๋ฅ์ ์์์ด ์ฌ์ดํธ์ ์กด์ฌํ๋ค๋ ๊ฒ์ ๋งค์ฐ ํฐ ํ
์คํธ๋ฅผ ๊ทธ๊ณณ์ผ๋ก ๋ณด๋ด๊ฑฐ๋ ๋จ์ํ ์์ฒญ๋ ํ์๋ฅผ ์ผ์ผํค๋ ์ด์ ์
๋๋ค. ๋๋๋ก ์ฌ์ดํธ์์๋ gzip ํ์์ ํฌํจํ ์ฒจ๋ถ ํ์ผ์ ํ์ฉํฉ๋๋ค. ์ด ๊ฒฝ์ฐ 1TB ํ์ผ์ ๊ฐ์ ธ์ gzip์ ์ฌ์ฉํ์ฌ ์ ๋ฐ์ดํธ ๋๋ ํฌ๋ก๋ฐ์ดํธ๋ก ์์ถํ ํ ์ฌ์ดํธ๋ก ๋ณด๋
๋๋ค. ๊ทธ๋ฐ ๋ค์ ์์ถ์ ํ๋ฉด ๋งค์ฐ ํฅ๋ฏธ๋ก์ด ํจ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค.
ํด์ API
Rest API์ ๊ฐ์ ์ธ๊ธฐ ์๋ ์๋น์ค์ ์กฐ๊ธ ์ฃผ๋ชฉํ๊ณ ์ถ์ต๋๋ค. Rest API ๋ณด์์ ์ผ๋ฐ ์น์ฌ์ดํธ๋ณด๋ค ํจ์ฌ ์ด๋ ต์ต๋๋ค. ๋น๋ฐ๋ฒํธ ๋ฌด์ฐจ๋ณ ๋์
๋ฐ ๊ธฐํ ๋ถ๋ฒ ํ๋์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ์ฌ์ํ ๋ฐฉ๋ฒ๋ Rest API์์๋ ์๋ํ์ง ์์ต๋๋ค.
Rest API๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๊นจ์ง๊ธฐ ๋งค์ฐ ์ฝ์ต๋๋ค. ๋์์, ๊ทธ๋ฌํ ์๋น์ค์ ์คํจ๋ ๋น์ฆ๋์ค์ ์ฌ๊ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํฉ๋๋ค. ์ฌ์ค Rest API๋ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๋ณธ ์น์ฌ์ดํธ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ ์ผ๋ถ ๋ด๋ถ ๋น์ฆ๋์ค ๋ฆฌ์์ค์๋ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ชจ๋ ๊ฒ์ด ๋ฌด๋์ง๋ฉด ๋จ์ํ ์น์ฌ์ดํธ ์ฅ์ ์ ๊ฒฝ์ฐ๋ณด๋ค ๊ทธ ํจ๊ณผ๊ฐ ํจ์ฌ ๋ ๊ฐํด์ง๋๋ค.
๋ฌด๊ฑฐ์ด ์ฝํ ์ธ ๋ก๋ ์ค
๋ณต์กํ ๊ธฐ๋ฅ์ด ์๋ ์ผ๋ฐ์ ์ธ ๋จ์ผ ํ์ด์ง ์ ํ๋ฆฌ์ผ์ด์
, ๋๋ฉ ํ์ด์ง ๋๋ ๋ช
ํจ ์น์ฌ์ดํธ๋ฅผ ํ
์คํธํ๋ผ๋ ์ ์์ ๋ฐ์ผ๋ฉด ์ฐ๋ฆฌ๋ ๋ฌด๊ฑฐ์ด ์ฝํ
์ธ ๋ฅผ ์ฐพ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ๊ฐ ๋ณด๋ด๋ ํฐ ์ด๋ฏธ์ง, ๋ฐ์ด๋๋ฆฌ ํ์ผ, PDF ๋ฌธ์ ๋ฑ์ ๋ชจ๋ ๋ค์ด๋ก๋ํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ฌํ ํ
์คํธ๋ ํ์ผ ์์คํ
์ ์ ๋ก๋ํ๊ณ ์ฑ๋์ ๋ฐฉํดํ๋ฏ๋ก ํจ๊ณผ์ ์
๋๋ค. ์ฆ, ์๋ฒ๋ฅผ ๋ค์ด์ํค์ง ์๊ณ ๋์ฉ๋ ํ์ผ์ ์ ์์ผ๋ก ๋ค์ด๋ก๋ํ๋๋ผ๋ ๋์ ์๋ฒ์ ์ฑ๋๋ง ๋งํ๊ฒ ๋์ด ์๋น์ค ๊ฑฐ๋ถ ํ์์ด ๋ฐ์ํ๊ฒ ๋๋ค.
์ด๋ฌํ ํ
์คํธ์ ์๋ 30RPS์ ์๋์์ ์ฌ์ดํธ๊ฐ ์๋ต์ ์ค์งํ๊ฑฐ๋ 500๋ฒ์งธ ์๋ฒ ์ค๋ฅ๋ฅผ ์์ฑํ์์ ๋ณด์ฌ์ค๋๋ค.
์๋ฒ ์ค์ ์ ์์ง ๋ง์ธ์. ์ด๋ค ์ฌ๋์ด ๊ฐ์ ๋จธ์ ์ ๊ตฌ์
ํ๊ณ ๊ฑฐ๊ธฐ์ Apache๋ฅผ ์ค์นํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ ๊ตฌ์ฑํ๊ณ PHP ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ ๊ฒฝ์ฐ ์๋์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ๋ก๋๋ ๋ฃจํธ๋ก ์ด๋ํ์ฌ 10RPS์ ๋ถ๊ณผํ์ต๋๋ค. 5๋ถ ์ ๋ ๊ธฐ๋ค๋ฆฌ๋ ์๋ฒ๊ฐ ๋ค์ด๋์์ต๋๋ค. ์ ๋์ด์ก๋์ง ์์ ํ ์ ์ ์๋ ๊ฒ์ ์ฌ์ค์ด์ง๋ง, ๋จ์ํ ๊ธฐ์ต๋ ฅ์ด ๋๋ฌด ๋์ ๋ฐ์์ ๋ฉ์ท์ ๋ฟ์ด๋ผ๋ ์ถ์ธก๋ ์๋ค.
์จ์ด๋ธ ๊ธฐ๋ฐ
์ง๋ 30~40๋
๋์ ์จ์ด๋ธ ๊ณต๊ฒฉ์ด ๊ฝค ์ธ๊ธฐ๋ฅผ ๋์์ต๋๋ค. ์ด๋ ๋ง์ ์กฐ์ง์ด DDoS ๋ณดํธ๋ฅผ ์ํด ํน์ ํ๋์จ์ด๋ฅผ ๊ตฌ์
ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ฉฐ, ๊ณต๊ฒฉ ํํฐ๋ง์ ์์ํ๊ธฐ ์ํด ํต๊ณ๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ผ์ ์๊ฐ์ด ํ์ํฉ๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๊ณ ํ์ตํ๊ธฐ ๋๋ฌธ์ ์ฒ์ 30~40์ด ๋์์ ๊ณต๊ฒฉ์ ํํฐ๋งํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด XNUMX~XNUMX์ด ์์ ์ฌ์ดํธ์์ ๋ง์ ์์
์ ์คํํ ์ ์์ผ๋ฏ๋ก ๋ชจ๋ ์์ฒญ์ด ์ฒ๋ฆฌ๋ ๋๊น์ง ๋ฆฌ์์ค๊ฐ ์ค๋ซ๋์ ์ ์ง๋ฉ๋๋ค.
์๋ ๊ณต๊ฒฉ์ ๊ฒฝ์ฐ 10๋ถ ๊ฐ๊ฒฉ์ ๋๊ณ ์๋กญ๊ฒ ์์ ๋ ๊ณต๊ฒฉ ๋ถ๋ถ์ด ๋์ฐฉํ๋ค.
์ฆ, ๋ฐฉ์ดํ์ด ํ์ตํ๊ณ ํํฐ๋ง์ ์์ํ์ง๋ง ๊ณต๊ฒฉ์ ์์ ํ ๋ค๋ฅธ ์๋ก์ด ๋ถ๋ถ์ด ๋์ฐฉํ๊ณ ๋ฐฉ์ดํ์ด ๋ค์ ํ์ต์ ์์ํ์ต๋๋ค. ์ค์ ๋ก ํํฐ๋ง ์๋์ด ์ค์ง๋๊ณ ๋ณดํธ ๊ธฐ๋ฅ์ด ๋นํ์ฑํ๋๋ฉฐ ์ฌ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
Wave ๊ณต๊ฒฉ์ ์ ์ ์์ ๋งค์ฐ ๋์ ๊ฐ์ด ํน์ง์ด๋ฉฐ, L7์ ๊ฒฝ์ฐ ์ด๋น 3๋ง ๋๋ 4๋ง ์์ฒญ์ ๋๋ฌํ ์ ์์ต๋๋ค. LXNUMX&XNUMX์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด ์๋ฐฑ ๊ธฐ๊ฐ๋นํธ์ ํธ๋ํฝ์ด ์์ ์ ์์ผ๋ฉฐ, ๋ฐ๋ผ์ ํจํท์ผ๋ก ๊ณ์ฐํ๋ฉด ์๋ฐฑ mpps๊ฐ ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ณต๊ฒฉ์ ๋ฌธ์ ์ ์ ๋๊ธฐํ์
๋๋ค. ๊ณต๊ฒฉ์ ๋ด๋ท์์ ๋ฐ์ํ๋ฉฐ ๋งค์ฐ ํฐ ์ผํ์ฑ ์คํ์ดํฌ๋ฅผ ์์ฑํ๋ ค๋ฉด ๋์ ์์ค์ ๋๊ธฐํ๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์กฐ์ ์ด ํญ์ ์๋ํ๋ ๊ฒ์ ์๋๋๋ค. ๋๋ก๋ ์ถ๋ ฅ์ด ์ผ์ข
์ ํฌ๋ฌผ์ ํผํฌ๋ก ๋ํ๋ ๋ค์ ํ์ฌํด ๋ณด์
๋๋ค.
HTTP๋ง์ผ๋ก๋ ์๋จ
L7์ HTTP ์ธ์๋ ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ํ๋กํ ์ฝ์ ํ์ฉํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ผ๋ฐ ์น์ฌ์ดํธ, ํนํ ์ผ๋ฐ ํธ์คํ
์๋ ๋ฉ์ผ ํ๋กํ ์ฝ๊ณผ MySQL์ด ๋์ ๋๋๋ค. ๋ฉ์ผ ํ๋กํ ์ฝ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ณด๋ค ๋ก๋๊ฐ ์ ์ง๋ง ๋งค์ฐ ํจ์จ์ ์ผ๋ก ๋ก๋๋ ์ ์์ผ๋ฉฐ ๊ฒฐ๊ตญ ์๋ฒ์ CPU์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ 2016 SSH ์ทจ์ฝ์ ์ ํตํด ๋งค์ฐ ํ์ค์ ์ผ๋ก ์ฑ๊ณตํ์ต๋๋ค. ์ด์ ์ด ์ทจ์ฝ์ ์ ๊ฑฐ์ ๋ชจ๋ ์ฌ๋์๊ฒ ํด๊ฒฐ๋์์ง๋ง ์ด๊ฒ์ด SSH์ ๋ก๋๋ฅผ ์ ์ถํ ์ ์๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ํ ์ ์๋ค. ์์ฒญ๋ ์์ ์น์ธ์ด ๋ฐ์ํ๊ณ SSH๊ฐ ์๋ฒ์ ๊ฑฐ์ ์ ์ฒด CPU๋ฅผ ์ฐจ์งํ๋ฉฐ ์ด๋น ํ๋ ๊ฐ์ ์์ฒญ์ผ๋ก ์ธํด ์น ์ฌ์ดํธ๊ฐ ๋ถ๊ดด๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ด๋ฌํ ํ๋ ๊ฐ์ ์์ฒญ์ ํฉ๋ฒ์ ์ธ ๋ถํ์ ๊ตฌ๋ณํ ์ ์์ต๋๋ค.
์๋ฒ์์ ์ด๋ฆฌ๋ ๋ง์ ์ฐ๊ฒฐ๋ ๊ด๋ จ์ฑ์ ์ ์งํฉ๋๋ค. ์ด์ ์๋ Apache๊ฐ ์ด ๋ฌธ์ ๋ฅผ ๊ฒช์์ง๋ง ์ด์ nginx๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌ์ฑ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์ด ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค. nginx๊ฐ ์ด์ด๋ ์ ์๋ ์ฐ๊ฒฐ ์๋ ์ ํ๋์ด ์์ผ๋ฏ๋ก ์ด ์์ ์ฐ๊ฒฐ์ ์ด๋ฉด nginx๋ ๋ ์ด์ ์ ์ฐ๊ฒฐ์ ํ์ฉํ์ง ์์ผ๋ฉฐ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฌ์ดํธ๊ฐ ์๋ํ์ง ์์ต๋๋ค.
ํ
์คํธ ํด๋ฌ์คํฐ์๋ SSL ํธ๋์
ฐ์ดํฌ๋ฅผ ๊ณต๊ฒฉํ๊ธฐ์ ์ถฉ๋ถํ CPU๊ฐ ์์ต๋๋ค. ์์น์ ์ผ๋ก ์ค์ต์์ ์ ์ ์๋ฏ์ด ๋ด๋ท๋ ๋๋๋ก ์ด ์์
์ ์ํํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ํํธ์ผ๋ก๋ Google ๊ฒฐ๊ณผ, ์์, ๋ณด์ ๋๋ฌธ์ SSL ์์ด๋ ํ ์ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช
ํฉ๋๋ค. ๋ฐ๋ฉด SSL์๋ ๋ถํํ๊ฒ๋ CPU ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
L3&4
L3&4 ์์ค์ ๊ณต๊ฒฉ์ ๋ํด ์ด์ผ๊ธฐํ ๋ ์ผ๋ฐ์ ์ผ๋ก ๋งํฌ ์์ค์ ๊ณต๊ฒฉ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค. ์ด๋ฌํ ๋ก๋๋ SYN ํ๋ฌ๋ ๊ณต๊ฒฉ์ด ์๋ ์ด์ ๊ฑฐ์ ํญ์ ํฉ๋ฒ์ ์ธ ๋ก๋์ ๊ตฌ๋ณ๋ฉ๋๋ค. ๋ณด์ ๋๊ตฌ์ ๋ํ SYN ํ๋ฌ๋ ๊ณต๊ฒฉ์ ๋ฌธ์ ์ ์ ๊ท๋ชจ๊ฐ ํฌ๋ค๋ ๊ฒ์
๋๋ค. ์ต๋ L3&4 ๊ฐ์ 1,5-2 Tbit/s์์ต๋๋ค. ์ด๋ฐ ์ข
๋ฅ์ ํธ๋ํฝ์ ์ค๋ผํด, ๊ตฌ๊ธ ๋ฑ ๋๊ธฐ์
์์๋ ์ฒ๋ฆฌํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต์ต๋๋ค.
SYN ๋ฐ SYN-ACK๋ ์ฐ๊ฒฐ์ ์ค์ ํ ๋ ์ฌ์ฉ๋๋ ํจํท์
๋๋ค. ๋ฐ๋ผ์ SYN ํ๋ฌ๋๋ ํฉ๋ฒ์ ์ธ ๋ก๋์ ๊ตฌ๋ณํ๊ธฐ ์ด๋ ต์ต๋๋ค. ์ด๊ฒ์ด ์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ ์ํด ์จ SYN์ธ์ง ์๋๋ฉด ํ๋ฌ๋์ ์ผ๋ถ์ธ์ง ๋ช
ํํ์ง ์์ต๋๋ค.
UDP-ํ๋ฌ๋
์ผ๋ฐ์ ์ผ๋ก ๊ณต๊ฒฉ์๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฅ๋ ฅ์ ๊ฐ๊ณ ์์ง ์์ผ๋ฏ๋ก ์ฆํญ์ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉ์ ์กฐ์งํ ์ ์์ต๋๋ค. ์ฆ, ๊ณต๊ฒฉ์๋ ์ธํฐ๋ท์ ๊ฒ์ํ์ฌ ์๋ฅผ ๋ค์ด ํ๋์ SYN ํจํท์ ์๋ตํ์ฌ ์ธ ๊ฐ์ SYN-ACK๋ก ์๋ตํ๋ ์ทจ์ฝํ๊ฑฐ๋ ์๋ชป ๊ตฌ์ฑ๋ ์๋ฒ๋ฅผ ์ฐพ์ต๋๋ค. ๋์ ์๋ฒ์ ์ฃผ์์์ ์์ค ์ฃผ์๋ฅผ ์คํธํํจ์ผ๋ก์จ ๋จ์ผ ํจํท์ผ๋ก ์ ๋ ฅ์ XNUMX๋ฐฐ๋ก ์ฆ๊ฐ์ํค๊ณ ํธ๋ํฝ์ ํผํด์์๊ฒ ๋ฆฌ๋๋ ์ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ฆํญ์ ๋ฌธ์ ์ ์ ๊ฐ์งํ๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์
๋๋ค. ์ต๊ทผ ์ฌ๋ก๋ก๋ ์ทจ์ฝํ Memcached์ ์ ์ ์ ์ธ ์ฌ๋ก๊ฐ ์์ต๋๋ค. ๋ํ ํ์ฌ๋ ๋๋ถ๋ถ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ชป ๊ตฌ์ฑ๋์ด ์๋ IoT ์ฅ์น, IP ์นด๋ฉ๋ผ๊ฐ ๋ง์ด ์์ผ๋ฏ๋ก ๊ณต๊ฒฉ์๊ฐ ์ด๋ฌํ ์ฅ์น๋ฅผ ํตํด ๊ณต๊ฒฉํ๋ ๊ฒฝ์ฐ๊ฐ ๊ฐ์ฅ ๋ง์ต๋๋ค.
์ด๋ ค์ด SYN ํ์
SYN-flood๋ ์๋ง๋ ๊ฐ๋ฐ์์ ๊ด์ ์์ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ๊ณต๊ฒฉ ์ ํ์ผ ๊ฒ์
๋๋ค. ๋ฌธ์ ๋ ์์คํ
๊ด๋ฆฌ์๊ฐ ๋ณดํธ๋ฅผ ์ํด IP ์ฐจ๋จ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๋ ๊ฒ์
๋๋ค. ๋์ฑ์ด IP ์ฐจ๋จ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์์
ํ๋ ์์คํ
๊ด๋ฆฌ์๋ฟ๋ง ์๋๋ผ ๋ถํํ๋ ๋ง์ ๋์ ์ฃผ๊ณ ๊ตฌ์
ํ ์ผ๋ถ ๋ณด์ ์์คํ
์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ๊ณต๊ฒฉ์๊ฐ IP ์ฃผ์๋ฅผ ๊ต์ฒดํ๋ฉด ํ์ฌ๊ฐ ์์ฒด ์๋ธ๋ท์ ์ฐจ๋จํ๋ฏ๋ก ์ฌ์์ด ๋ ์ ์์ต๋๋ค. ๋ฐฉํ๋ฒฝ์ด ์์ฒด ํด๋ฌ์คํฐ๋ฅผ ์ฐจ๋จํ๋ฉด ์ถ๋ ฅ์ด ์ธ๋ถ ์ํธ ์์ฉ์ ์คํจํ๊ณ ๋ฆฌ์์ค๋ ์คํจํ๊ฒ ๋ฉ๋๋ค.
๋ํ ์์ ์ ๋คํธ์ํฌ๋ฅผ ์ฐจ๋จํ๋ ๊ฒ๋ ์ด๋ ต์ง ์์ต๋๋ค. ๊ณ ๊ฐ ์ฌ๋ฌด์ค์ Wi-Fi ๋คํธ์ํฌ๊ฐ ์๊ฑฐ๋ ๋ค์ํ ๋ชจ๋ํฐ๋ง ์์คํ
์ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค ์ฑ๋ฅ์ ์ธก์ ํ๋ ๊ฒฝ์ฐ ํด๋น ๋ชจ๋ํฐ๋ง ์์คํ
์ IP ์ฃผ์ ๋๋ ๊ณ ๊ฐ ์ฌ๋ฌด์ค Wi-Fi๋ฅผ ์์ค๋ก ์ฌ์ฉํฉ๋๋ค. ๊ฒฐ๊ตญ ๋ฆฌ์์ค๋ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ผ๋ก ๋ณด์ด์ง๋ง ๋์ IP ์ฃผ์๋ ์ฐจ๋จ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํ์ฌ์ ์ ์ ํ์ด ๋ฐํ๋๋ HighLoad ์ปจํผ๋ฐ์ค์ Wi-Fi ๋คํธ์ํฌ๊ฐ ์ฐจ๋จ๋ ์ ์์ผ๋ฉฐ ์ด๋ก ์ธํด ์ผ์ ํ ๋น์ฆ๋์ค ๋ฐ ๊ฒฝ์ ์ ๋น์ฉ์ด ์๋ฐ๋ฉ๋๋ค.
ํ
์คํธ ์ค์๋ ํ์ฉ๋ IP ์ฃผ์๋ก๋ง ํธ๋ํฝ์ ์ ์กํ๋ค๋ ์ฝ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ธ๋ถ ๋ฆฌ์์ค์ ํจ๊ป memcached๋ฅผ ํตํ ์ฆํญ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์์คํ
์ด XNUMX~XNUMX๊ฐ์ SYN-ACK๋ก ํ๋์ SYN ์ ์ก์ ์๋ตํ ๋ SYN ๋ฐ SYN-ACK๋ฅผ ํตํ ์ฆํญ์ ์ฌ์ฉํ๊ณ ์ถ๋ ฅ์์ โโ๊ณต๊ฒฉ์ XNUMX~XNUMX๋ฐฐ๋ก ์ฆ๊ฐํฉ๋๋ค.
๋๊ตฌ
L7 ์ํฌ๋ก๋์ ์ฌ์ฉํ๋ ์ฃผ์ ๋๊ตฌ ์ค ํ๋๋ Yandex-tank์
๋๋ค. ํนํ ํฌํ
์ ์ด์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์นดํธ๋ฆฌ์ง ์์ฑ ๋ฐ ๊ฒฐ๊ณผ ๋ถ์์ ์ํ ์ฌ๋ฌ ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค.
Tcpdump๋ ๋คํธ์ํฌ ํธ๋ํฝ ๋ถ์์ ์ฌ์ฉ๋๊ณ , Nmap์ ์๋ฒ ๋ถ์์ ์ฌ์ฉ๋ฉ๋๋ค. L3&4 ์์ค์์ ๋ก๋๋ฅผ ์์ฑํ๊ธฐ ์ํด OpenSSL๊ณผ DPDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ฝ๊ฐ์ ๋ง๋ฒ์ด ์ฌ์ฉ๋ฉ๋๋ค. DPDK๋ Linux ์คํ์ ์ฐํํ์ฌ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ก ์์
ํ์ฌ ํจ์จ์ฑ์ ๋์ผ ์ ์๋ Intel์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ๋น์ฐํ ์ฐ๋ฆฌ๋ L3&4 ์์ค๋ฟ๋ง ์๋๋ผ L7 ์์ค์์๋ DPDK๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ํ๋ฉด ํ ์ปดํจํฐ์์ ์ด๋น ์๋ฐฑ๋ง ์์ฒญ ๋ฒ์ ๋ด์์ ๋งค์ฐ ๋์ ๋ก๋ ํ๋ฆ์ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ํ ํน์ ํ
์คํธ๋ฅผ ์ํด ์์ฑํ ํน์ ํธ๋ํฝ ์์ฑ๊ธฐ์ ํน์ ๋๊ตฌ๋ ์ฌ์ฉํฉ๋๋ค. SSH์ ์ทจ์ฝ์ ์ ๊ธฐ์ตํด ๋ณด๋ฉด ์ ์ธํธ๋ ์
์ฉ๋ ์ ์์ต๋๋ค. ๋ฉ์ผ ํ๋กํ ์ฝ์ ๊ณต๊ฒฉํ๋ฉด ๋ฉ์ผ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ๊ธฐ์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ฉด ๋ฉ๋๋ค.
์กฐ์ฌ ๊ฒฐ๊ณผ
๊ฒฐ๋ก ์ ์ผ๋ก ๋๋ ์ด๋ ๊ฒ ๋งํ๊ณ ์ถ๋ค.
- ์ผ๋ฐ์ ์ธ ๋ถํ ํ ์คํธ ์ธ์๋ ์คํธ๋ ์ค ํ ์คํธ๋ฅผ ์ํํด์ผ ํฉ๋๋ค. ํํธ๋์ ํ์ฒญ์ ์ฒด๊ฐ ๋ก๋ ํ ์คํธ๋ง ์ํํ ์ค์ ์ฌ๋ก๊ฐ ์์ต๋๋ค. ์ด๋ ๋ฆฌ์์ค๊ฐ ์ ์์ ์ธ ๋ถํ๋ฅผ ๊ฒฌ๋ ์ ์์์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋น์ ์์ ์ธ ๋ถํ๊ฐ ๋ํ๋ ์ฌ์ดํธ ๋ฐฉ๋ฌธ์๊ฐ ๋ฆฌ์์ค๋ฅผ ์กฐ๊ธ ๋ค๋ฅด๊ฒ ์ฌ์ฉํ๊ธฐ ์์ํ๊ณ ๊ทธ ๊ฒฐ๊ณผ ํ์ฒญ ์ ์ฒด๊ฐ ๋์์์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฏธ DDoS ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋ฐ๊ณ ์๋๋ผ๋ ์ทจ์ฝ์ ์ ์ฐพ์๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค.
- ์์คํ ์ ์ผ๋ถ ๋ถ๋ถ์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ ๋ถ๋ฆฌํด์ผ ํฉ๋๋ค. ๊ฒ์์ด ์๋ ๊ฒฝ์ฐ ์ด๋ฅผ ๋ณ๋์ ๋จธ์ , ์ฆ Docker๋ก๋ ์ด๋ํด์ผ ํฉ๋๋ค. ๊ฒ์์ด๋ ์น์ธ์ด ์คํจํ๋๋ผ๋ ์ต์ํ ๋ฌด์ธ๊ฐ๋ ๊ณ์ ์๋ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์จ๋ผ์ธ ์์ ์ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ๊ณ์ํด์ ์นดํ๋ก๊ทธ์์ ์ ํ์ ์ฐพ๊ณ , ์ ๊ทธ๋ฆฌ๊ฒ์ดํฐ์์ ์ด๋ํ๊ณ , ์ด๋ฏธ ์น์ธ๋ ๊ฒฝ์ฐ ๊ตฌ๋งคํ๊ฑฐ๋ OAuth2๋ฅผ ํตํด ์น์ธํฉ๋๋ค.
- ๋ชจ๋ ์ข ๋ฅ์ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ๋ฌด์ํ์ง ๋ง์ญ์์ค.
- CDN์ ์ฌ์ฉํ๋ฉด ๋คํธ์ํฌ ์ง์ฐ์ ์ต์ ํํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ฑ๋ ๊ณ ๊ฐ ๋ฐ ๋จ์ํ ์ ์ ํธ๋ํฝ์ผ๋ก์ ๋ฒ๋์ ๋ํ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ์๋จ์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ ๋ฌธ์ ์ธ ๋ณดํธ ์๋น์ค๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. ์ฑ๋ ์์ค์์๋ L3&4 ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์์ ์ ๋ณดํธํ ์ ์์ต๋๋ค. ์ฑ๋์ด ์ถฉ๋ถํ์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ํ L7 ๊ณต๊ฒฉ์ ๋งค์ฐ ํด ์ ์์ผ๋ฏ๋ก ๋ง์ ์ธ์ธ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ๋ํ ์๊ท๋ชจ ๊ณต๊ฒฉ ๊ฒ์์ ์ฌ์ ํ โโํน์ ์๋น์ค, ํน์ ์๊ณ ๋ฆฌ์ฆ์ ํน๊ถ์ ๋๋ค.
- ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ธ์. ์ด๋ ์ปค๋๋ฟ๋ง ์๋๋ผ SSH ๋ฐ๋ชฌ์๋ ์ ์ฉ๋ฉ๋๋ค. ํนํ ์ธ๋ถ์ ์ด๋ ค ์๋ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ์์น์ ์ผ๋ก ํน์ ์ทจ์ฝ์ ์ ์ค์ค๋ก ์ถ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒ์ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
์ถ์ฒ : habr.com