본문 바로가기
카테고리 없음

우분투 서버 보안설정 가이드

by 지니앤잡 2025. 3. 21.

우분투 서버 보안 강화를 위한 가이드입니다. SSH 보안 설정, 방화벽 구성, 자동 업데이트 및 패키지 관리, 침입 탐지 및 로그 모니터링 설정을 통해 서버를 안전하게 보호하는 방법을 확인하세요.

 

ubuntu 로고
ubuntu 로고

 

우분투(Ubuntu)는 서버 환경에서 많이 사용되는 운영체제입니다. 하지만 기본 설정 상태로 운영하면 보안 위협에 쉽게 노출될 수 있습니다. 서버는 항상 공격의 대상이 될 가능성이 있기 때문에 철저한 보안 설정이 필수적입니다. 이번 가이드에서는 우분투 서버를 안전하게 보호하는 방법을 단계별로 소개하겠습니다.

1. 기본적인 사용자 및 SSH 보안 설정

우분투 서버를 설치한 후 가장 먼저 해야 할 일은 기본 계정과 SSH 설정을 강화하는 것입니다. 기본적으로 루트(Root) 계정으로 직접 로그인하는 것은 보안상 매우 위험합니다. 따라서 루트 계정을 비활성화하고, 대신 일반 사용자를 생성한 뒤 sudo 권한을 부여하는 것이 좋습니다.

adduser newuser
usermod -aG sudo newuser

그다음 SSH 설정을 변경하여 보안을 강화해야 합니다. 먼저, SSH 포트를 기본값인 22에서 다른 포트(예: 22022)로 변경하면 자동화된 공격을 상당 부분 차단할 수 있습니다. /etc/ssh/sshd_config 파일을 열어 다음 설정을 수정합니다.

Port 22022
PermitRootLogin no
PasswordAuthentication no

비밀번호 기반 인증을 비활성화하고 SSH 키 인증을 사용하면 보안이 더욱 강화됩니다.

ssh-keygen -t rsa -b 4096
ssh-copy-id -p 22022 newuser@yourserver

설정을 변경한 후 SSH 서비스를 재시작해야 합니다.

sudo systemctl restart ssh

2. 방화벽(UFW) 설정 및 트래픽 제어

서버의 네트워크 보안을 위해서는 방화벽을 설정하는 것이 필수적입니다. 우분투에서는 ufw를 사용하여 쉽게 방화벽을 관리할 수 있습니다. 현재 설정을 확인한 후 SSH 포트를 허용하고 방화벽을 활성화합니다.

sudo ufw status verbose
sudo ufw allow 22022/tcp
sudo ufw enable

웹 서버 운영 시 포트도 추가로 허용할 수 있습니다.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

모든 포트에 대한 기본 정책을 설정합니다.

sudo ufw default deny incoming
sudo ufw default allow outgoing

방화벽 규칙을 수정한 후 적용 여부를 확인합니다.

sudo ufw status numbered

3. 자동 업데이트 및 패키지 보안 설정

운영체제를 최신 상태로 유지하는 것은 보안을 유지하는 데 중요한 요소입니다. 보안 업데이트를 자동으로 적용하도록 설정할 수 있습니다.

sudo apt update && sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

보안 패치만 빠르게 적용하려면 다음 명령을 사용합니다.

sudo unattended-upgrade -d

불필요한 패키지 정리도 필요합니다.

sudo apt autoremove

4. 침입 탐지 및 로그 모니터링 설정

서버의 보안을 강화하려면 침입 탐지 시스템(IDS)과 로그 모니터링이 필요합니다. fail2ban을 설치하여 SSH 공격을 방지할 수 있습니다.

sudo apt install fail2ban

설정 파일을 편집하여 SSH 공격 방어 기능을 활성화합니다.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 22022
maxretry = 5
bantime = 3600

Fail2Ban 적용 후 서비스 재시작을 진행합니다.

sudo systemctl restart fail2ban

로그를 실시간으로 모니터링하는 것도 중요합니다.

sudo tail -f /var/log/auth.log

결론

우분투 서버의 보안을 강화하기 위해서는 여러 단계의 설정이 필요합니다. 먼저, 루트 계정을 비활성화하고 SSH 설정을 강화해야 하며, 방화벽을 활용해 불필요한 포트를 차단하는 것이 중요합니다. 또한, 자동 업데이트를 설정하고 보안 패치를 적용하여 최신 상태를 유지해야 합니다. 마지막으로, 침입 탐지 시스템과 로그 모니터링을 통해 서버의 보안 위협을 빠르게 감지하고 대응하는 것이 필수적입니다.

이러한 보안 조치를 철저히 수행하면 우분투 서버를 보다 안전하게 운영할 수 있습니다. 서버 보안은 한 번 설정한다고 끝나는 것이 아니라, 지속적으로 유지하고 점검해야 한다는 점을 항상 염두에 두어야 합니다.