ํŠน์ • ๊ทœ์น™์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ถŒํ•œ ์ƒ์Šน์„ ํ—ˆ์šฉํ•˜๋Š” sudo์˜ ์ทจ์•ฝ์ 

์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ๋Š” ์ˆ˜๋„, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ๋ช…๋ น ์‹คํ–‰์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ™•์ธ๋จ ์ทจ์•ฝ์  (CVE-2019-14287), ๋ฃจํŠธ ๊ถŒํ•œ์œผ๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” sudoers ์„ค์ •์— ํ—ˆ์šฉ ํ‚ค์›Œ๋“œ "ALL" ๋’ค์˜ ์‚ฌ์šฉ์ž ID ํ™•์ธ ์„น์…˜์—์„œ ๋ฃจํŠธ ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰์„ ๋ช…์‹œ์ ์œผ๋กœ ๊ธˆ์ง€ํ•˜๋Š” ๊ทœ์น™์ด ์žˆ๋Š” ๊ฒฝ์šฐ("... (์ „์ฒด, !๋ฃจํŠธ) ..."). ๋ฐฐํฌํŒ์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์—๋Š” ์ทจ์•ฝ์ ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

sudoers์— ๋ฃจํŠธ๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ UID์—์„œ ํŠน์ • ๋ช…๋ น์˜ ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” ์œ ํšจํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทนํžˆ ๋“œ๋ฌธ ๊ทœ์น™์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ณต๊ฒฉ์ž๋Š” ์„ค์ •๋œ ์ œํ•œ์„ ์šฐํšŒํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํŠธ ๊ถŒํ•œ. ์ œํ•œ์„ ์šฐํšŒํ•˜๋ ค๋ฉด UID "-1" ๋˜๋Š” "4294967295"๋กœ ์„ค์ •์— ์ง€์ •๋œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด ๋ณด์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋ฉด UID 0์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ชจ๋“  UID์—์„œ /usr/bin/id ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ์„ค์ • ๊ทœ์น™์ด ์žˆ๋Š” ๊ฒฝ์šฐ:

myhost ALL = (ALL, !root) /usr/bin/id

๋˜๋Š” ํŠน์ • ์‚ฌ์šฉ์ž bob์— ๋Œ€ํ•ด์„œ๋งŒ ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” ์˜ต์…˜:

myhost bob = (ALL, !root) /usr/bin/id

์‚ฌ์šฉ์ž๋Š” ์„ค์ •์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ๊ธˆ์ง€ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  "sudo -u '#-1' id"๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ /usr/bin/id ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋ฃจํŠธ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. UID ๋ณ€๊ฒฝ์œผ๋กœ ์ด์–ด์ง€์ง€ ์•Š๋Š” ํŠน์ˆ˜๊ฐ’ "-1" ๋˜๋Š” "4294967295"๋ฅผ ๊ฐ„๊ณผํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, sudo ์ž์ฒด๊ฐ€ ์ด๋ฏธ UID ๋ณ€๊ฒฝ ์—†์ด ๋ฃจํŠธ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์ƒ ๋ช…๋ น๋„ ๋ฃจํŠธ ๊ถŒํ•œ์œผ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

SUSE ๋ฐ openSUSE ๋ฐฐํฌํŒ์—๋Š” ๊ทœ์น™์— "NOPASSWD"๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ทจ์•ฝ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•…์šฉํ•  ์ˆ˜ ์—†์Œ, sudoers์—์„œ๋Š” "Defaults targetpw" ๋ชจ๋“œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋น„๊ตํ•˜์—ฌ UID๋ฅผ ํ™•์ธํ•˜๊ณ  ๋Œ€์ƒ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์˜ ๊ทœ์น™์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ณต๊ฒฉ์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id

๋ฆด๋ฆฌ์Šค์—์„œ ์ˆ˜์ •๋œ ๋ฌธ์ œ ์Šค๋„ 1.8.28. ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋‹ค์Œ ํ˜•์‹์œผ๋กœ๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜์ . ๋ฐฐํฌ ํ‚คํŠธ์—์„œ ์ทจ์•ฝ์ ์€ ์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋น„์•ˆ, ์•„์น˜ ๋ฆฌ๋ˆ…์Šค, ์ˆ˜์„ธ/์˜คํ”ˆ์ˆ˜์„ธ, Ubuntu, ์  ํˆฌ ะธ FreeBSD์˜. ๊ธ€์„ ์“ฐ๋Š” ์‹œ์ ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. RHEL ะธ ํŽ˜๋„๋ผ. ์ด ์ทจ์•ฝ์ ์€ Apple์˜ ๋ณด์•ˆ ์—ฐ๊ตฌ์›์— ์˜ํ•ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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