[Linux] μ„œλ²„ 초기 λ³΄μ•ˆ μ„€μ •

Linux μ„œλ²„λ₯Ό μ„€μΉ˜ν•œ μ§ν›„μ—λŠ” κΈ°λ³Έ μ„€μ •λ§ŒμœΌλ‘œλŠ” μ•ˆμ „ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 인터넷에 μ—°κ²°λœ μ„œλ²„λŠ” SSH 무차별 λŒ€μž… 곡격, 포트 μŠ€μΊ”, 취약점 곡격 등에 μ§€μ†μ μœΌλ‘œ λ…ΈμΆœλ©λ‹ˆλ‹€.


이번 κΈ€μ—μ„œλŠ” Ubuntu와 CentOS λ“± λŒ€λΆ€λΆ„μ˜ Linux λ°°ν¬νŒμ—μ„œ κ³΅ν†΅μ μœΌλ‘œ μ μš©ν•  수 μžˆλŠ” 초기 λ³΄μ•ˆ μ„€μ • 방법을 μ†Œκ°œλ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.


1. μ΅œμ‹  패치 적용

κ°€μž₯ λ¨Όμ € μš΄μ˜μ²΄μ œμ™€ νŒ¨ν‚€μ§€λ₯Ό μ΅œμ‹  μƒνƒœλ‘œ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€.


Ubuntu

sudo apt update
sudo apt upgrade -y

CentOS / Rocky / AlmaLinux

sudo dnf update -y

μ΅œμ‹  λ³΄μ•ˆ 패치λ₯Ό μ μš©ν•˜λ©΄ μ•Œλ €μ§„ 취약점을 상당 λΆ€λΆ„ μ˜ˆλ°©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


μ£Όμ˜μ‚¬ν•­

운영 ν™˜κ²½μ—μ„œλŠ” μ—…λ°μ΄νŠΈ 전에 λ°˜λ“œμ‹œ 영ν–₯도λ₯Ό κ²€ν† ν•΄μ•Ό ν•©λ‹ˆλ‹€.

특히 λ‹€μŒκ³Ό 같은 ν™˜κ²½μ—μ„œλŠ” 컀널 μ—…λ°μ΄νŠΈκ°€ μ˜ˆμƒμΉ˜ λͺ»ν•œ 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.


  • Private Cloud
  • VMware
  • OpenStack
  • Nutanix
  • Hyper-V
  • Public Cloudμ—μ„œλ„ νŠΉμ • 컀널 λͺ¨λ“ˆμ„ μ‚¬μš©ν•˜λŠ” 경우

예λ₯Ό λ“€μ–΄


  • 컀널 λͺ¨λ“ˆ(DKMS) 재컴파일 μ‹€νŒ¨
  • GPU λ“œλΌμ΄λ²„(NVIDIA) ν˜Έν™˜μ„± 문제
  • HBA/RAID λ“œλΌμ΄λ²„ 문제
  • λ„€νŠΈμ›Œν¬ λ“œλΌμ΄λ²„ λ³€κ²½
  • VPN(OpenVPN, WireGuard) λͺ¨λ“ˆ 문제
  • VirtualBox/VMware Tools ν˜Έν™˜μ„± 문제

등이 λ°œμƒν•  수 μžˆμ–΄, 운영 μ„œλ²„μ—μ„œλŠ” apt upgrade -y λ₯Ό 무쑰건 μ‹€ν–‰ν•˜λŠ” 것보닀, μ–΄λ–€ νŒ¨ν‚€μ§€κ°€ μ—…λ°μ΄νŠΈ λ˜λŠ”μ§€ ν™•μΈν•˜κ³ , 컀널 μ—…λ°μ΄νŠΈ μ—¬λΆ€λ₯Ό κ²€ν† ν•œ λ’€ μ μš©ν•˜λŠ” 것을 ꢌμž₯ λ“œλ¦½λ‹ˆλ‹€.



2. root 직접 둜그인 차단

root κ³„μ •μœΌλ‘œ 직접 SSH μ ‘μ†ν•˜λŠ” 것은 ꢌμž₯λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

SSH μ„€μ • νŒŒμΌμ„ μˆ˜μ •ν•©λ‹ˆλ‹€.

sudo vi /etc/ssh/sshd_config

λ‹€μŒμ„ λ³€κ²½ν•©λ‹ˆλ‹€.

PermitRootLogin no

λ³€κ²½ ν›„ SSH μ„œλΉ„μŠ€λ₯Ό μž¬μ‹œμž‘ν•©λ‹ˆλ‹€.

Ubuntu

sudo systemctl restart ssh

CentOS

sudo systemctl restart sshd


μ£Όμ˜μ‚¬ν•­

ν•΄λ‹Ή μž‘μ—… μ§„ν–‰μ‹œ μ‹ κ·œ μ„œλ²„μ˜ 경우 sudo κΆŒν•œμ΄ μžˆλŠ” 일반 계정이 μ—†λ‹€λ©΄, 원격 둜그인이 λΆˆκ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— 일반 μ‚¬μš©μž 생성 및 sudo κΆŒν•œ λΆ€μ—¬ ν›„ μž‘μ—… 진행을 ꢌ고 λ“œλ¦½λ‹ˆλ‹€.



3. 일반 μ‚¬μš©μž 생성 및 sudo κΆŒν•œ λΆ€μ—¬

sudo adduser admin

Ubuntu

sudo usermod -aG sudo admin

CentOS

sudo usermod -aG wheel admin

root λŒ€μ‹  일반 계정을 μ‚¬μš©ν•˜λ©΄ μ‹€μˆ˜λ‘œ μ‹œμŠ€ν…œμ„ μ†μƒμ‹œν‚¬ κ°€λŠ₯성도 μ€„μ–΄λ“­λ‹ˆλ‹€.



4. λ°©ν™”λ²½ μ„€μ •

Ubuntu(UFW)

sudo ufw default deny incoming
sudo ufw default allow outgoing

sudo ufw allow from 192.168.10.1 to any port 22 proto tcp

sudo ufw enable

CentOS(Firewalld)

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.10.1" port port="22" protocol="tcp" accept'
sudo firewall-cmd --reload

원격 μ ‘κ·Ό 및 λ³΄μ•ˆμ΄ ν•„μš”ν•œ 포트의 경우 접근이 ν•„μš”ν•œ ip만 ν—ˆμš©ν•˜λŠ” 것을 κΆŒκ³ λ“œλ¦½λ‹ˆλ‹€.


μ£Όμ˜μ‚¬ν•­

잘λͺ»λœ λ°©ν™”λ²½ μ„€μ •μœΌλ‘œ 인해 원격 접근이 λΆˆκ°€λŠ₯ν•œ μƒνƒœκ°€ λ˜λŠ” 사둀가 많음으둜, μƒˆ μ„Έμ…˜μœΌλ‘œ 접속 확인 ν›„ κΈ°μ‘΄ μ„Έμ…˜μ„ μ’…λ£Œν•˜λŠ” 것을 ꢌμž₯λ“œλ¦½λ‹ˆλ‹€.


마무리

Linux μ„œλ²„μ˜ 초기 λ³΄μ•ˆ 섀정은 μ„œλ²„λ₯Ό μ•ˆμ „ν•˜κ²Œ μš΄μ˜ν•˜κΈ° μœ„ν•œ 첫 λ‹¨κ³„μž…λ‹ˆλ‹€. 운영체제 μ—…λ°μ΄νŠΈ, SSH λ³΄μ•ˆ κ°•ν™”, λ°©ν™”λ²½ ꡬ성 λ“± 의 섀정을 μ§„ν–‰μ‹œ λ§Žμ€ 곡격을 μ˜ˆλ°©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 여기에 Fail2Ban, μžλ™ λ³΄μ•ˆ μ—…λ°μ΄νŠΈ, 둜그 λͺ¨λ‹ˆν„°λ§ 등을 ν•¨κ»˜ μ μš©ν•˜λ©΄ 보닀 μ•ˆμ •μ μΈ 운영 ν™˜κ²½μ„ ꡬ좕할 수 μžˆμŠ΅λ‹ˆλ‹€.

← λͺ©λ‘μœΌλ‘œ λŒμ•„κ°€κΈ°