RakkoTools

Htpasswd ์ƒ์„ฑ๊ธฐ

.htpasswd ํŒŒ์ผ์— ์„ค๋ช… ๋œ ํ•ด์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ

๋งˆ์Œ์— ๋“œ๋Š”์— ์ถ”๊ฐ€
ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ :

์–ด๋–ค์ด ๋„๊ตฌ๊ฐ€ ํ•  ์ˆ˜

ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด .htpasswd์— ๋„ฃ์„ ์ˆ˜์žˆ๋Š” ID์™€ ํ•ด์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

htpasswd ํŒŒ์ผ์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

BASIC ์ธ์ฆ์ด๋ผ๋Š” HTTP ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ, ํด๋” ๋˜๋Š” ์ „์ฒด ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ .htaccess ํŒŒ์ผ์— ์„ค๋ช… ๋œ ๊ทœ์น™์— ๋”ฐ๋ผ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์ •๋ณด๋Š” ์‚ฌ์šฉ์ž ๋‹น ํ•œ ์ค„๋กœ ์ž‘์„ฑ๋˜๋ฉฐ ๊ฐ ์ค„์—๋Š” ์ฝœ๋ก  (:)์œผ๋กœ ๊ตฌ๋ถ„ ๋œ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ด๋ฆ„์€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ €์žฅ๋˜์ง€๋งŒ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ํ•ด์‹œ ์–‘์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
์•”ํ˜ธ ํŒŒ์ผ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ Apache๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ .htpasswd๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋„ํŠธ ํŒŒ์ผ ( '' ''๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ)์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ์ด๋ฏ€๋กœ '.htpasswd'๋ฅผ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • md5 (APR) $ apr1 $ ์ ‘๋‘์‚ฌ
    128 ๋น„ํŠธ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
    ์ด๊ฒƒ์ด 2.2.18 ์ด์ƒ ๋ฒ„์ „์—์„œ ๊ธฐ๋ณธ๊ฐ’์ด์ง€๋งŒ ์ตœ๊ทผ ๋ช‡ ๋…„ ๋™์•ˆ ์ถฉ๋ถ„ํžˆ ์•ˆ์ „ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
    ํ˜ธํ™˜์„ฑ : Apache ๋ชจ๋“  ๋ฒ„์ „, Nginx 1.0.3 ์ด์ƒ
  • crypt () ๋˜๋Š” ์ ‘๋‘์‚ฌ๊ฐ€์—†๋Š” crypt (3)
    ์•„ํŒŒ์น˜ ๋ฒ„์ „ 2.2.17๊นŒ์ง€๋Š” ๊ธฐ๋ณธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์—ˆ์ง€๋งŒ ์•”ํ˜ธ๋Š” 8 ์ž๋กœ ์ œํ•œ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.
    ํ˜ธํ™˜์„ฑ : Apache, Nginx ๋ชจ๋“  ๋ฒ„์ „
  • SHA-1 {SHA} ์ ‘๋‘์‚ฌ
    160 ๋น„ํŠธ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
    ๋งŽ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœํ† ์ฝœ์—์„œ ์ฑ„ํƒ๋˜์—ˆ์ง€๋งŒ ์ตœ๊ทผ ํ‘œ์ค€์œผ๋กœ๋Š” ์•ˆ์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    ํ˜ธํ™˜์„ฑ : ๋ชจ๋“  Apache ๋ฒ„์ „, Nginx 1.3.13 ์ด์ƒ
  • bcrypt $ 2y $ ๋˜๋Š” $ 2a $ prefix
    ๋ณต์–ด ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ๊ทผ์— ๋น„๊ต์  ์•ˆ์ „ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
    ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฏ€๋กœ ์•ˆ์ „ํ•œ ์ด์œ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
    ์ด ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๊ณ„์‚ฐ ์‹œ๊ฐ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๊ฐ€ ํด์ˆ˜๋ก ๋ณต์žกํ•˜๊ณ  ์•ˆ์ „ํ•˜์ง€๋งŒ ์ƒ์„ฑ ์†๋„๊ฐ€ ๋Š๋ฆฝ๋‹ˆ๋‹ค.
    * ๋งค์šฐ ๋ฌด๊ฑฐ ์šฐ๋ฏ€๋กœ 10 ์ด์ƒ์˜ ๊ฐ’์„ ์„ค์ •ํ•˜์ง€ ์•Š๋„๋ก์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค.
    ํ˜ธํ™˜์„ฑ : Apache 2.4 ์ด์ƒ (apr-util 1.5 ์ด์ƒ ํ•„์š”)

์— ์œ ์šฉํ•œ

  • ์›น ์„œ๋ฒ„์—์„œ ๊ธฐ๋ณธ ์ธ์ฆ (apache, nginx)์„ ์„ค์ •ํ•  ๋•Œ .htpasswd ํŒŒ์ผ์— ์“ธ ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ ํ•ด์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ…์ŠคํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑ

๊ด€๋ จ ๋„๊ตฌ