๋ฉ์ผ ์๋ฒ์์ Exim ๋ฒ์ 4.87...4.91์ ์ฌ์ฉํ๋ ๋๋ฃ - CVE-4.92-2019๋ฅผ ํตํ ํดํน์ ํผํ๊ธฐ ์ํด ์ด์ ์ Exim ์์ฒด๋ฅผ ์ค์งํ ํ ๋ฒ์ 10149๋ก ๊ธด๊ธ ์ ๋ฐ์ดํธํ์ญ์์ค.
์ ์ธ๊ณ ์๋ฐฑ๋ง ๋์ ์๋ฒ๊ฐ ์ ์ฌ์ ์ผ๋ก ์ทจ์ฝํ๋ฉฐ ์ด ์ทจ์ฝ์ฑ์ ์ฌ๊ฐํ ์์ค์ผ๋ก ํ๊ฐ๋ฉ๋๋ค(CVSS 3.0 ๊ธฐ๋ณธ ์ ์ = 9.8/10). ๊ณต๊ฒฉ์๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ฃจํธ์์ ์๋ฒ์ ์์ ๋ช
๋ น์ ์คํํ ์ ์์ต๋๋ค.
์์ ๋ ๋ฒ์ (4.92)์ด๋ ์ด๋ฏธ ํจ์น๋ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ธ์.
์๋๋ฉด ๊ธฐ์กด ํจ์น๋ฅผ ํจ์นํ์ธ์. ์ค๋ ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
์
๋ฐ์ดํธ ๋์ CentOS 6: ์ผํฐ๋ฏธํฐ.
UPD: ์ฐ๋ถํฌ๊ฐ ์ํฅ์ ๋ฐ์์ต๋๋ค 18.04 ๋ฐ 18.10, ์
๋ฐ์ดํธ๊ฐ ์ถ์๋์์ต๋๋ค. ๋ฒ์ 16.04 ๋ฐ 19.04๋ ์ฌ์ฉ์ ์ ์ ์ต์
์ด ์ค์น๋์ด ์์ง ์์ผ๋ฉด ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์
์ด์ ์ค๋ช ๋ ๋ฌธ์ ๊ฐ (์๋ง๋ ๋ด์ ์ํด) ํ๋ฐํ๊ฒ ์ ์ฉ๋๊ณ ์์ผ๋ฉฐ ์ผ๋ถ ์๋ฒ(4.91์์ ์คํ)์์ ๊ฐ์ผ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค.
์ถ๊ฐ ์๋ฃ๋ ์ด๋ฏธ "ํด๋ํ" ์ฌ์ฉ์์๊ฒ๋ง ํด๋น๋ฉ๋๋ค. ์๋ก์ด ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๊ฒ์ ๊นจ๋ํ VPS๋ก ์ ์กํ๊ฑฐ๋ ์๋ฃจ์ ์ ์ฐพ์์ผ ํฉ๋๋ค. ์๋ํด ๋ณผ๊น์? ๋๊ตฌ๋ ์ง ์ด ์ ์ฑ์ฝ๋๋ฅผ ๊ทน๋ณตํ ์ ์๋์ง ์ ์ด๋ณด์ธ์.
Exim ์ฌ์ฉ์์ด๋ฉด์ ์ด ๊ธ์ ์ฝ๊ณ ๊ณ์๋ค๋ฉด ์์ง ์ ๋ฐ์ดํธํ์ง ์์ผ์ จ๋ค๋ฉด(4.92 ๋๋ ํจ์น ๋ฒ์ ์ด ์ฌ์ฉ ๊ฐ๋ฅํ์ง ํ์ธํ์ง ์์ผ์ จ๋ค๋ฉด), ์ ๋ฐ์ดํธ๋ฅผ ์ค๋จํ๊ณ ์คํํ์๊ธฐ ๋ฐ๋๋๋ค.
์ด๋ฏธ ๋์ฐฉํ์ ๋ถ๋ค์ ์ํด ๊ณ์ ์งํํ๊ฒ ์ต๋๋ค.
UPD :
๋งค์ฐ ๋ค์ํ ์ ์ฑ์ฝ๋๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ชป๋ ๊ฒ์ ์ฝ์ ๋ฐ์ฌํ๊ณ ๋๊ธฐ์ด์ ์ญ์ ํ๋ฉด ์ฌ์ฉ์๋ ์น๋ฃ๋์ง ์์ผ๋ฉฐ ์น๋ฃ๊ฐ ํ์ํ์ง ์์ง ๋ชปํ ์๋ ์์ต๋๋ค.
๊ฐ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ ๋๋๋ค. [kthrotlds]๊ฐ ํ๋ก์ธ์๋ฅผ ๋ก๋ํฉ๋๋ค. ์ฝํ VDS์์๋ 100%์ด๊ณ , ์๋ฒ์์๋ ์ฝํ์ง๋ง ๋์ ๋๋๋ค.
๊ฐ์ผ ํ ์ ์ฑ ์ฝ๋๋ cron ํญ๋ชฉ์ ์ญ์ ํ๊ณ 4๋ถ๋ง๋ค ์คํ๋๋๋ก ์์ ๋ง ๋ฑ๋กํ๋ฉฐ crontab ํ์ผ์ ๋ณ๊ฒฝํ ์ ์๊ฒ ๋ง๋ญ๋๋ค. ํฌ๋ก ํญ -e ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ ์ ์์ผ๋ฉฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด Immutable์ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ฑฐํ ๋ค์ ๋ช ๋ น์ค(1.5kb)์ ์ญ์ ํ ์ ์์ต๋๋ค.
chattr -i /var/spool/cron/root
crontab -e
๋ค์์ผ๋ก crontab ํธ์ง๊ธฐ(vim)์์ ํด๋น ์ค์ ์ญ์ ํ๊ณ ์ ์ฅํฉ๋๋ค.dd
:wq
๊ทธ๋ฐ๋ฐ ํ์ฑ ํ๋ก์ธ์ค ์ค ์ผ๋ถ๋ฅผ ๋ค์ ๋ฎ์ด์ฐ๋ ํ์์ด ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ํ์ ์ค์ ๋๋ค.
๋์์ ์ค์น ํ๋ก๊ทธ๋จ ์คํฌ๋ฆฝํธ์ ์ฃผ์์ ํ์ฑ wget(๋๋ ์ปฌ)์ด ๋ง์ด ๊ฑธ๋ ค ์์ต๋๋ค(์๋ ์ฐธ์กฐ). ์ง๊ธ์ ๋ค์๊ณผ ๊ฐ์ด ์ฐ๋ฌ๋จ๋ฆฌ์ง๋ง ๋ค์ ์์๋ฉ๋๋ค.
ps aux | grep wge[t]
ps aux | grep cur[l]
echo "Stopping..."
kill -9 `ps aux | grep wge[t] | awk '{print $2}'`
kill -9 `ps aux | grep cur[l] | awk '{print $2}'`
ํธ๋ก์ด ๋ชฉ๋ง ์ค์น ํ๋ก๊ทธ๋จ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ๊ธฐ(centos)์์ ์ฐพ์์ต๋๋ค(centos): /usr/local/bin/nptd... ์ด๋ฅผ ํผํ๊ธฐ ์ํด ๊ฒ์ํ๋ ๊ฒ์ ์๋์ง๋ง, ๊ฐ์ผ๋ ์ฌ๋์ด ์๊ณ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ดํดํ๋ ์ฌ๋์ด ์๋ค๋ฉด ์ข ๋ ์ฃผ์ ๊น๊ฒ ์ฐ๊ตฌํ์๊ธฐ ๋ฐ๋๋๋ค.
์ ๋ณด๊ฐ ์ ๋ฐ์ดํธ๋๋๋๋ก ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
UPD 1: ํ์ผ ์ญ์ (์๋น chattr -i ์ฌ์ฉ) /etc/cron.d/root, /etc/crontab, rm -Rf /var/spool/cron/root๊ฐ ๋์์ด ๋์ง ์์๊ฑฐ๋ ์๋น์ค๊ฐ ์ค์ง๋์ง ์์์ต๋๋ค. ์ง๊ธ์ crontab์ ์์ ํ ์ ๊ฑฐํ์ธ์(bin ํ์ผ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ).
UPD 2: ํธ๋ก์ด ๋ชฉ๋ง ์ค์น ํ๋ก๊ทธ๋จ์ ๋๋๋ก ๋ค๋ฅธ ์์น์ ๋์ฌ ์์ด์ ํฌ๊ธฐ๋ณ๋ก ๊ฒ์ํ๋ ๋ฐ ๋์์ด ๋์์ต๋๋ค.
์ฐพ๊ธฐ / -ํฌ๊ธฐ 19825c
์
๋ฐ์ดํธ 3: ๊ฒฝ๊ณ ! selinux๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ ์ธ์๋ ํธ๋ก์ด ๋ชฉ๋ง๋ ์์ฒด์ ์ธ ๊ธฐ๋ฅ๋ ์ถ๊ฐํฉ๋๋ค. SSH ํค ${sshdir}/authorized_keys์ ์์ต๋๋ค! ์์ง YES๋ก ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ /etc/ssh/sshd_config์์ ๋ค์ ํ๋๋ฅผ ํ์ฑํํฉ๋๋ค.
PermitRootLogin ์
RSA ์ธ์ฆ ์
PubkeyAuthentication ์
์์ฝ UsePAM ์
PasswordAuthentication ์
UPD 4: ์ง๊ธ ์์ฝํ์๋ฉด: Exim, cron(๋ฃจํธ ํฌํจ)์ ๋นํ์ฑํํ๊ณ , ssh์์ ํธ๋ก์ด ๋ชฉ๋ง ํค๋ฅผ ๊ธด๊ธํ๊ฒ ์ ๊ฑฐํ๊ณ , sshd ๊ตฌ์ฑ์ ํธ์งํ๊ณ , sshd๋ฅผ ๋ค์ ์์ํ์ธ์! ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ๋์์ด ๋ ์ง๋ ์์ง ํ์คํ์ง ์์ง๋ง ์ด๊ฒ์ด ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํจ์น/์ ๋ฐ์ดํธ์ ๋ํ ์๊ฒฌ์์ ์ค์ํ ์ ๋ณด๋ฅผ ๋ ธํธ ์์ ๋ถ๋ถ์ผ๋ก ์ฎ๊ฒจ ๋ ์๋ค์ด ๊ทธ ๋ด์ฉ๋ถํฐ ์์ํ ์ ์๋๋ก ํ์ต๋๋ค.
์
๋ฐ์ดํธ 5:
์
๋ฐ์ดํธ 6:
์์ ์ ์ธ ์๋ฃจ์ ์ ๋ง๋๋(๋๋ ์ฐพ๋) ์ฌ๋์ด ์์ผ๋ฉด ๊ธ์ ์จ์ฃผ์ธ์. ๋ง์ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์
๋ฐ์ดํธ 7:
์์ฌ์์ ๋ณด๋ด์ง ์์ ํธ์ง ๋๋ฌธ์ ๋ฐ์ด๋ฌ์ค๊ฐ ๋ถํํ๋ค๋ ๋ง์ ์์ง ์ ํ์ จ๋ค๋ฉด, ๋ค์ ํธ์ง๋ฅผ ๋ณด๋ด๋ ค๊ณ ํ๋ฉด ๋ณต์์ด ๋๋ /var/spool/exim4 ๋ฅผ ๋ณด์ธ์.
๋ค์๊ณผ ๊ฐ์ด ์ ์ฒด Exim ๋๊ธฐ์ด์ ์ง์ธ ์ ์์ต๋๋ค.
์์ํฝ -i | xargs exim -Mrm
๋๊ธฐ์ด์ ํญ๋ชฉ ์ ํ์ธ:
์์ฌ -bpc
UPD 8: ๋ค์
UPD 9: ๊ทธ๋ฐ ๊ฒ ๊ฐ์์ ์ํ๊ณ ๋ง์.
๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์๋ฒ๊ฐ ์ด๋ฏธ ์์๋์์ผ๋ฉฐ ๊ณต๊ฒฉ์๊ฐ ์ข ๋ ๋น์ ํ์ ์ธ ๋ถ์พํ ํญ๋ชฉ(๋๋กํผ์ ๋์ด๋์ง ์์)์ ์ฌ์ ์ ์์๋ค๋ ์ฌ์ค์ ์์ง ์๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ์์ ํ ์ค์น๋ ์๋ฒ(vds)๋ก ์ด๋ํ๊ฑฐ๋ ์ ์ด๋ ์ฃผ์ ๋ฅผ ๊ณ์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์๋ก์ด ๊ฒ์ด ์์ผ๋ฉด ์ฌ๊ธฐ์ ์๊ฒฌ์ ์์ฑํ์ญ์์ค. ๋ถ๋ช ํ ๋ชจ๋ ์ฌ๋์ด ์๋ก ์ค์นํ ๊ณณ์ผ๋ก ์ด๋ํ์ง๋ ์์ ๊ฒ์ ๋๋ค...
UPD 10: ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
UPD 11: ์์
(์ด ์
์ฑ ์ฝ๋๋ฅผ ํด์นํ๋ ํ๋ ์ด์์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ํ)
๋ฐ๋์ ์ฌ๋ถํ ํด์ผ ํฉ๋๋ค. ์ ์ฑ ์ฝ๋๋ ์ด๋ ค ์๋ ํ๋ก์ธ์ค์ ์ด๋๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์์นํ๋ฉฐ 30์ด๋ง๋ค cron์ ์ ์ ์ฑ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
์
๋ฐ์ดํธ 12:
์
๋ฐ์ดํธ 13:
UPD 14: ๋๋ํ ์ฌ๋๋ค์ ๋ฃจํธ์์ ๋๋ง์น์ง ์๋๋ค๋ ์ฌ์ค์ ์ค์ค๋ก ํ์ ์ํค๊ธฐ - ํ ๊ฐ์ง ๋
๋ฃจํธ์์ ์๋ํ์ง ์๋๋ผ๋ ํดํน์ด ๋ฐ์ํฉ๋๋ค... Debian jessie UPD๊ฐ ์์ต๋๋ค. OrangePi์์ ํ์ฅํ๊ณ Exim์ Debian-exim์์ ์คํ ์ค์ธ๋ฐ ์ฌ์ ํ ํดํน์ด ๋ฐ์ํ๊ณ ํฌ๋ผ์ด์ด ์์ค๋ฉ๋๋ค.
UPD 15: ์์๋ ์๋ฒ์์ ๊นจ๋ํ ์๋ฒ๋ก ์ด๋ํ ๋ ์์์ ์์ง ๋ง์ธ์.
๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์คํ ํ์ผ์ด๋ ๊ตฌ์ฑ ํ์ผ๋ฟ๋ง ์๋๋ผ ์ ์ฑ ๋ช ๋ น์ด ํฌํจ๋ ์ ์๋ ๋ชจ๋ ํญ๋ชฉ์๋ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ญ์์ค(์: MySQL์์๋ CREATE TRIGGER ๋๋ CREATE EVENT์ผ ์ ์์). ๋ํ .html, .js, .php, .py ๋ฐ ๊ธฐํ ๊ณต์ฉ ํ์ผ๋ ์์ง ๋ง์ธ์. (์ด์์ ์ผ๋ก ์ด๋ฌํ ํ์ผ์ ๋ค๋ฅธ ๋ฐ์ดํฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ก์ปฌ ๋๋ ๊ธฐํ ์ ๋ขฐํ ์ ์๋ ์ ์ฅ์์์ ๋ณต์ํด์ผ ํฉ๋๋ค.)
์
๋ฐ์ดํธ 16:
๊ทธ๋ฌ๋ ์ฌ๋ฌ๋ถ ์ ๋ฐ์ดํธ ํ์๋ ๋ค์ ์ฌํญ์ ํ์ธํด์ผ ํฉ๋๋ค. ์ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ๊ณ์๊ตฐ์!
exim --version
์ฐ๋ฆฌ๋ ๊ทธ๋ค์ ๊ตฌ์ฒด์ ์ธ ์ํฉ์ ํจ๊ป ์ ๋ฆฌํ์ต๋๋ค.
์๋ฒ๋ DirectAdmin๊ณผ ์ด์ da_exim ํจํค์ง(์ทจ์ฝ์ ์ด ์๋ ์ด์ ๋ฒ์ )๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
๋์์ DirectAdmin์ custombuild ํจํค์ง ๊ด๋ฆฌ์์ ๋์์ผ๋ก ์ค์ ๋ก ์ด๋ฏธ ์ทจ์ฝํ ์ต์ ๋ฒ์ ์ Exim์ด ์ค์น๋์์ต๋๋ค.
์ด ํน๋ณํ ์ํฉ์์๋ custombuild๋ฅผ ํตํ ์ ๋ฐ์ดํธ๋ ๋์์ด ๋์์ต๋๋ค.
์ด๋ฌํ ์คํ ์ ์ ๋ฐฑ์
ํ๋ ๊ฒ์ ์์ง ๋ง๊ณ ์
๋ฐ์ดํธ ์ /ํ์ ๋ชจ๋ Exim ํ๋ก์ธ์ค๊ฐ ์ด์ ๋ฒ์ ์ธ์ง ํ์ธํ์ญ์์ค.
์ถ์ฒ : habr.com