๐Ÿ“‚๋„คํŠธ์›Œํฌ&์„œ๋ฒ„/๐Ÿง๋ฆฌ๋ˆ…์Šค(Linux)

34์ผ์ฐจ(3.31) setuid s(4xxx), setgid s(2xxx), sitckybit t(1xxx) auth-basic htpasswd

๐Ÿ‘ฉ‍๐ŸŽ“์ธํ…”๋ฆฌ๊ฐ์ž๐Ÿฅ” 2023. 4. 10. 18:56

setuid s(4xxx), setgid s(2xxx), sitckybit t(1xxx)๋Š” ๊ธฐ์กด ๊ถŒํ•œ์— x๊ฐ€ ์žˆ์„ ๋•Œ๋งŒ ์ ์šฉ๋˜๊ณ , ์—†์œผ๋ฉด S, T๊ฐ€ ๋ถ™๋Š”๋ฐ, ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. 



  ์ผ๋ฐ˜์ ์œผ๋กœ Linux์—์„œ A ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ˆœ์„œ๋Š” '$HOME/bin์ด๋‚˜ $PATH์—์„œ A ๋ช…๋ น์–ด์˜ ์œ„์น˜๋ฅผ ์ฐพ๊ณ  =>A ๋ช…๋ น์–ด ์‹คํ–‰์ž์˜ ์‹คํ–‰๊ถŒํ•œ์„ ํ™•์ธํ•ด์„œ ์‹คํ–‰๊ถŒํ•œ์ด ์žˆ์œผ๋ฉด A ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ , ์—†์œผ๋ฉด A ๋ช…๋ น์–ด(ํŒŒ์ผ)์— SetUID๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ๋ณด๊ณ  =>SetUID๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ํ˜„์žฌ ์‹คํ–‰์ž์˜ UID๋กœ A ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ๋‹ค, ๊ทธ๋Ÿฌ๋‚˜ UID๊ฐ€ ์—†์œผ๋ฉด ์‹คํ–‰์ด ์•ˆ ๋œ๋‹ค '์ด๋‹ค. ๋ณด์•ˆ์ƒ ์œ„ํ—˜ํ•˜์ง€๋งŒ ํ™œ์šฉ์ƒ ์œ ์šฉํ•˜๋ฏ€๋กœ Linux ์‹œ์Šคํ…œ์€ ์ด๋Ÿฐ ์„ค์ •์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ด€๋ฆฌ์ž๊ฐ€ SetUID๊ฐ€ ์„ค์ •๋œ ํŒŒ์ผ๋“ค์„ ๋Š˜ ๊ฐ์‹œํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ์ „์—๋Š” ๋งŽ์€ ํŒŒ์ผ๋“ค์— SetUID๊ฐ€ ์„ค์ •๋˜์–ด์ ธ ์žˆ์—ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” ์ด๋Ÿฐ ๋ณด์•ˆ์ƒ ๋ฌธ์ œ๋กœ ์ธํ•ด์„œ ๋งŽ์ด ์ค„์–ด๋“ค์—ˆ๋‹ค. SetUID๋กœ ์„ค์ •๋œ ๋ถ€๋ชจ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„๋ž˜์— ์ƒ์„ฑ๋˜๋Š” ์ž์‹ ๋””๋ ‰ํ„ฐ๋ฆฌ/ํŒŒ์ผ์€ ๋ชจ๋‘ ๋ถ€๋ชจ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์†์„ฑ์„ ์ƒ์†(inherited)ํ•˜๊ฒŒ ๋œ๋‹ค. 

  user ๊ถŒํ•œ์— s๊ฐ€ ์žˆ๋Š” ํผ๋ฏธ์…˜์„ SetUID๊ฐ€ ์„ค์ •๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. root ์†Œ์œ ์˜ ํŒŒ์ผ์ด๋‚˜ ๋ช…๋ น์–ด์— SetUID๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋„ ํ•ด๋‹น ๋ช…๋ น์–ด๋‚˜ ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. 
=>centos ์ƒ์šฉ์ž๊ฐ€ cat /etc/shadow ํ•˜๋ฉด 
/usr/bin/cat ๋ช…๋ น์–ด๋Š” -r-xr-x-r-x์ด์–ด์„œ other๋„ x ๊ถŒํ•œ์ด ์žˆ์–ด์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.  
/etc/shadow ํŒŒ์ผ์€ --------- root root ์ด์–ด์„œ ์˜ค์ง root๋งŒ ์ž‘์—…ํ•˜๊ฒŒ ๋˜์–ด ์žˆ๋‹ค.
=>chmod 4222 /usr/bin/cat ํ•ด์„œ cat ๋ช…๋ น์–ด์— SetUID๋ฅผ ๊ฑธ๊ฑฐ๋‚˜ 
   chmod 4222 /etc/shadow ํ•ด์„œ /etc/shadow ํŒŒ์ผ์— SetUID๋ฅผ ๊ฑฐ๋ฉด 
   ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž centos๋„ ์ด /etc/shadow ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค!!!

SetUID๋‚˜ SetGID๋ฅผ ์—†์• ๋ ค๋ฉด chmod 0555์‹์œผ๋กœ ํ•˜๊ฑฐ๋‚˜ chomod u-s ํ•˜๋ฉด ๋œ๋‹ค. 

 

 

find / -user root -perm +4000 2> /dev/null
์ด ๋ช…๋ น์€ Linux/Unix ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๋Š” "find" ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. "find" ๋ช…๋ น์–ด๋Š” ์‹œ์Šคํ…œ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ "-user root"๋Š” ๋ฃจํŠธ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

"-perm +4000"์€ ์Šˆํผ์œ ์ € ๊ถŒํ•œ์ด ์žˆ๋Š” ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒŒ์ผ์€ "setuid" ๋˜๋Š” "setgid" ๋น„ํŠธ๊ฐ€ ์„ค์ •๋œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. "setuid" ๋˜๋Š” "setgid" ๋น„ํŠธ๊ฐ€ ์„ค์ •๋œ ํŒŒ์ผ์€ ํ•ด๋‹น ํŒŒ์ผ์ด ์‹คํ–‰๋  ๋•Œ ํŒŒ์ผ์˜ ์†Œ์œ ์ž ๋˜๋Š” ๊ทธ๋ฃน์˜ ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

"2> /dev/null"์€ ์˜ค๋ฅ˜ ์ถœ๋ ฅ์„ ๋ฌด์‹œํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š๋„๋กํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๋ช…๋ น์€ ์‹œ์Šคํ…œ์—์„œ ๋ฃจํŠธ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“ค๊ณ  ์Šˆํผ์œ ์ € ๊ถŒํ•œ์ด ์žˆ๋Š” ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ์ค‘์—๋Š” ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


  other ๊ถŒํ•œ์— t๊ฐ€ ์žˆ๋Š” ํผ๋ฏธ์…˜์„ Sticky bit๊ฐ€ ์„ค์ •๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์ด ๊ณต๋™์œผ๋กœ ์ด์šฉํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ํŒŒ์ผ ๋“ฑ์„ ๋„ฃ์–ด๋‘๊ณ  ๊ฑฐ๊ธฐ์— Sticky bit๋ฅผ ์„ค์ •ํ•ด๋‘๋ฉด /tmp ๋””๋ ‰ํ„ฐ๋ฆฌ์ฒ˜๋Ÿผ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์˜ ๊ณต์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋œ๋‹ค. 
  ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ root ์†Œ์œ ์ผ์ง€๋ผ๋„ ๋ˆ„๊ตฌ๋‚˜(other) ๋“ค์–ด์™€์„œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๋ฆฌ์ž๊ฐ€ ๊ณต์ง€์‚ฌํ•ญ์„ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ ๊ต์ˆ˜๊ฐ€ ๊ณผ์ œ ํŒŒ์ผ์„ ํ•™์ƒ๋“ค์—๊ฒŒ ์˜ฌ๋ฆฌ๊ฒŒ ํ•  ๋•Œ ๋“ฑ์—์„œ ์ด์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. 
  ํŠน์ • ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•ด์„œ ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน์— ๋Œ€ํ•ด์„œ root ๊ด€๋ฆฌ์ž๊ฐ€ setUID๋‚˜ setGID๋ฅผ ์„ค์ •ํ•ด์ฃผ์ง€๋งŒ, Sticky bit๋กœ ์„ค์ •ํ•ด๋‘๋ฉด ๊ด€๋ฆฌ์ž์˜ ๊ฐ„์„ญ ์—†์ด ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ํ•ด๋‹น ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

paul์€ /home/centos๋ฅผ ๋ณผ ์ˆ˜ ์—†๋‹ค.

 



  SetUID๋ฅผ ํ†ตํ•œ ์นจํˆฌ ์˜ˆ 2๊ฐ€์ง€ 
  ํ•ด์ปค๋Š” ํŒจ์Šค์›Œ๋“œ๊ฐ€ ์•ฝํ•˜๊ฑฐ๋‚˜ ์„ธ์…˜์„ ์—ด์–ด๋‘๊ณ  ์žˆ๋Š” ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ํ›”์ณ์„œ ์ผ๋‹จ ํƒ€๊ฒŸ ์‹œ์Šคํ…œ์—์„œ ์นจํˆฌํ•œ ๋‹ค์Œ, ๊ถŒํ•œ์ƒ์Šน์„ ํ†ตํ•ด์„œ root ๊ถŒํ•œ์„ ์–ป์€ ๋’ค, ์ค‘์š”ํ•œ ํŒŒ์ผ์— SetUID๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ƒ์˜ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž hacker๋ฅผ ๋งŒ๋“ค์–ด ๋‘๊ณ , ๋‚˜์ค‘์— ์ด SetUID๋ฅผ ์„ค์ •ํ•ด๋‘” ํŒŒ์ผ์ด๋‚˜ hacker ์‚ฌ์šฉ์ž๋ฅผ ํ†ตํ•ด์„œ root ๊ถŒํ•œ์„ ์‰ฝ๊ฒŒ ์–ป๊ธฐ๋„ ํ•œ๋‹ค. root ๊ถŒํ•œ์˜ ์ค‘์š”ํ•จ์„ ๊นจ๋‹ซ๊ฒŒ ํ•ด์ฃผ๋Š” ๋‘ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด์ž.
 
1) Race Condition ์นจํˆฌ
   Linux๋Š” C ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ์žˆ๋‹ค. Linux๊ฐ€ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์ด์–ด์„œ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์Œ์•…์„ ๋“ค์œผ๋ฉด์„œ ๋ฆฌํฌํŠธ๋ฅผ ์“ฐ๋Š” ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ์‹œ์Šคํ…œ์ด ๋™์‹œ์— ํ•˜๋‚˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ถŒํ•œ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋ฅผ ์ด์šฉํ•œ ๊ณต๊ฒฉ์ด race condition ๊ณต๊ฒฉ์ด๋‹ค. ๋ฉ€ํ‹ฐํƒœ์Šคํฌ ์ž‘์—…์€ ์•„์ฃผ ์ •๋ฐ€ํ•œ ์‹œ๊ฐ„ ์ฐจ์ด(time slot์œผ๋กœ ๋ถ€๋ฆ„)๋กœ ์ž‘์—…์„ ๋‚˜๋ˆˆ ๋’ค ์‹คํ–‰์ˆœ์„œ(sequences)๋ฅผ ๋ถ€์—ฌํ•ด์„œ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚ธ ๋’ค ๋˜ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š”๋ฐ ์‚ฌ๋žŒ์€ ์ด ์ฐจ์ด๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค. 

 

์‹ค์Šต

yum -y install gcc-c++
cp -arp /etc/passwd /etc/passwd.bak

nano racec.c

gcc racec.c -o racec

chmod 4777 /etc/passwd (SETUID)

ls -l /etc/passwd

head -1 /etc/passwd

./racec /etc/passwd hacker::0:0:root:/root:/bin/bash

์ด ๋ช…๋ น์€ "./racec"๋ผ๋Š” ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. "./"๋Š” ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์‹คํ–‰ ํŒŒ์ผ์„ ์ฐพ์œผ๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. "racec"๋Š” ์‹คํ–‰ ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

๊ทธ ๋‹ค์Œ์—๋Š” "/etc/passwd"์™€ ๊ฐ™์€ ๊ฒฝ๋กœ์™€ ํ•จ๊ป˜ "hacker::0:0:root:/root:/bin/bash"์™€ ๊ฐ™์€ ๋ฌธ์ž์—ด์ด ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ž์—ด์€ "/etc/passwd" ํŒŒ์ผ์— ์ƒˆ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถ”์ธก๋ฉ๋‹ˆ๋‹ค.

"/etc/passwd" ํŒŒ์ผ์€ Linux/Unix ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ์ž ๊ณ„์ • ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๊ฐ ์ค„์€ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ํ•„๋“œ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ํ•„๋“œ๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„, ์•”ํ˜ธํ™”๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ, ์‚ฌ์šฉ์ž ID, ๊ทธ๋ฃน ID, ์‚ฌ์šฉ์ž ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ, ๋กœ๊ทธ์ธ ์…ธ ๊ฒฝ๋กœ ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

"hacker::0:0:root:/root:/bin/bash"๋Š” ์ƒˆ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์ด ์‚ฌ์šฉ์ž๋Š” "hacker"๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๋ฉฐ, ์•”ํ˜ธํ™”๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋ˆ„๊ตฌ๋‚˜ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ID์™€ ๊ทธ๋ฃน ID๋Š” ๋ชจ๋‘ 0์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋Š” "/root"๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ์ด ์‚ฌ์šฉ์ž๋Š” "/bin/bash" ๋กœ๊ทธ์ธ ์…ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์–ด๋Š” ์‹œ์Šคํ…œ์— ์ž„์˜์˜ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ์•…์˜์ ์ธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋ณด์•ˆ ์œ„ํ˜‘์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

hacker@centos1 centos]# cat /etc/passwd
hacker::0:0:root:/root:/bin/bash
[hacker@centos1 centos]# su centos
su: user centos does not exist

 

์ด ๋ช…๋ น์–ด๋Š” "hack.c"๋ผ๋Š” ์†Œ์Šค ์ฝ”๋“œ ํŒŒ์ผ์„ ์ปดํŒŒ์ผ๋Ÿฌ์ธ GCC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ "hackk"๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
"-o" ์˜ต์…˜์€ ์ถœ๋ ฅ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ "hack.c" ํŒŒ์ผ์—์„œ ์ƒ์„ฑ๋œ ์‹คํ–‰ ํŒŒ์ผ์˜ ์ด๋ฆ„์€ "hackk"๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
"GCC"๋Š” GNU Compiler Collection์˜ ์•ฝ์ž์ด๋ฉฐ, C์™€ C++์„ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ด ๋ช…๋ น์–ด๋Š” "hack.c" ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜์—ฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ "hackk" ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

hack.c  ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜์—ฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ hackk ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ๊ณ , 4777๋กœ setuid๋ฅผ ์คฌ๋‹ค.

 

"find / -user root -perm 777 -print | less" ๋ช…๋ น์–ด๋Š” ์ „์ฒด ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ("/")๋ฅผ ์‹œ์ž‘์œผ๋กœ ์‚ฌ์šฉ์ž "root"๊ฐ€ ์†Œ์œ ํ•œ ๊ถŒํ•œ์ด "777"๋กœ ์„ค์ •๋œ ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

"-print" ์˜ต์…˜์€ ์ฐพ์€ ๋ชจ๋“  ์ผ์น˜ํ•˜๋Š” ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ดํ”„ ๊ธฐํ˜ธ "|"๋Š” "find" ๋ช…๋ น์˜ ์ถœ๋ ฅ์„ "less" ๋ช…๋ น์œผ๋กœ ๋ณด๋‚ด์–ด ์ถœ๋ ฅ์„ ํ•œ ํ™”๋ฉด์”ฉ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์–ด๋Š” ์ง€๋‚˜์น˜๊ฒŒ ๊ถŒํ•œ์ด ๊ฐœ๋ฐฉ๋œ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐพ์•„ ๋ณด์•ˆ ์œ„ํ—˜์„ ์ค„์ผ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

2) ํŒŒ์ผ ๊ต์ฒด๊ธฐ๋ฒ•
  ์ด๋ฒˆ์—๋Š” ๊ธฐ์กด์˜ root ์†Œ์œ ์˜ ์‹คํ–‰ ํŒŒ์ผ์„ ์•…์„ฑ์ฝ”๋“œ๋กœ ๊ต์ฒดํ•ด์„œ ํ•ด์ปค๊ฐ€ root ๊ถŒํ•œ์„ ์–ป์–ด ๋ณด์ž.

  SSL(Secure Socket Layer)
  SSL์„ ์ด์šฉํ•œ ํ‚ค๋กœ ssh, scp, https, sftp ๋“ฑ์— ํ™œ์šฉํ•˜๋ฉด ์ผ๋ฐ˜์ ์ธ ํ‰๋ฌธ์žฅ ์—ฐ๊ฒฐ์ด ์•„๋‹Œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ์„ ์ด๋ฃจ๋ฏ€๋กœ ๋ณด์•ˆ์ด ์ข‹์•„์ง„๋‹ค. ์œ ๋ช… ํฌํ„ธ ์‚ฌ์ดํŠธ๋Š” ์ด๋ฏธ ๋ถˆํŠน์ • ์‚ฌ์šฉ์ž๋“ค์ด ์ ‘์†ํ•˜๋Š” ๊ฒƒ์„ ๋Œ€๋น„ํ•ด์„œ ๊ฐ ๋ธŒ๋ผ์šฐ์ €๋ณ„๋กœ ์ธ์ฆ์„œ๋ฅผ ๋„ฃ์–ด ๋‘์—ˆ๋‹ค. ์ค‘์†Œ๊ธฐ์—…์—์„œ๋Š” ์ž์‹ ์˜ SSL์„ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์— ์ ‘์†ํ•˜๋ ค๋ฉด ๋ธŒ๋ผ์šฐ์ €์— SSL ํ‚ค๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.   

์ธ์ฆ์„œ๊ฐ€ ์—†๊ณ  ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค.



  ์ธ์ฆ์„œ์˜ ๋‚ด์šฉ์€ CN(Common Name), O(Organization), OU(Organizational Unit) ๋“ฑ๊ณผ Fingerprints์—์„œ SHA-256๊ณผ ๊ฐ™์€ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜, Period of Validity์—์„œ ํ‚ค์˜ ์œ ํšจ๊ธฐ๊ฐ„ ๋“ฑ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์œ ๋ช… ์‚ฌ์ดํŠธ๋Š” ๊ฐ์ข… ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ด๋ฏธ ํ•ด๋‹น ์‚ฌ์ดํŠธ์˜ ์ธ์ฆํ‚ค๋ฅผ ๋„ฃ์–ด์„œ ๋ˆ„๊ตฌ๋‚˜ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ์ด์œ ๋Š” https ์ƒํƒœ์—์„œ๋Š” ํ†ต์‹  ์ค‘์— ํŒจํ‚ท์ด ์ถ”์ถœ๋˜์–ด๋„ ์ด ์ธ์ฆ์„œ์˜ ํ‚ค๊ฐ€ ์—†์œผ๋ฉด ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜ ๋ณผ ์ˆ˜ ์—†๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. 
  
  SSL์€ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•ด์„œ ํด๋ผ์ด์–ธํŠธ๋“ค์˜ ์›น๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋ฐฐํฌํ•ด์„œ, ์„œ๋ฒ„ ์ธํ„ฐํŽ˜์ด์Šค(์†Œ์ผ“)๋กœ ์ ‘์†ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋“ค์„ ์ธ์ฆํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ์ด๋‹ค. ์„œ๋ฒ„์— ์ž์ฒด์ ์œผ๋กœ ์ธ์ฆํ•œ ์ธ์ฆ์„œ๋ฅผ ๋‘๊ฑฐ๋‚˜ VeriSign, COMODO, DigiCert, Global sign, Go Daddy, Microsoft Root, Thawte Premium,..๊ณผ ๊ฐ™์€ ๊ณต์ ์ธ ์ธ์ฆ๊ธฐ๊ด€์—์„œ ๋ฐœํ–‰ํ•œ ์ธ์ฆ์„œ๋ฅผ ๋‘๊ณ  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค์šด๋ฐ›์•„์„œ ์ž์‹ ์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋„ฃ์–ด๋‘๊ณ  ์ ‘์†ํ•˜๊ฒŒ ํ•œ๋‹ค. ์ธ์ฆ์„œ๋Š” heartbleed๋ผ๋Š” ์ทจ์•ฝ์ ๋„ ๋ฐœ๊ฒฌ๋˜๊ธฐ๋„ ํ•˜์ง€๋งŒ ํ˜„์žฌ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์ดํŠธ๋Š” SSL์„ ์‚ฌ์šฉํ•ด์„œ https๋กœ ์ ‘์†ํ•˜๊ฒŒ ํ•œ๋‹ค. 

  SSL์€ Transport(TCP) ์ธต์˜ TLS ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— SSL์„ TLS๋กœ๋„ ๋ถ€๋ฅด๋Š”๋ฐ HTTPS(HTTP over SSL), SMTPS(SMTP over SSL), SFTP OR FTPS(FTP over SSL) ๋“ฑ์ด ์žˆ๋‹ค. FTPS๋Š” ์‚ฌ์šฉ์ž๋ช…, ํŒจ์Šค์›Œ๋“œ, ๊ทธ๋ฆฌ๊ณ  ์ธ์ฆ์„œ๋กœ ์ธ์ฆํ•˜๊ณ , SFTP(FTP over SSH)๋Š” ์‚ฌ์šฉ์ž์™€ ํŒจ์Šค์›Œ๋“œ๋กœ ์ธ์ฆํ•˜๋ฉฐ, FTP๋Š” anonymous(์ต๋ช…) ์‚ฌ์šฉ์ž์™€ ํŒจ์Šค์›Œ๋“œ ์—†์ด๋„ ์ธ์ฆ๋œ๋‹ค. 

  ๊ฐ€๋” ์ด SSL๊ณผ SSH๋ฅผ ํ˜ผ๋™ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ
โ–ช SSH๋Š” A๊ฐ€ B์— ์ ‘์†ํ•  ๋•Œ ํ‰๋ฌธ์žฅ Telnet ๋Œ€์‹  A์˜ ์ธ์ฆ์„œ๋กœ B์—๊ฒŒ์„œ ํ—ˆ๋ฝ(์ธ์ฆ)๋ฐ›์•„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๊ณ 
โ–ช SSL์€ A๊ฐ€ ssh๋กœ B์— ์ ‘์†ํ•  ๋•Œ B์˜ ์ธ์ฆ์„œ๋กœ A๋ฅผ ์ธ์ฆํ•ด ์ฃผ๋Š” ํ‚ค ์ƒ์„ฑ ๋ชจ๋“ˆ์ด๋‹ค.
  
  ์กฐ์ง์—์„œ https:// ~ ์›น ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•  ๋•Œ(์ด ์›น ์„œ๋ฒ„์— ์ ‘์†์„ ์ œํ•œํ•˜๋Š” .htpasswd ์„ค์ •๊ณผ ํ•จ๊ป˜) ํด๋ผ์ด์–ธํŠธ ๋ธŒ๋ผ์šฐ์ €์— ์ด SSL ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž๋งŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์„œ ๋ณด์•ˆ์„ ๋”์šฑ ๊ฐ•ํ™”ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. 


  ์กฐ์ง์—์„œ ์‚ฌ์„ค ์›น ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋Š” ๊ฒฝ์šฐ 

1. '๊ฐœ์ธํ‚ค(key) ์ƒ์„ฑ =>

2. ์ธ์ฆ์„œ ์š”์ฒญ์„œ(csr) ์ƒ์„ฑ =>

3. ์ •์‹ ์ธ์ฆ์„œ(crt) ์ƒ์„ฑ(OR ์‚ฌ์šฉ์ž ๊ฐœ์ธํ‚ค key์™€ ๊ณต๊ฐœํ‚ค crt๋ฅผ ํ•ฉ์นœ pem) =>

4. ์›น ์„œ๋ฒ„์„ค์ •์˜ /etc/httpd/conf/httpd.conf ํŒŒ์ผ์—์„œ ์ธ์ฆ์„œ ์œ„์น˜ ์ง€์ • =>

5. SSL ์„ค์ •์„ ์œ„ํ•œ ssl.conf ํŒŒ์ผ์—์„œ ์ธ์ฆ์„œ ์œ„์น˜ ์ง€์ • =>

6. ํด๋ผ์ด์–ธํŠธ์˜ ์›น๋ธŒ๋ผ์šฐ์ €์— ํ•ด๋‹น ์„œ๋ฒ„์˜ crt ํ‚ค ๋“ฑ๋ก =>

7. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด crt ํ‚ค๋กœ ์ธ์ฆ ๋ฐ›์•„์„œ ํ•ด๋‹น ์›น ์„œ๋ฒ„์— https:// ~ ๋กœ ์ ‘์†' ์ˆœ์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค. 


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

 

์‹ค์Šต

yum -y install mod_ssl httpd httpd-tools

SSL์— ๊ด€๋ จ๋œ http์— ๊ด€๋ จ๋œ ๋ชจ๋“  ํŒจํ‚ค์ง€ ์„ค์น˜

 

cd /etc/pki/tls <<ํ‚ค๋ง

cat private/localhost.key 

๋„๋ฉ”์ธ ์›น์„œ๋ฒ„ ๊ฐœ์ธํ‚ค ์ƒใ…Ž์„ฑ

## When you send these two ~.csr and ~.key files to Quthorized Cerificate bureau, you get ~.crt file

## key => csr => ert (key+crt=pem) : /etc/pki/tls

## Not public key, but private key will be made for www.kahn.edu domain web server

crt ๋ฐœ๊ธ‰ ์™„๋ฃŒ

์‹คํ–‰

 

์•— ์˜คํƒ€ ์žˆ๋”ฐ!!!!certs

์ด ์ฝ”๋“œ๋Š” ์•„ํŒŒ์น˜ ์›น ์„œ๋ฒ„์—์„œ SSL(์•”ํ˜ธํ™”๋œ ํ†ต์‹ )์„ ์‚ฌ์šฉํ•˜์—ฌ www.kahn.edu ๋„๋ฉ”์ธ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” HTTPS ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋ฆ„ ๊ธฐ๋ฐ˜ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ(Name VirtualHost) ์„ค์ •์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, *:443 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTTPS ์—ฐ๊ฒฐ์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.
<VirtualHost> ํƒœ๊ทธ๋Š” ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. ์ด ๋ธ”๋ก์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ค์ •์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
SSLEngine on: SSL ์—”์ง„์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.SSLCertificateFile: SSL ์ธ์ฆ์„œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” /etc/pki/tls/certs/www.kahn.edu.crt ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.SSLCertificateKeyFile: SSL ์ธ์ฆ์„œ์˜ ๊ฐœ์ธ ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” /etc/pki/tls/certs/www.kahn.edu.key ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.DocumentRoot: HTTP ์š”์ฒญ์— ๋Œ€ํ•ด ์›น ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ๋ฌธ์„œ์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” /var/www/html์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.ServerName: ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” www.kahn.edu๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.ErrorLog: ์˜ค๋ฅ˜ ๋กœ๊ทธ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” /var/log/ssl_kahn_edu_error.log ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ด ์„ค์ •์€ www.kahn.edu ๋„๋ฉ”์ธ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” HTTPS ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ด๊ณ , /etc/pki/tls/certs ๋””๋ ‰ํ† ๋ฆฌ์—์„œ SSL ์ธ์ฆ์„œ์™€ ๊ฐœ์ธ ํ‚ค ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์—ฌ SSL ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTTP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ์š”์ฒญ์€ /var/www/html ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ๋ฌธ์„œ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์˜ค๋ฅ˜ ๋กœ๊ทธ๋Š” /var/log/ssl_kahn_edu_error.log ํŒŒ์ผ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.

 

nano -c /etc/httpd/conf.d/ssl.conf (์•„ํŒŒ์น˜ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ SSL์„ค์ • ๋ณ€๊ฒฝ)

๋ฐฉํ™”๋ฒฝ๋„ ์—ด์–ด์ค€๋‹ค.(http,https)

setenforce 0

service httpd restart

 

์—๋Ÿฌ ๋– ์„œ ์ด๊ฑธ๋กœ ์ฝ”๋“œ ๋ฐ”๊ฟ”์ฃผ๊ณ  ์žฌ์‹œ์ž‘ ํ–ˆ๋‹ค

 

.htpasswd๋Š” ์›น ์„œ๋ฒ„์— ์ ‘์† ํ•  ๋•Œ ๋ณ„๋„์˜ ํŒจ์Šค์›Œ๋“œ๊ฐ€ ์žˆ์–ด์•ผ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค. 

http ๋Œ€์‹  ํ‚ค๊ฐ€ ํ”ผ๋ฃกํ•œ https๋กœ ์ ‘์†ํ•˜๊ธฐ๋„ ํ•˜์ง€๋งˆ ใ„ด์—ฌ๊ธฐ์— .htpasswd๋ฅผ ์„ค์ •ํ•ด์ฃผ๋ฉด๋”์šฑ ๋ณด์•ˆ์ด ๊ฐ•ํ•ด์ง„๋‹ค. 

 

nano /etc/httpd/conf/auth-basic.conf

/var/www/html/index.html์„ ์ง€๋‚˜๊ฐ€์•ผ ๋˜๋Š”๋ฐ ๊ฑฐ๊ธฐ์— auth basic์„ ๊ฑธ์–ด๋†จ์œผ๋‹ˆ htpasswd์˜ ์ธ์ฆ์„ ๊ฑฐ์ณ์•ผ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ์ฝ”๋“œ๋Š” Apache ์›น ์„œ๋ฒ„์—์„œ Basic ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ์„ค์ •์„ ํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
<Directory> ํƒœ๊ทธ๋กœ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ /var/www/html/auth-basic ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.AuthType Basic์€ Basic ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์„ค์ •์ž…๋‹ˆ๋‹ค.AuthName์€ ๋กœ๊ทธ์ธ ๋Œ€ํ™”์ƒ์ž์— ๋‚˜ํƒ€๋‚  ๋ฉ”์‹œ์ง€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” "Basic Authentication"์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.AuthUserFile์€ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋ฅผ ์ €์žฅํ•œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ /etc/httpd/conf/.htpasswd ํŒŒ์ผ์ด ์ง€์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.require valid-user๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค๋Š” ์„ค์ •์ž…๋‹ˆ๋‹ค.
์ด ์„ค์ •์„ ์ ์šฉํ•˜๋ฉด /var/www/html/auth-basic ๋””๋ ‰ํ† ๋ฆฌ์— ์ ‘๊ทผํ•  ๋•Œ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ฒŒ ๋˜๊ณ , ์ž…๋ ฅํ•œ ์ •๋ณด๊ฐ€ /etc/httpd/conf/.htpasswd ํŒŒ์ผ์— ๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

htpasswd -c /etc/httpd/conf/.htpasswd centos

์ด ๋ช…๋ น์–ด๋Š” /etc/httpd/conf/.htpasswd ํŒŒ์ผ์— centos ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. "-c" ์˜ต์…˜์€ ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฎ์–ด์”Œ์šฐ๋ผ๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ƒˆ๋กœ์šด /etc/httpd/conf/.htpasswd ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๋ฉฐ, ์ด ํŒŒ์ผ์—๋Š” "centos" ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ์ •๋ณด๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ดํ›„์— ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ๋Š” ์ด ํŒŒ์ผ์— ์ €์žฅ๋œ ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๋ณด์•ˆ ์ด์ค‘

 

cp -arp /etc/pki/tls/certs/www.kahn.edu.crt /home/centos/Desktop(๋ณต์‚ฌ, ๋”ด ๋ฐ ์ค„๋ผ๊ณ )

 

shared๋„ ์•ˆ๋˜๊ณ ~~~ usb๋„ ์•ˆ๋ผ์„œ~~

scp /home/centos/Desktop/www.kahn.edu.crt ubuntu@192.168.100.134:/home/ubuntu/Desktop/www.kahn.edu.crt์ด๊ฑธ๋กœ ๋ณด๋ƒˆ๋‹ค... ์‹œ๊ฐ„ ์•„๊นŒ์›Œ...

 

ํƒ€๊ฒŸ๋จธ์‹ ํ•œ๋ฐ ํ‚ค๋ฅผ ๋ณด๋ƒˆ๋‹ค.

[root@centos1 centos]# ls /var/www/html
index.html
[root@centos1 centos]# rm -rf /var/www/html/index.html

mkdir /var/www/html/auth-basic           auth-basic์„ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

echo "<h1>Secured CentOS Web Page</h1>" > /var/www/html/auth-basic/index.html  ๊ทธ ์•„๋ž˜์— index.html์„ ๋งŒ๋“ค์–ด์คฌ๋‹ค.

service httpd restart

 

์ด๊ฒŒ ๋œจ๊ธด ํ•˜๋Š”๋ฐ... ์™œ ์ค‘๊ฐ„ ๊ณผ์ •์—

์ด๊ฒŒ ์•ˆ ๋œฐ๊นŒ??

์•”ํŠผ ....ใ…Žใ…Ž ์ข…๋ฃŒ