๊ฐ„๋‹จํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

Graaudit๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋ฉฐ ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ณด์•ˆ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ์ง์ ‘ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•
์ถœ์ฒ˜ : Unsplash (๋งˆ์ปค์Šค ์Šคํ”ผ์Šค์ผ€)

ํ…Œ์ŠคํŠธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ˆ˜๋ช…์ฃผ๊ธฐ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ฐ ์œ ํ˜•์€ ์ž์ฒด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ฝ”๋“œ์—์„œ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋ถ„๋ช…ํžˆ ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ˜„์‹ค์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค ๋ณด์•ˆ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•œ๋•Œ DevSecOps๋ผ๋Š” ํŠน์ˆ˜ ์šฉ์–ด๋„ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์šฉ์–ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ์ ˆ์ฐจ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ‘œ์ค€์— ๋”ฐ๋ผ ์ทจ์•ฝ์ ์„ ์ ๊ฒ€ํ•˜๋Š” ํŠนํ™”๋œ ์˜คํ”ˆ์†Œ์Šค ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. OWASP, ์†Œ์Šค ์ฝ”๋“œ์— ์žˆ๋Š” ์ทจ์•ฝ์ ์˜ ๋‹ค์–‘ํ•œ ์œ ํ˜•๊ณผ ๋™์ž‘์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

SAST(์ •์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ), DAST(๋™์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ), IAST(๋Œ€ํ™”ํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ), ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ๋ถ„์„ ๋“ฑ๊ณผ ๊ฐ™์€ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ •์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ๋Š” ์ด๋ฏธ ์ž‘์„ฑ๋œ ์ฝ”๋“œ์˜ ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ •์  ๋ถ„์„์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ •์  ์ฝ”๋“œ ๋ถ„์„์— ์ค‘์ ์„ ๋‘๊ณ  ๊ฐ„๋‹จํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ๋กœ ๋ชจ๋“  ๊ฒƒ์„ ๋ณด์—ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ •์  ์ฝ”๋“œ ๋ณด์•ˆ ๋ถ„์„์„ ์œ„ํ•ด ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋ฅผ ์„ ํƒํ•œ ์ด์œ 

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

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

๊ทธ๋Ÿฌ๋‚˜ ์„ ํƒํ•œ ๋„๊ตฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ๋•Œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ํฌํฌํ•˜๊ณ  ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž์ฒด ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ฝ”๋“œ ๋ณด์•ˆ ๋ถ„์„์„ ์œ„ํ•ด Graaudit ์‚ฌ์šฉ

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

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ๊ทธ๋ผ์šฐ๋””ํŠธ, ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ ์ทจ์•ฝ์ ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ํ•ด๋‹น ์–ธ์–ด ์„ธํŠธ๊ฐ€ ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Graaudit๋Š” ํ•œ๋•Œ GNU ๋ผ์ด์„ ์Šค๋กœ ์ถœ์‹œ๋˜์—ˆ๋˜ grep ์œ ํ‹ธ๋ฆฌํ‹ฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ •์  ์ฝ”๋“œ ๋ถ„์„์„ ์œ„ํ•œ ์œ ์‚ฌํ•œ ๋„๊ตฌ(RATS(Rough Auditing Tool for Security), Securitycompass Web Application Analysis Tool(SWAAT), Flawfinder ๋“ฑ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Graaudit์€ ๋งค์šฐ ์œ ์—ฐํ•˜๋ฉฐ ์ตœ์†Œํ•œ์˜ ๊ธฐ์ˆ  ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Graaudit์ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์—ฌ๊ธฐ์—์„œ ๋‹ค๋ฅธ ์˜ต์…˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชฉ๋ก์—.

์ด ๋„๊ตฌ๋ฅผ ํŠน์ • ํ”„๋กœ์ ํŠธ์— ํ†ตํ•ฉํ•˜๊ฑฐ๋‚˜, ์„ ํƒํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋˜ํ•œ Graaudit์˜ ์œ ์—ฐ์„ฑ์ด ๋ฐœํœ˜๋˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ๋จผ์ € ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$ git clone https://github.com/wireghoul/graudit

์ด์ œ Graaudit๊ฐ€ ๋ช…๋ น ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

.bashrc(๋˜๋Š” ์‚ฌ์šฉ ์ค‘์ธ ๊ตฌ์„ฑ ํŒŒ์ผ)์— ๋ณ„์นญ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

#------ .bashrc ------
alias graudit="~/bin/graudit"

์žฌ๋ถ€ํŒ…:

$ source ~/.bashrc # OR
$ exex $SHELL

์„ค์น˜๊ฐ€ ์„ฑ๊ณตํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$ graudit -h

๋น„์Šทํ•œ ๊ฒƒ์ด ๋ณด์ด๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

๊ธฐ์กด ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„๊ตฌ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๋‚ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์ž‘์„ฑ๋œ ์–ธ์–ด์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ~/gradit/signatures ํด๋”์— ์žˆ์Šต๋‹ˆ๋‹ค.

$ graudit -d ~/gradit/signatures/js.db

๊ทธ๋ž˜์„œ ๋‚ด ํ”„๋กœ์ ํŠธ์—์„œ ๋‘ ๊ฐœ์˜ js ํŒŒ์ผ์„ ํ…Œ์ŠคํŠธํ–ˆ๊ณ  Graaudit๋Š” ๋‚ด ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฝ˜์†”์— ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

๊ฐ„๋‹จํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ…Œ์ŠคํŠธํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

Graudit์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

Graaudit๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ด‘๋ฒ”์œ„ํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ๋˜๋Š” ์œ ๋ฃŒ ์•„๋‚ ๋กœ๊ทธ์™€ ์ ์ ˆํ•˜๊ฒŒ ๊ฒฝ์Ÿํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ณ„์†ํ•ด์„œ ๊ฐœ์„ ๋˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๊ฐœ๋ฐœ์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋„๊ตฌ๋ฅผ ์•Œ์•„๋‚ด๋ ค๋Š” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ๋„ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํŽธ๋ฆฌํ•œ ๋„๊ตฌ์ด์ง€๋งŒ ์ง€๊ธˆ๊นŒ์ง€๋Š” ์˜์‹ฌ์Šค๋Ÿฌ์šด ์ฝ”๋“œ ์กฐ๊ฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ•ญ์ƒ ์ •ํ™•ํžˆ ์ฐพ์•„๋‚ผ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ณ„์†ํ•ด์„œ Graaudit๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ ์ด์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ฝ”๋“œ์˜ ์ž ์žฌ์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๋Š” ๊ฒƒ์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘โ€ฆ

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ ์ •์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ๋ฅผ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ •์  ์ฝ”๋“œ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€๋งŒ ์‹œ์ž‘์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๋ณด์•ˆ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ๋‹ค๋ฅธ ์œ ํ˜•์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ˆ˜๋ช…์ฃผ๊ธฐ์— ํ†ตํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ด‘๊ณ ์˜ ๊ถŒ๋ฆฌ์—

์•ˆ์ •์ ์ธ VPS ์š”๊ธˆ์ œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ ํƒํ•˜๋ฉด ๋ถˆ์พŒํ•œ ๋ฌธ์ œ๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์— ๋ฐฉํ•ด๊ฐ€ ๋˜๋Š” ์ผ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์‹คํŒจ ์—†์ด ๋งค์šฐ ๋†’์€ ๊ฐ€๋™ ์‹œ๊ฐ„์œผ๋กœ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

๊ฐ„๋‹จํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

์ถœ์ฒ˜ : habr.com

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