๐ก๏ธ Laravel Secure Baseline: ํ์ดํ๋ผ์ธ์ด ๋ง๋ ํ ๋ฐ์์ผ ํ ์ํธ์
Source: Dev.to
Laravel ํ๋ก์ ํธ์์ ๊ฒ์ฌํ๋ ํญ๋ชฉ
- ํ๊ฒฝ ์์ ์ฑ:
APP_DEBUG,APP_KEY,APP_URL,APP_ENV - ๋ณด์ ์ฟ ํค ๋ฐ ํค๋: HSTS, CSP,
X-Frame-Options, SameSite, Secure, HttpOnly - ์ํํ ์ค์ : CORS ์์ผ๋์นด๋, ๋ฎ์ ๋ก๊ทธ ๋ ๋ฒจ, ๋ ธ์ถ๋ ์คํ ๋ฆฌ์ง
- ๋๋ฒ๊ทธ ๋์: Telescope, Horizon,
phpinfo()๋ฐ ๋๋ฒ๊ทธ ๋ผ์ฐํธ๊ฐ ์์ด์๋ ์ ๋๋ ๊ณณ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ - ์์กด์ฑ ๊ด๋ฆฌ: ์ค๋๋์๊ฑฐ๋ ๋ณด์์ ์ทจ์ฝํ Composer ํจํค์ง
- ๋ฉํ๋ฐ์ดํฐ ๋ณด์:
APP_URL๋ถ์ผ์น, ๊ด๋ํจ ์ธ์ ๋๋ผ์ด๋ฒ, ์์ธ ์ค๋ฅ
์ ํ์ --fail-on ๊ฐ์ง๋ CI์์ ์์ ํ์ง ์์ ๊ฐ์ด ๋ฐ๊ฒฌ๋ ๋ ๋ฐฐํฌ๋ฅผ ์ฐจ๋จํ ์ ์์ต๋๋ค. ์ค์ํ ๋ฌธ์ ๊ฐ ๊ฐ์ง๋๋ฉด ๋๊ตฌ๋ ์คํจ ์ฝ๋์ ํจ๊ป ์ข
๋ฃํฉ๋๋ค, ์:
๐จ CI BLOCKED โ APP_DEBUG=true detected in production environment.
๋น ๋ฅธ ์ค์น
composer require ind4skylivey/laravel-secure-baseline --dev
์ต์ GitHub Actions ๋จ๊ณ
- run: php artisan secure:scan --fail-on=fail --error-exit-code=1
์ด ๋ช ๋ น์ GitHub Actions CI ์์ ์ ์ถ๊ฐํ์ฌ ์ํฌํ๋ก์ ๋ณด์ ์์ธ์ ๋น๋๋ ๋ฐฉํจ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์์ฑ๋๋ ์ถ๋ ฅ ํ์
- CLI ํ ์คํธ ๋ณด๊ณ ์
- HTML ๋์๋ณด๋
- JSON ๊ตฌ์กฐํ ์ถ๋ ฅ
- Markdown ๋ณด๊ณ ์
- SARIF (GitHub ๋ณด์ ์๋ฆผ์ฉ)
- CI ์คํจ ์ GitHub ์ฃผ์
- โ์ ๋ฌธ ๋ณด์ ์ ์คโ ๋๋์ ์ํ SARIFโฏ+โฏMarkdown ์กฐํฉ
--fail-on=fail ๋ชจ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋ ๋ ๋ฐฐํฌ๋ฅผ ์ฐจ๋จํฉ๋๋ค.
ํ์ด ์ฑํํ๋ ์ด์
- ์์ ํ์ง ์์ ํ๊ฒฝ์์
APP_DEBUG=true๊ฐ ๋ํ๋ ๊ฒฝ์ฐ CI ๋ฐฐํฌ๋ฅผ ์ฐจ๋จํฉ๋๋ค. - ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์ ์ฟ ํค์ ํค๋๋ฅผ ์ ์ฉํฉ๋๋ค.
- ์ธ๋ถ ํธ์ถ ์์ด ์์กด์ฑ์ ์ค์บํฉ๋๋ค.
- SARIF์ ๊ฐ์ GitHub ์นํ์ ์ธ ๋ณด์ ํ์์ ์ถ๋ ฅํฉ๋๋ค.
- ๋น ๋ฅด๊ณ ๋ก์ปฌ์์ ์คํ๋๋ฉฐ ํฐ๋ฏธ๋์ ์ฃผ์ ๋ฒ์๋ฅผ ๋์ด์๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ง ์์ต๋๋ค.
๋ฐ๋ชจ
โ
All clear. The deploy rune glows softly. You may pass.
์ด ๋๊ตฌ๋ ์ฝ๋๋ฅผ ์ฝ๊ณ , ๋ฌธ์ ๋ฅผ ํฌ์ฐฉํ๋ฉฐ, ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋คโ์ฆ, CI๊ฐ ๊ฐ์ท์ ์ ์ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์์์ ๊ธฐ์ฌํ๊ธฐ
์๋ก์ด ๊ฒ์ฆ ์์ด๋์ด๊ฐ ์๋์? ์ ์ํด ์ฃผ์ธ์. ํฉ๋ฆฌ์ ์ด๋ , ๊ธฐ์ดํ๋ , ์๊ฐ์ ๋ฐ์ ๊ฒ์ด๋ โCI์ ์ค์ ํ๊ฒฝ์์ ๊ฒ์ฆ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
- ๋ณด์ ์ ์์
SECURITY.md์ ๊ธฐ๋กํฉ๋๋ค. - ํ ๋ฆฌํ์คํธ๋ฅผ ํตํ ์ฝ๋ ๊ฐ์ .
- ์ด์ ํฐ์ผ์ ํตํ ๊ฑด์ ํ ๋ํ.
CI ํ์ดํ๋ผ์ธ์ ์๊ฒฉํ๊ณ ์์ธก ๊ฐ๋ฅํ๋ฉฐ ๋น ๋ผ์ผ ํฉ๋๋ค. ๋ณด์ ๊ฒ์ฆ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. Laravel Secure Baseline์ ์ฌ์ฉํ๋ฉด ๋ฐฐํฌ๊ฐ ์ค๋จ๋์ง ์๊ณ , ์ฑ์ด ๋์ถ๋์ง ์์ผ๋ฉฐ, ๊ฐ๋ฐ์๋ ์์ฌํ๊ณ ์ ์ ์ ์ ์์ต๋๋ค. ์ฐ์ฃผ์ ์ด์ํจ์ ๋ณํจ์์ง๋ง, ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ๊ทธ๋ด ํ์๊ฐ ์์ต๋๋ค.