1. ์ฟ ํค(Cookie)๋?
HTTP๋ Stateless(๋ฌด์ํ) ํ๋กํ ์ฝ์ ๋๋ค.
์ฆ, ์๋ฒ๋ ์์ฒญ์ ๋ณด๋ธ ์ฌ๋์ด ์ด์ ์๋ ์์ฒญ์ ๋ณด๋ธ ์ฌ๋์ธ์ง๋ฅผ ๊ธฐ์ตํ์ง ๋ชปํฉ๋๋ค.
ํ์ง๋ง ์น ์๋น์ค๋ ๋ก๊ทธ์ธ ์ํ ์ ์ง, ์ฅ๋ฐ๊ตฌ๋ ์ ์ง ๋ฑ ๊ธฐ์ตํ๋ ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค.
์ด๋ฐ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก ์ฟ ํค์ ๋๋ค.
1-1. ์ฟ ํค์ ๊ธฐ๋ณธ ๊ฐ๋
์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๋ ์์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ๋๋ค.
- ์๋ฒ๊ฐ ์๋ต์ ๋ณด๋ผ ๋ Set-Cookie ํค๋๋ฅผ ํตํด ์ฟ ํค๋ฅผ ๋ด๋ ค๋ณด๋ ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ ์ด ์ฟ ํค๋ฅผ ๋ก์ปฌ์ ์ ์ฅํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ ๊ฐ์ ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ผ ๋ ์๋์ผ๋ก Cookie ํค๋์ ์ฟ ํค๋ฅผ ๋ด์ ์ ์กํฉ๋๋ค.
- ์๋ฒ๋ ์ด ์ฟ ํค๋ฅผ ๋ณด๊ณ ์ด๋ค ์ฌ์ฉ์๋ก๋ถํฐ ์จ ์์ฒญ์ธ์ง ๋ฑ์ ํ์ ํ ์ ์์ต๋๋ค.
// ์์ ์๋ต ํค๋
Set-Cookie: sessionId=abc123; Path=/; HttpOnly; Secure
1-2. ์ฟ ํค์ ์ฃผ์ ์์ฑ๋ค
์ฟ ํค์๋ ์ฌ๋ฌ ๊ฐ์ง ์ค์ํ ์์ฑ๋ค์ด ์์ต๋๋ค.
- Domain: ์ด๋ ๋๋ฉ์ธ์ ์ด ์ฟ ํค๋ฅผ ์ ์กํ ์ง ๊ฒฐ์ ํฉ๋๋ค.
- Path: ์ด๋ ๊ฒฝ๋ก(URL)์์ ์ด ์ฟ ํค๋ฅผ ์ ์กํ ์ง ๊ฒฐ์ ํฉ๋๋ค.
- Expires/Max-Age: ์ฟ ํค์ ์ ํจ ๊ธฐ๊ฐ์ ์ค์ ํฉ๋๋ค.(๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์๋ ์ ์งํ ์ง, ์ธ์ ์ด ๋๋๋ฉด ์ญ์ ํ ์ง ๋ฑ)
- Secure: https ์ฐ๊ฒฐ์์๋ง ์ฟ ํค๋ฅผ ์ ์กํ๋๋ก ๊ฐ์ ํฉ๋๋ค.
- HttpOnly: ์๋ฐ์คํฌ๋ฆฝํธ์์ document.cookie๋ก ์ฟ ํค์ ์ ๊ทผํ์ง ๋ชปํ๊ฒ ํฉ๋๋ค. → xss ๊ณต๊ฒฉ์ผ๋ก ์ฟ ํค๊ฐ ํ์ทจ๋๋ ๊ฒ์ ๋ฐฉ์ง
2. SameSite ์์ฑ
SameSite๋ CSRF ๊ฐ์ ๊ณต๊ฒฉ์ ์ค์ด๊ธฐ ์ํด ๋์ ๋ ์ฟ ํค ์์ฑ์ ๋๋ค.
์ฟ ํค๋ฅผ ์ด๋ค ์ํฉ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋์ผ๋ก ์ ์กํ ์ง๋ฅผ ์ ์ดํ๋ ์ต์ ์ ๋๋ค.
2-1. SameSite ์ต์ ์ข ๋ฅ
- SameSite=Strict
- ์์ ํ ๊ฐ์ ์ฌ์ดํธ์์๋ง ์ฟ ํค๋ฅผ ์ ์กํฉ๋๋ค.
- ๋ค๋ฅธ ์ฌ์ดํธ์์ ๋งํฌ๋ฅผ ํ๊ณ ๋ค์ด์ฌ ๊ฒฝ์ฐ ์ฟ ํค๋ฅผ ๋ณด๋ด์ง ์์ต๋๋ค.
- ๋ณด์์ ๊ฐ์ฅ ๊ฐํ์ง๋ง UX๊ฐ ๋ถํธํด์ง ์ ์์ต๋๋ค.
- SameSite=Lax
- ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
- GET ๋ฐฉ์์ ์ผ๋ฐ์ ์ธ ๋ด๋น๊ฒ์ด์ (๋งํฌ ํด๋ฆญ, ์ฃผ์์ฐฝ ์ ๋ ฅ ๋ฑ)์์๋ ์ฟ ํค๋ฅผ ์ ์กํฉ๋๋ค.
- ํ์ง๋ง ๋๋ถ๋ถ์ cross-site POST ์์ฒญ ๋ฑ์ ์ฟ ํค๋ฅผ ์ ์กํ์ง ์์ต๋๋ค.
- SameSite=None; Secure
- ์ด๋ค ์ถ์ฒ์์ ์ค๋ ์ง ์ฟ ํค๋ฅผ ์ ์กํ๊ฒ ๋ค๋ ์๋ฏธ์ ๋๋ค.
- ๋จ, ์ด ๊ฒฝ์ฐ ๋ฐ๋์ Secure(https ์ ์ฉ)๊ฐ ํจ๊ป ์์ด์ผ ํฉ๋๋ค.
- ex) ํ๋ก ํธ ๋ฐฑ์๋๊ฐ ๋๋ฉ์ธ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ, ์ธ๋ถ ๋๋ฉ์ธ์์ ๊ณตํต ๋ก๊ทธ์ธ ๋ฑ์ ์ฌ์ฉํ ๋ ๋ฑ
3. CSFR(Cross-Site Request Forgery)
3-1. CSFR์ด๋?
CSFR์ ๊ฐ๋จํ ๋งํ๋ฉด ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์์ฌ์, ์ฌ์ฉ์๊ฐ ์๋ํ์ง ์์ ์์ฒญ์ ๋ค๋ฅธ ์ฌ์ดํธ์ ๋ณด๋ด๊ฒ ๋ง๋๋ ๊ณต๊ฒฉ์ ๋๋ค.
3-2. CSRF ๊ณต๊ฒฉ ์๋๋ฆฌ์ค ์์
- ์ฌ์ฉ์๊ฐ A์ํ ์ฌ์ดํธ์ ๋ก๊ทธ์ธํฉ๋๋ค. → ๋ธ๋ผ์ฐ์ ์ sessionId ์ฟ ํค๊ฐ ์ ์ฅ๋ฉ๋๋ค.
- ์ฌ์ฉ์๋ ๋ก๊ทธ์์ํ์ง ์๊ณ , ๋ค๋ฅธ ํฌ์์ ์ ์ฑ ์ฌ์ดํธ B์ ์ ์ํฉ๋๋ค.
- ์ ์ฑ ์ฌ์ดํธ์๋ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๊ฐ ์จ์ด ์์ต๋๋ค.
<form action="https://bank.com/transfer" method="POST">
<input type="hidden" name="to" value="๊ณต๊ฒฉ์_๊ณ์ข">
<input type="hidden" name="amount" value="1000000">
</form>
<script>
document.forms[0].submit();
</script>
- ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๋ https://bank.com/transfer๋ก ์์ฒญ์ ๋ณด๋ด๋ฉด์ ์๋์ผ๋ก ์ํ์ ์ธ์ ์ฟ ํค๋ฅผ ํฌํจํฉ๋๋ค.
- ์ํ ์๋ฒ ์ ์ฅ์์๋ ์ ์ ๋ก๊ทธ์ธ๋ ์ฌ์ฉ์์ ์์ฒญ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋๋ค.
⇒ ์ฌ์ฉ์๊ฐ ํด๋ฆญํ์ง๋ ์์๋๋ฐ ๋์ด ๋น ์ ธ๋๊ฐ ์ ์๋ ์ํฉ์ ๋๋ค.
3-3. CSRF ๋ฐฉ์ด ๋ฐฉ๋ฒ
- CSRF Token ์ฌ์ฉ (๊ฐ์ฅ ๋ํ์ ์ธ ๋ฐฉ๋ฒ)
- ์๋ฒ๊ฐ ํผ์ด๋ ํ์ด์ง๋ฅผ ๋ด๋ ค์ค ๋ CSRF Token์ ํจ๊ป ๋ด๋ ค๋ณด๋ ๋๋ค.
- ์ด ํ ํฐ์ ์์ธกํ๊ธฐ ์ด๋ ค์ด ๋๋ค๊ฐ์ ๋๋ค.
- ํด๋ผ์ด์ธํธ๋ ์์ฒญ ์ ์ด ํ ํฐ์ ๊ฐ์ด ์ ์กํฉ๋๋ค.
- ์๋ฒ๋ ์ธ์ ์ ์ ์ฅ๋ ํ ํฐ ๊ฐ๊ณผ ์์ฒญ์ ๋ด๊ธด ํ ํฐ ๊ฐ์ด ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค.
- ์ ์ฑ์ฌ์ดํธ๋ ์ด ํ ํฐ ๊ฐ์ ์ ์ ์์ด ๊ณต๊ฒฉ์ด ์ด๋ ค์์ง๋๋ค.
- SameSite ์ฟ ํค ํ์ฉ
- ์ธ์ ์ฟ ํค์ SameSite=Lax ๋๋ Strict๋ฅผ ์ค์ ํ๋ฉด ๋ค๋ฅธ ์ฌ์ดํธ์์ ๋ฐ์ํ ์์ฒญ์ ์ฟ ํค๊ฐ ์ ์ก๋์ง ์๋๋ก ๋ง์ ์ ์์ต๋๋ค.
- ์ด ๊ฒฝ์ฐ, ์ธ๋ถ์์ ๋ง๋ค์ด์ง POST ์์ฒญ ๋ฑ์ ์ธ์ ์ฟ ํค ์์ด ๋์ฐฉํ๋ฏ๋ก, ์๋ฒ์์ ์ธ์ฆ๋์ง ์์ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ์ค์ํ ์์ฒญ์ ์ฌ์ฉ์ ์ฌํ์ธ ์ ์ฐจ ์ถ๊ฐ
- ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ, ์ก๊ธ, ๊ฒฐ์ , ํํด ๋ฑ ์ค์ํ ์์ ์ผ ๊ฒฝ์ฐ ๋น๋ฐ๋ฒํธ ์ฌ์ ๋ ฅ์ด๋ ์ถ๊ฐ ์ธ์ฆ ๋ฑ์ ์๊ตฌํ์ฌ ๊ณต๊ฒฉ ๋์ด๋๋ฅผ ๋์ ๋๋ค.
4. XSS(Cross-Site Scripting)
4-1. XSS๋?
XSS๋ ๊ฐ๋จํ ๋งํ์๋ฉด, ๊ณต๊ฒฉ์๊ฐ ์น ํ์ด์ง ์์ ์ ์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ด ๋๊ณ , ๊ทธ ํ์ด์ง๋ฅผ ๋ณธ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํ์ํค๋ ๊ณต๊ฒฉ์ ๋๋ค.
์ฌ์ฉ์์ ์ฟ ํค๋ฅผ ํ์ทจํ๊ฑฐ๋, ์ ์ฑ ์ฌ์ดํธ๋ก ๋ฆฌ๋ค์ด๋ ํธ, ํผ์ฑ ํ์ด์ง๋ก ์ด๋ ๋ฑ ์ํ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
4-2. XSS ์ข ๋ฅ
- Strored XSS (์ ์ฅํ)
- ์ ์ฑ ์คํฌ๋ฆฝํธ๊ฐ ์๋ฒ DB์ ์ ์ฅ๋ฉ๋๋ค.
- ex) ๊ฒ์๊ธ, ๋๊ธ, ํ๋กํ ์๊ฐ ๋ฑ
- ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ํผํด์๊ฐ ๋ฉ๋๋ค.
- Reflected XSS(๋ฐ์ฌํ)
- ์ ์ฑ์คํฌ๋ฆฝํธ๊ฐ URL ํ๋ผ๋ฏธํฐ ๋ฑ์ ๋ด๊ฒจ ์์ฒญ๋ฉ๋๋ค.
- ์๋ฒ๊ฐ ์ด๊ฒ์ ๋ค์ ์๋ตํ์ด์ง์ ๊ทธ๋๋ก ๋ฐ์ํ๋ฉด ์คํ๋ฉ๋๋ค.
- ๋ณดํต ํน์ ๋งํฌ๋ฅผ ํด๋ฆญํ ์ฌ์ฉ์๊ฐ ํผํด์๊ฐ ๋ฉ๋๋ค.
- DOM ๊ธฐ๋ฐ XSS
- ์๋ฒ ์๋ต ์์ฒด๋ ์์ ํ์ง๋ง, ํ๋ก ํธ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ DOM์ ์กฐ์ํ๋ ๊ณผ์ ์์ ์ฌ์ฉ์ ์ ๋ ฅ์ ์ ๋๋ก ๊ฒ์ฆํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค.
4-3. XSS ๋ฐฉ์ด ๋ฐฉ๋ฒ
- ์ถ๋ ฅ ์ Escape / Encoding ์ฒ๋ฆฌ
- HTML์ ์ฌ์ฉ์ ์
๋ ฅ์ ์ถ๋ ฅํ ๋,
< → <,> → >," → "๋ฑ์ผ๋ก ๋ณํํ์ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ์คํฌ๋ฆฝํธ๋ก ์ธ์ํ์ง ๋ชปํ๊ฒ ํฉ๋๋ค. - ํ ํ๋ฆฟ ์์ง(Thymeleaf, Mustache ๋ฑ)์ ๋ณดํต ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฐ ์ฒ๋ฆฌ๋ฅผ ๋์์ค๋๋ค.
- HTML์ ์ฌ์ฉ์ ์
๋ ฅ์ ์ถ๋ ฅํ ๋,
- ์
๋ ฅ ๊ฒ์ฆ(Validation)
- ์คํฌ๋ฆฝํธ๊ฐ ๋ค์ด์ฌ ์ ์๋ ์ ๋ ฅ(์: ๋๊ธ, ์๊ฐ๊ธ ๋ฑ)์ ๋ํด ํน์ ํ๊ทธ๋ฅผ ์ ํํ๊ฑฐ๋, ๊ธธ์ด ์ ํ ๋ฑ์ ๊ฑธ์ด ๋ก๋๋ค.
- HttpOnly ์ฟ ํค ์ฌ์ฉ
- ์ธ์ ์ฟ ํค์ HttpOnly๋ฅผ ์ค์ ํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฟ ํค๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.
- XSS๊ฐ ๋ฐ์ํด๋ ์ฟ ํค ํ์ทจ๋ฅผ ์ด๋ ์ ๋ ๋ง์ ์ ์์ต๋๋ค.
- CSP(Content Security Policy) ์ค์
- ๋ธ๋ผ์ฐ์ ์๊ฒ “์ด๋์์ ์จ ์คํฌ๋ฆฝํธ๋ง ์คํํด๋ ๋๋์ง”๋ฅผ ์๋ ค์ฃผ๋ ๋ณด์ ์ ์ฑ ์ ๋๋ค.
- ์:
- script-src 'self' → ํ์ฌ ๋๋ฉ์ธ์์ ์จ ์คํฌ๋ฆฝํธ๋ง ํ์ฉ
- ์์์ ์ธ๋ผ์ธ ์คํฌ๋ฆฝํธ, ์ธ๋ถ ์คํฌ๋ฆฝํธ๋ฅผ ์ฐจ๋จ
5. Reverse Proxy / Load Balancer ๊ตฌ์กฐ
5-1. Proxy vs Reverse Proxy
1) ์ผ๋ฐ Proxy (Forward Proxy)
- ํด๋ผ์ด์ธํธ ์ชฝ์ ์๋ ๋๋ฆฌ์ธ
- ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ์๋ฒ์ ์์ฒญํ์ง ์๊ณ ํ๋ก์ ์๋ฒ๋ฅผ ๊ฑฐ์ณ์ ์์ฒญํฉ๋๋ค.
- ํ๋ก์ ์๋ฒ๊ฐ ๋์ ์ธํฐ๋ท์ ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํฉ๋๋ค.
- ์ฃผ๋ก ํ์ฌ ๋ด๋ถ๋ง, ํ๊ต, ๊ฒ์ด ํํผ, ์บ์ฑ ๋ฑ์ ๋ชฉ์ ์ ์ฌ์ฉํฉ๋๋ค.
2) Reverse Proxy (์ญ๋ฐฉํฅ ํ๋ก์)
- ์๋ฒ ์ชฝ์ ์๋ ๋๋ฆฌ์ธ
- ํด๋ผ์ด์ธํธ๋ Reverse Proxy๋ฅผ “์ง์ง ์๋ฒ”์ฒ๋ผ ๋ด ๋๋ค.
- Reverse Proxy๊ฐ ์ค์ ๋ก๋ ์ฌ๋ฌ ๋์ ์๋ฒ ์ค ํ๋๋ก ์์ฒญ์ ์ ๋ฌํฉ๋๋ค.
- ex) Nginx, Apache HTTP Server, HAProxy ๋ฑ
Reverse Proxy๋ฅผ ์ฌ์ฉํ๋ ์ด์ :
- ์ค์ ์๋ฒ IP๋ฅผ ์จ๊ธฐ๊ณ ๋ณด์์ ๊ฐํํฉ๋๋ค.
- SSL/TLS(HTTPS) ์ฒ๋ฆฌ(TLS ์ข ๋ฃ)๋ฅผ ํ๋ก์์์ ์ฒ๋ฆฌํ์ฌ ๋ค์ชฝ ์๋ฒ์ ๋ถ๋ด์ ์ค์ ๋๋ค.
- ์ ์ ํ์ผ(์ด๋ฏธ์ง, CSS, JS)์ ์บ์ฑํ์ฌ ์๋๋ฅผ ๋์ ๋๋ค.
- ์ฌ๋ฌ ๋ฐฑ์๋ ์๋ฒ๋ก ์์ฒญ์ ๋ถ์ฐํ ์ ์์ต๋๋ค.
- → ์ด๋ Load Balancer ์ญํ ์ ํ๊ธฐ๋ ํฉ๋๋ค.
5-2. Load Balancer(๋ก๋ ๋ฐธ๋ฐ์)
๋ก๋ ๋ฐธ๋ฐ์๋ ๋ค์ด์ค๋ ์์ฒญ๋ค์ ์ฌ๋ฌ ์๋ฒ์ ๊ณจ๊ณ ๋ฃจ ๋๋์ด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์น ์๋ฒ๊ฐ 1๋์ผ ๋๋ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๋ฉด ๋ฒํธ ์ ์์ง๋ง, 3๋๋ก ๋๋๋ฉด ๊ฐ๊ฐ์ ์๋ฒ์ 1/3์ฉ๋ง ๋ถ๋ด์ด ๊ฐ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
๋ก๋ ๋ฐธ๋ฐ์์ ์ฃผ์ ๊ธฐ๋ฅ:
- ํธ๋ํฝ ๋ถ์ฐ
- Round Robin, Least Connections ๋ฑ ๋ค์ํ ๋ฐฉ์์ผ๋ก ๋ถ๋ฐฐํฉ๋๋ค.
- Health Check
- ํน์ ์๋ฒ๊ฐ ์ฃฝ์๋์ง ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํฉ๋๋ค.
- ์ฃฝ์ ์๋ฒ๋ก๋ ํธ๋ํฝ์ ๋ณด๋ด์ง ์์ต๋๋ค.
- Failover
- ์ผ๋ถ ์๋ฒ์ ์ฅ์ ๊ฐ ๋๋ ๋ค๋ฅธ ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ด ์๋น์ค ์ ์ฒด ์ฅ์ ๋ฅผ ๋ง์ต๋๋ค.
- ํ์ฅ์ฑ
- ์๋ฒ๋ฅผ ์ํ ํ์ฅ(Scaling Out) ํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด ์ค๋๋ค.
5-3. Reverse Proxy์ Load Balancer์ ๊ด๊ณ
- Reverse Proxy๋ ํด๋ผ์ด์ธํธ ↔ ์๋ฒ ์ฌ์ด์ ์๋ ์ค๊ฐ ์๋ฒ์ ๋๋ค.
- ์ด Reverse Proxy๊ฐ ์ฌ๋ฌ ์๋ฒ๋ก ํธ๋ํฝ์ ๋ถ์ฐํ๋ ๊ธฐ๋ฅ๊น์ง ์ํํ๋ฉด Load Balancer ์ญํ ์ ํ๋ Reverse Proxy๊ฐ ๋ฉ๋๋ค.
์ค์ ํ์ ์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์ด ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
- ํด๋ผ์ด์ธํธ → Nginx(Reverse Proxy + Load Balancer) → ์ฌ๋ฌ ๋์ WAS(Tomcat, Spring Boot ๋ฑ)
'๐ Computer Science > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์ธ์ฆ/์ธ๊ฐ (Authentication & Authorization) (0) | 2025.12.05 |
|---|---|
| HTTP์ ์น ํต์ ๊ธฐ์ด (0) | 2025.11.26 |