SQL Injection
์น ์ฌ์ดํธ์ ๋ณด์์ ํ์ ์ ์ด์ฉํด ํน์ SQL ์ฟผ๋ฆฌ๋ฌธ์ ์ ์กํ์ฌ
๊ณต๊ฒฉ์๊ฐ ์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ํดํน ๊ธฐ๋ฒ์ด๋ค.
๋๋ถ๋ถ ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ์ ๋๋ก ํํฐ๋งํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ค.
๊ณต๊ฒฉ์ด ์ฌ์ด ๋์ด๋์ ๋นํด ํผํด๊ฐ ์๋นํ๊ธฐ ๋๋ฌธ์
๋ณด์ ์ํ 1์์๋ก ๋ถ๋ฆด๋งํผ ์ค์ํ ๊ธฐ๋ฒ์ด๋ค.
๊ฐ๋ตํ ๊ณต๊ฒฉ ์๋๋ฆฌ์ค
์๋ฅผ ๋ค์ด ํ์์ด ์์ ์ ์ผ๋ จ๋ฒํธ๋ฅผ ์กฐํํ ์ ์๋ ์ํฉ์ด ์๋ค๊ณ ๊ฐ์ ํ์.
๊ธฐ๋ณธ์ ์ธ SQL ์งํ์ ํด๋ผ์ด์ธํธ๊ฐ ์ผ๋ จ๋ฒํธ ์กฐํ๋ฅผ ํด๋ฆญํ์ฌ ์น์๋ฒ์ ์ด๋ฆ์ด ๋ค์ด๊ฐ๊ณ DB์ ์ ๋ ฅํ ๊ฐ์ด ์๋์ง ํ์ธ ํ ์กด์ฌํ๋ค๋ฉด ๋ฒํธ DB๋ฅผ ์ถ๋ ฅํด์ค๋ค.
์๋ฅผ ๋ค์ด ๋ฒํธ ์กฐํ๋ฅผ ํด๋ฆญํ๋ฉด url์ด http://numbersearch.com/mysearch?=ohyaelim ์ด ๋๋ค๊ณ ๊ฐ์ ํ์.
๊ทธ๋ผ ๊ณต๊ฒฉ์์ ์กฐํ๋ http://numbersearch.com/mysearch?=blackhat ์์ ํ์ทจํ๊ณ ์ถ์ ์ ๋ณด์ ์ ์ ์ธ ohyaelim์ผ๋ก ๋ณ๊ฒฝํด์ค์ผํ๋๋ฐ, ๊ทธ๋ฅ ๋ณ๊ฒฝํ๋ ๊ฒ์ผ๋ก๋ ํ์ฌ ๋ก๊ทธ์ธ ๋ ์์ ๊ณผ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์น์๋ฒ์์ ์ธ์ ํ์ง ์๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ํน์ ์ฟผ๋ฆฌ๋ฌธ์ ๋ฃ์ด์ค๋ค. 'ohyaelim' or '1' = '1' ๊ณผ ๊ฐ์ด ๋ฃ์ด๋ถ๋ 1๊ณผ 1์ ๊ฐ๋ค๋ผ๋ ๊ตฌ๋ฌธ์ด ์ฐธ์ด๋ฏ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด์ค๋ค.
์ด๋ฌํ SQL Injection์ ๊ณต๊ฒฉ ๋ฒ์๋ ๋งค์ฐ ๋ค์ํ๋ค.
bypass
data access
content change
db delete
๊ณต๊ฒฉ ์ข ๋ฅ ๋ฐ ๋ฐฉ๋ฒ
Error based SQL Injection
- ๋ ผ๋ฆฌ์ ์๋ฌ๋ฅผ ์ด์ฉํ SQL Injection
SQL ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ ๋ ผ๋ฆฌ์ ์๋ฌ๋ฅผ ์ด์ฉํ SQL Injection์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๊ณ ๋์ค์ ์ธ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ด๋ค.
์์ ์ดํด๋ดค๋ ๊ณต๊ฒฉ ์๋๋ฆฌ์ค๊ฐ ์ฌ๊ธฐ์ ํด๋น๋๋ค.
select * from client where name='ohyaelim' and password='1122'
๊ฐ ์ฌ๋ฐ๋ฅธ ๋ก๊ทธ์ธ์ ์๋ผ๋ฉด
select * from client where name='ohyaelim' and password=' or '1'='1
์ ๊ฐ์ด ์์ฑํด or ์์ ๊ฐ๊ณผ ๋ค์ ๊ฐ ์ค ํ๋๋ผ๋ ์ฐธ์ด๋ฉด ์ฐธ์ด๋ฏ๋ก ์ด ๊ตฌ๋ฌธ ์์ฒด๊ฐ ์ฐธ์ผ๋ก ์ธ์๋์ด ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๊ฒ ๋๋ค.
UNION based SQL Injection = UNION
- ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ SQL Injection
SQL UNION์ด๋, ์ฌ๋ฌ๊ฐ์ SQL๋ฌธ์ ํฉ์ณ ํ๋์ SQL๋ฌธ์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๊ธฐ์ ์์ ์ฌ์ ์กฐ๊ฑด์ด ํ์ํ๋ค. Union ํ๋ ๋ ํ ์ด๋ธ์ ์ปฌ๋ผ ์๊ฐ ๊ฐ์์ผ ํ๊ณ ๋ฐ์ดํฐ ํ์ด ๊ฐ์์ผ ํ๋ค.
UNION๊ณผ UNION ALL๋ก ๋๋๋๋ฐ ์ค๋ณต ๊ฐ์ ์ ์ธ ํ๊ณ ์ํ๊ณ ์ ์ฐจ์ด๋ค.
UNION - ์ค๋ณต ๊ฐ์ ์ ์ธํ๋ค.
UNION ALL - ์ค๋ณต ๊ฐ์ ์ ์ธํ์ง ์๊ณ ์ ์ฒด๋ฅผ ํฉ์น๋ค.
์ ๋ ฅ๊ฐ์ title ๊ณผ contents ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ ๋น๊ตํ ๋ค ๋น์ทํ ๊ธ์๊ฐ ์๋ ๊ฒ์๊ธ์ ์ถ๋ ฅํ๋ค.
์ฌ๊ธฐ์ ์ ๋ ฅ๊ฐ์ผ๋ก Union ํค์๋์ ํจ๊ป ์ปฌ๋ผ ์๋ฅผ ๋ง์ถฐ์ SELECT ๊ตฌ๋ฌธ์ ๋ฃ์ด์ฃผ๊ฒ ๋๋ฉด ๋ ์ฟผ๋ฆฌ๋ฌธ์ด ํฉ์ณ์์ ํ๋์ ํ ์ด๋ธ๋ก ๋ณด์ฌ์ง๊ฒ ๋๋ค.
ํ์ฌ ์ธ์ ์ ํ ๊ตฌ๋ฌธ์ ์ฌ์ฉ์์ id์ passwd๋ฅผ ์์ฒญํ๋ ์ฟผ๋ฆฌ๋ฌธ์ผ๋ก ์ธ์ ์ ์ด ์ฑ๊ณตํ๊ฒ ๋๋ฉด, ์ฌ์ฉ์์ ๊ฐ์ธ์ ๋ณด๊ฐ ๊ฒ์๊ธ๊ณผ ํจ๊ป ํ๋ฉด์ ๋ณด์ฌ์ง๊ฒ ๋๋ค.
( * ๋ฌผ๋ก ํจ์ค์๋๋ฅผ ํ๋ฌธ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ์ง๋ ์๊ฒ ์ง๋ง ์ธ์ ์ ์ด ๊ฐ๋ฅํ๋ค๋ ์ ์์ ์ด๋ฏธ ๊ทธ ์ด์์ ๋ณด์์ํ์ ๋ ธ์ถ๋์ด ์์ต๋๋ค. ์ด ๊ณต๊ฒฉ๋ ์ญ์ ์ ๋ ฅ๊ฐ์ ๋ํ ๊ฒ์ฆ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๊ฒ ๋์๋ค. )
Blind SQL Injection
- Boolean based Blind SQL Injection
Blind SQL Injection์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ํน์ ํ ๊ฐ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ์ง ์๊ณ , ๋จ์ํ ์ฐธ๊ณผ ๊ฑฐ์ง์ ์ ๋ณด๋ง ์ ์ ์์ ๋ ์ฌ์ฉํ๋ค. ๋ก๊ทธ์ธ ํผ์ SQL Injection์ด ๊ฐ๋ฅํ๋ค๊ณ ๊ฐ์ ํ์ ๋, ์๋ฒ๊ฐ ์๋ตํ๋ ๋ก๊ทธ์ธ ์ฑ๊ณต๊ณผ ๋ก๊ทธ์ธ ์คํจ ๋ฉ์์ง๋ฅผ ์ด์ฉํ์ฌ, DB์ ํ ์ด๋ธ ์ ๋ณด ๋ฑ์ ์ถ์ถํด ๋ผ ์ ์๋ค.
์ ์ฌ์ง๊ณผ ๊ฐ์ ์์๋ฅผ ์ดํด๋ณด๋ฉด limit ํค์๋๋ฅผ ํตํด ํ๋์ ํ ์ด๋ธ๋ง ์กฐํํ๊ณ , SUBSTR ํจ์๋ก ์ฒซ ๊ธ์๋ง, ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ASCII ๋ฅผ ํตํด์ ascii ๊ฐ์ผ๋ก ๋ณํํด์ค๋ค. ๋ง์ฝ์ ์กฐํ๋๋ ํ ์ด๋ธ ๋ช ์ด Users ๋ผ๋ฉด ‘U’ ์๊ฐ ascii ๊ฐ์ผ๋ก ์กฐํ๊ฐ ๋ ๊ฒ์ด๊ณ , ๋ค์ 100 ์ด๋ผ๋ ์ซ์ ๊ฐ๊ณผ ๋น๊ต๋ฅผ ํ๊ฒ ๋๋ค. ๊ฑฐ์ง์ด๋ฉด ๋ก๊ทธ์ธ ์คํจ๊ฐ ๋ ๊ฒ์ด๊ณ , ์ฐธ์ด ๋ ๋๊น์ง ๋ค์ 100์ด๋ผ๋ ์ซ์๋ฅผ ๋ณ๊ฒฝํด ๊ฐ๋ฉด์ ๋น๊ต๋ฅผ ํ๋ฉด ๋๋ค. ๊ณต๊ฒฉ์๋ ์ด ํ๋ก์ธ์ค๋ฅผ ์๋ํ ์คํฌ๋ฆฝํธ๋ฅผ ํตํ์ฌ ๋จ๊ธฐ๊ฐ ๋ด์ ํ ์ด๋ธ ๋ช ์ ์์ ๋ผ ์ ์๋ค.
ํ๊ธ์์ฉ ๋์ด์จ ๊ฐ์ ์์คํค์ฝ๋๋ก ๋ณํ์ํค๊ณ ์์์ ์ซ์์ ๋น๊ตํ์ฌ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋น๊ตํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ๊ฐ๋ฉฐ ๊ณ์ ์ง์๋ฅผ ๋ณด๋ด์ด ์ผ์นํ๋ ์์คํค์ฝ๋๋ฅผ ์ฐพ์๋ด๋๋ฐ ์ด๋ฌํ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ๊ฒฐ๊ณผ๋ค์ ์กฐํฉํ์ฌ ์ํ๋ ์ ๋ณด๋ฅผ ์ป์ด๋์ผ๋ก์จ ๊ณต๊ฒฉ์ ์ด๋ฃจ์ด์ง๊ฒ ํ๋ค. ๋ง์ ๋น๊ต ๊ณผ์ ์ ์ํ๋ฏ๋ก ์ ์์ ๋ชฉ์ ์ ๊ฐ์ง ํฌ๋์ปค๋ค์ ์๋ํ๋ ํด์ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉํ๋ค.
Blind SQL Injection
- Time based SQL
Time Based SQL Injection ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฒ๋ก๋ถํฐ ํน์ ํ ์๋ต ๋์ ์ ์ฐธ ํน์ ๊ฑฐ์ง์ ์๋ต์ ํตํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ณด๋ฅผ ์ ์ถํ๋ ๊ธฐ๋ฒ์ด๋ค. ์ฌ์ฉ๋๋ ํจ์๋ MySQL ๊ธฐ์ค์ผ๋ก SLEEP ๊ณผ BENCHMARK ์ด๋ค.
์์ ๊ทธ๋ฆผ์ ์์์์ ๋ก๊ทธ์ธ ํผ์ ์ฃผ์ ์ด ๋์์ผ๋ฉฐ ์์๋ก abc123 ์ด๋ผ๋ ๊ณ์ ์ ์์ฑํด ๋์๋๋ฐ ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ abc123’ OR (LENGTH(DATABASE())=1 AND SLEEP(2)) – ์ด๋ผ๋ ๊ตฌ๋ฌธ์ ์ฃผ์ ํ ์ํฉ์ด๋ค.
์ฃผ์ ๋ ๊ตฌ๋ฌธ์์, LENGTH(DATABASE()) = 1 ๊ฐ ์ฐธ์ด๋ฉด SLEEP(2) ๊ฐ ๋์ํ๊ณ , ๊ฑฐ์ง์ด๋ฉด ๋์ํ์ง ์๋๋ค. ์ด๋ฅผ ํตํด์ ์ซ์ 1 ๋ถ๋ถ์ ์กฐ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธธ์ด๋ฅผ ์์ ๋ผ ์ ์๋ค. ๋ง์ฝ์ SLEEP ์ด๋ผ๋ ๋จ์ด๊ฐ ์นํ์ฒ๋ฆฌ ๋์ด์๋ค๋ฉด, ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก BENCHMARK ๋ WAIT ํจ์๋ฅผ ์ฌ์ฉ ํ ์ ์๋ค.
BENCHMARK ๋
BENCHMARK(1000000,AES_ENCRYPT('hello','goodbye'));
์ด๋ฐ ์์ผ๋ก ์ฌ์ฉํ๊ณ ์ด ๊ตฌ๋ฌธ์ ์คํ ํ๋ฉด ์ฝ 4.74์ด๊ฐ ๊ฑธ๋ฆฐ๋ค.
Stored Procedure SQL Injection
- ์ ์ฅ๋ ํ๋ก์์ ์์์ SQL Injection
stored procedure๋ ์ผ๋ จ์ ์ฟผ๋ฆฌ๋ค์ ๋ชจ์ ํ๋์ ํจ์์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ์ํ๊ฒ์ด๋ค.
๊ณต๊ฒฉ์ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ์ ์ฅ ํ๋ก์์ ๋ MS-SQL ์ ์๋ xp_cmdshell๋ก ์๋์ฐ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ๋จ, ๊ณต๊ฒฉ์๊ฐ ์์คํ ๊ถํ์ ํ๋ ํด์ผ ํ๋ฏ๋ก ๊ณต๊ฒฉ๋์ด๋๊ฐ ๋์ผ๋ ๊ณต๊ฒฉ์ ์ฑ๊ณตํ๋ค๋ฉด, ์๋ฒ์ ์ง์ ์ ์ธ ํผํด๋ฅผ ์ ํ ์ ์๋ ๊ณต๊ฒฉ์ด๋ค.
Mass SQL Injection
- ๋ค๋์ SQL Injection ๊ณต๊ฒฉ
2008๋ ์ ์ฒ์ ๋ฐ๊ฒฌ๋ ๊ณต๊ฒฉ๊ธฐ๋ฒ์ด๋ค.
๊ธฐ์กด SQL Injection ๊ณผ ๋ฌ๋ฆฌ ํ๋ฒ์ ๊ณต๊ฒฉ์ผ๋ก ๋ค๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์กฐ์๋์ด ํฐ ํผํด๋ฅผ ์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ณดํต MS-SQL์ ์ฌ์ฉํ๋ ASP ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ์ฟผ๋ฆฌ๋ฌธ์ HEX ์ธ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉ ํ์ฌ ๊ณต๊ฒฉํ๋ค. ๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋ณ์กฐํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฑ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ๊ณ , ์ฌ์ฉ์๋ค์ด ๋ณ์กฐ๋ ์ฌ์ดํธ์ ์ ์ ์ ์ข๋นPC๋ก ๊ฐ์ผ๋๊ฒ ํ๋๋ฐ ์ด๋ ๊ฒ ๊ฐ์ผ๋ ์ข๋น PC๋ค์ DDoS ๊ณต๊ฒฉ์ ์ฌ์ฉ๋ฉ๋๋ค.
๋์๋ฐฉ์
- ์ ๋ ฅ ๊ฐ์ ๋ํ ๊ฒ์ฆ
- Prepared Statement ๊ตฌ๋ฌธ ์ฌ์ฉ
- Error Message ๋ ธ์ถ ๊ธ์ง
- ์น ๋ฐฉํ๋ฒฝ ์ฌ์ฉ
์ ๋ ฅ ๊ฐ์ ๋ํ ๊ฒ์ฆ
SQL Injection ์์ ์ฌ์ฉ๋๋ ๊ธฐ๋ฒ๊ณผ ํค์๋๋ ์์ฒญ๋๊ฒ ๋ง์ต๋๋ค. ์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ ๋ํ ๊ฒ์ฆ์ด ํ์ํ๋ค. ์๋ฒ ๋จ์์ ํ์ดํธ๋ฆฌ์คํธ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์ฆํด์ผ ํ๋ค. ๋ธ๋๋ฆฌ์คํธ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์ฆํ๊ฒ ๋๋ฉด ์๋ง์ ์ฐจ๋จ๋ฆฌ์คํธ๋ฅผ ๋ฑ๋กํด์ผ ํ๊ณ , ํ๋๋ผ๋ ๋น ์ง๋ฉด ๊ณต๊ฒฉ์ ์ฑ๊ณตํ๊ฒ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ณต๋ฐฑ์ผ๋ก ์นํํ๋ ๋ฐฉ๋ฒ๋ ๋ง์ด ์ฐ์ด๋๋ฐ, ์ด ๋ฐฉ๋ฒ๋ ์ทจ์ฝํ ๋ฐฉ๋ฒ์ด๋ค. ์๋ฅผ ๋ค์ด ๊ณต๊ฒฉ์๊ฐ SESELECTLECT ๋ผ๊ณ ์ ๋ ฅ ์ ์ค๊ฐ์ SELECT๊ฐ ๊ณต๋ฐฑ์ผ๋ก ์นํ์ด ๋๋ฉด SELECT ๋ผ๋ ํค์๋๊ฐ ์์ฑ๋๊ฒ ๋๋ค. ๊ณต๋ฐฑ ๋์ ๊ณต๊ฒฉ ํค์๋์๋ ์๋ฏธ ์๋ ๋จ์ด๋ก ์นํ๋์ด์ผ ํ๋ค.
Prepared Statement ๊ตฌ๋ฌธ์ฌ์ฉ
Prepared Statement ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด, ์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด๊ฐ๊ธฐ ์ ์DBMS๊ฐ ๋ฏธ๋ฆฌ ์ปดํ์ผ ํ์ฌ ์คํํ์ง ์๊ณ ๋๊ธฐํ๋๋ฐ ๊ทธ ํ ์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ ๋ฌธ์์ด๋ก ์ธ์ํ๊ฒ ํ์ฌ ๊ณต๊ฒฉ์ฟผ๋ฆฌ๊ฐ ๋ค์ด๊ฐ๋ค๊ณ ํ๋๋ผ๋, ์ฌ์ฉ์์ ์ ๋ ฅ์ ์ด๋ฏธ ์๋ฏธ ์๋ ๋จ์ ๋ฌธ์์ด ์ด๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์ฟผ๋ฆฌ๋ฌธ๋ ๊ณต๊ฒฉ์์ ์๋๋๋ก ์๋ํ์ง ์๋๋ค.
Error Message ๋ ธ์ถ ๊ธ์ง
๊ณต๊ฒฉ์๊ฐ SQL Injection์ ์ํํ๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ณด(ํ
์ด๋ธ๋ช
, ์ปฌ๋ผ๋ช
๋ฑ)๊ฐ ํ์ํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฌ ๋ฐ์ ์ ๋ฐ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ง ์์๋ค๋ฉด, ์๋ฌ๊ฐ ๋ฐ์ํ ์ฟผ๋ฆฌ๋ฌธ๊ณผ ํจ๊ป ์๋ฌ์ ๊ดํ ๋ด์ฉ์ ๋ฐํํค ์ฃผ๋๋ฐ ์ฌ๊ธฐ์ ํ
์ด๋ธ๋ช
๋ฐ ์ปฌ๋ผ๋ช
๊ทธ๋ฆฌ๊ณ ์ฟผ๋ฆฌ๋ฌธ์ด ๋
ธ์ถ์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ํ ์ค๋ฅ๋ฐ์ ์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ์ ์๋ ํ์ด์ง๋ฅผ ์ ์ ํน์ ๋ฉ์์ง๋ฐ์ค๋ฅผ ๋์ฐ๋๋ก ํ์ฌ์ผ ํ๋ค.
์น ๋ฐฉํ๋ฒฝ ์ฌ์ฉ
์น ๊ณต๊ฒฉ ๋ฐฉ์ด์ ํนํ๋์ด์๋ ์น ๋ฐฉํ๋ฒฝ์ ์ฌ์ฉํ๋ ๊ฒ๋ ํ๋์ ๋ฐฉ๋ฒ. ์น ๋ฐฉํ๋ฒฝ์ ์ํํธ์จ์ด ํ, ํ๋์จ์ด ํ, ํ๋ก์ ํ ์ด๋ ๊ฒ ์ธ๊ฐ์ง ์ข
๋ฅ๋ก ๋๋ ์ ์๋๋ฐ ์ํํธ์จ์ด ํ์ ์๋ฒ ๋ด์ ์ง์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ด๊ณ , ํ๋์จ์ด ํ์ ๋คํธ์ํฌ ์์์ ์๋ฒ ์ ๋จ์ ์ง์ ํ๋์จ์ด ์ฅ๋น๋ก ๊ตฌ์ฑํ๋ ๊ฒ์ด๋ฉฐ ๋ง์ง๋ง์ผ๋ก ํ๋ก์ ํ์ DNS ์๋ฒ ์ฃผ์๋ฅผ ์น ๋ฐฉํ๋ฒฝ์ผ๋ก ๋ฐ๊พธ๊ณ ์๋ฒ๋ก ๊ฐ๋ ํธ๋ํฝ์ด ์น ๋ฐฉํ๋ฒฝ์ ๋จผ์ ๊ฑฐ์น๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ฐธ๊ณ
'๐ฅ > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] NoSQL (0) | 2021.09.09 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํธ๋์ญ์ Transaction ์ด๋ (0) | 2021.08.25 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ ๊ทํ์ ๋ํด์ (0) | 2021.08.18 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] Index๋ ๋ฌด์์ธ๊ฐ (0) | 2021.08.11 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ ์ฑ๋ฅ (0) | 2021.08.04 |