Security
OS Security(์ด์์ฒด์ ๋ณด์)
์ด์์ฒด์ ๋ณด์(OS Security) ์ ์ ์์ ์ธ ๊ณต๊ฒฉ, ๋ฌด๋จ ์ ๊ทผ, ๋ฐ์ดํฐ ์ ์ถ ๋ฑ์ ๋ฐฉ์งํ๊ณ ์์คํ ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ ์ ์งํ๊ธฐ ์ํ ๋ค์ํ ๋ณด์ ์กฐ์น๋ฅผ ํฌํจํจ.
ํต์ฌ ๊ฐ๋
1. ์ฌ์ฉ์ ๋ฐ ์ ๊ทผ ์ ์ด(User & Access Control)
Root ๊ณ์ ์ ํ :
root
๊ณ์ ์ผ๋ก ์ง์ ์์ ํ์ง ์๊ณsudo
๋ฅผ ํ์ฉ๊ถํ ์ต์ํ(Principle of Least Privilege, PoLP) : ํ์ํ ์ต์ํ์ ๊ถํ๋ง ๋ถ์ฌ
ACL(Access Control List)ํ์ฉ : ํน์ ์ฌ์ฉ์ ๋๋ ๊ทธ๋ฃน์ ๋ํ ์ ๊ทผ ์ ํ์ ์ธ๋ถํ
2. ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๋ณด์(FIle & Directory Security)
chmod
,chown
,umask
๋ฅผ ์ฌ์ฉํด ํ์ผ/๋๋ ํ ๋ฆฌ ๊ถํ์ ์ ์ ํ๊ฒ ์ค์ /etc/passwd
,/etc/shadow
ํ์ผ ๋ณดํธ : ์ฌ์ฉ์ ๊ณ์ ์ ๋ณด ์ ์ถ ๋ฐฉ์ง๋ก๊ทธ ํ์ผ ์ ๊ทผ ์ ํ(
/var/log/
๊ด๋ฆฌ)
3. ๋คํธ์ํฌ ๋ณด์(Network Security)
๋ฐฉํ๋ฒฝ ์ค์ :
iptables
,firewalld
,ufw
๋ฑ์ ์ฌ์ฉํด ํน์ ํฌํธ ์ฐจ๋จ ๋ฐ ํ์ฉSSH ๋ณด์ ๊ฐํ :
๊ธฐ๋ณธ ํฌํธ(22) ๋ณ๊ฒฝ(
/etc/ssh/sshd_config
)๋น๋ฐ๋ฒํธ ๋ก๊ทธ์ธ ๋์ SSH Key ์ธ์ฆ ์ฌ์ฉ
Fail2Ban ์ผ๋ก SSH ๊ณต๊ฒฉ ๋ฐฉ์ง
VPN ๋ฐ SSH ํฐ๋๋ง ํ์ฉํด ๋ณด์ ๊ฐํ
4. ํ๋ก์ธ์ค ๋ฐ ์๋น์ค ๋ณด์(Process & Service Security)
๋ถํ์ํ ์๋น์ค ๋นํ์ฑํ :
systemctl disable ์๋น์ค๋ช
๋ฆฌ์์ค ์ ํ ์ค์ :
ulimit
์ ํ์ฉํด ํน์ ํ๋ก์ธ์ค์ ์์ ์ฌ์ฉ ์ ํ์ปจํ ์ด๋ ๋ณด์ : Docker, Kubernates ํ๊ฒฝ์์ ๋คํธ์ํฌ ๋ฐ ๋ณผ๋ฅจ ๋ง์ดํธ ๊ถํ ์ ํ
5. ๋ก๊ทธ ๋ฐ ๋ชจ๋ํฐ๋ง(Logging & Monitoring)
syslog
,journald
,auditd
ํ์ฉํด ์์คํ ๋ก๊ทธ ๊ด๋ฆฌ์นจ์ ํ์ง ์์คํ (IDS) :
OSSEC
,Snort
๋ฑ ํ์ฉ๋ก๊ทธ ๋ถ์ ๋ฐ ์๋ฆผ :
Graylog
,ELK
ํ์ฉ
6. ํจ์น ๋ฐ ์
๋ฐ์ดํธ ๊ด๋ฆฌ(Patch & Upadte Management)
๋ณด์ ํจ์น ์ ์ฉ :
apt update && apt upgrade
๋๋yum update
์ปค๋ ์ ๋ฐ์ดํธ(
kexec
ํ์ฉํด ๋น ๋ฅธ ์ ์ฉ)์๋ ์ ๋ฐ์ดํธ ์ ์ฑ ์ค์ (
unattended-upgrades
ํ์ฉ ๊ฐ๋ฅ)
7. ์
์ฑ์ฝ๋ ๋ฐ ์ทจ์ฝ์ ์ค์บ๋
ํ์ผ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ :
tripwire
,AIDE
๋ฐฑ๋์ด ํ์ง :
rkhunter
,chkrootkit
์ทจ์ฝ์ ์ค์บ๋ ๋๊ตฌ :
Lynis
,OpenVAS
,Nessus
์ ์ฉ ๋ฐฉ๋ฒ
1. SSH ๋ณด์ ๊ฐํ
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
2. ๋ฐฉํ๋ฒฝ ์ค์ (UFW)
sudo ufw enbale
# SSH(2222 port)๋ง ํ์ฉ
sudo ufw allow 2222/tcp
# ํน์ IP ๋ง ์ ๊ทผ ํ์ฉ
sudo ufw allow from 192.168.1.10 to any port 2222
3. ๋ถํ์ํ ์๋น์ค ์ค์ง
sudo systemctl list-units --type=service --start=running
# ๋ถํ์ํ ์๋น์ค ๋นํ์ฑํ (์ : FTP)
sudo systemctl disable vsftpd
4. ๋ก๊ทธ ๋ถ์ ์๋ํ
# ํน์ ๋ก๊ทธ ํ์ผ์์ ์ด์ ์งํ ์ฐพ๊ธฐ(์ : SSH ์คํจ ๋ก๊ทธ)
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head
Last updated
Was this helpful?