TEC. 기술 2 MIN READ

Linux 보안 기초: 서버를 안전하게 지키는 방법

Linux 서버의 기본 보안 설정 방법을 단계별로 알아봅니다. SSH 설정, 방화벽, 자동 업데이트 등 필수 보안 조치를 다룹니다.

BY LIBRETIP 편집 K.H. DIGITAL SECURITY DISPATCH

Linux 서버를 운영한다면 보안은 선택이 아닌 필수입니다. 기본 설정만으로는 다양한 공격에 취약할 수 있으며, 몇 가지 핵심 설정만 변경해도 보안을 크게 강화할 수 있습니다.

SSH 보안 강화

비밀번호 대신 키 인증 사용

SSH 키 인증은 비밀번호 인증보다 훨씬 안전합니다.

# SSH 키 생성
ssh-keygen -t ed25519 -C "[email protected]"

# 서버에 공개키 복사
ssh-copy-id user@server

SSH 설정 변경

/etc/ssh/sshd_config에서 다음 설정을 변경합니다:

PasswordAuthentication no
PermitRootLogin no
Port 2222
MaxAuthTries 3

방화벽 설정 (UFW)

Ubuntu/Debian에서 UFW를 사용한 기본 방화벽 설정:

# UFW 활성화
sudo ufw enable

# SSH 허용 (포트 변경 시 해당 포트)
sudo ufw allow 2222/tcp

# HTTP/HTTPS 허용
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 상태 확인
sudo ufw status

자동 보안 업데이트

보안 패치를 자동으로 적용하도록 설정합니다:

# unattended-upgrades 설치
sudo apt install unattended-upgrades

# 활성화
sudo dpkg-reconfigure unattended-upgrades

Fail2Ban 설정

반복적인 로그인 시도를 차단합니다:

sudo apt install fail2ban
sudo systemctl enable fail2ban

기본 설정으로도 SSH 브루트포스 공격을 효과적으로 방어합니다.

로그 모니터링

정기적으로 보안 로그를 확인하세요:

# 인증 로그 확인
sudo tail -f /var/log/auth.log

# 실패한 로그인 시도
sudo grep "Failed password" /var/log/auth.log

결론

Linux 서버 보안은 한 번 설정하고 끝나는 것이 아닙니다. 정기적인 업데이트, 로그 모니터링, 설정 점검을 통해 지속적으로 보안을 유지해야 합니다. 위의 기본 설정들을 적용하면 대부분의 자동화된 공격을 효과적으로 방어할 수 있습니다.

계속 읽기

댓글

댓글은 giscus를 통해 GitHub Discussions에 저장됩니다.