−25%

Windows 연간 결제, 10월 31일까지. 요금제 보기

EQVPS

VPS에서 보안 업데이트를 자동화하는 방법

Ubuntu/Debian에서는 unattended-upgrades, Rocky/AlmaLinux에서는 dnf-automatic을 켜서 보안 패치가 자동으로 설치되게 하고, 자동 재부팅 여부를 정하세요.

침해당하는 서버 대부분은 교묘한 수법 때문에 무너지지 않습니다. 이미 알려지고 수정까지 된 결함이 있는 소프트웨어를 돌리고 있었는데, 아무도 수정본을 설치하지 않았을 뿐입니다. 보안 업데이트 자동화는 로그인을 기억할 필요 없이 그 구멍을 막아 줍니다. 새 서버에 쓸 수 있는 가장 효과적인 5분 중 하나입니다.

Ubuntu와 Debian: unattended-upgrades

Ubuntu 이미지에는 보통 기본으로 들어 있지만 Debian에는 없을 수 있습니다. 설치하고 활성화합니다.

apt update
apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades    # answer "Yes"

그러면 /etc/apt/apt.conf.d/20auto-upgrades가 만들어집니다.

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

두 개의 1은 매일 패키지 목록을 새로 고치고 보안 업데이트를 설치한다는 뜻입니다.

재부팅 여부 정하기

커널 패치는 재부팅해야 적용됩니다. 한가한 시간에 자동으로 재부팅하려면 /etc/apt/apt.conf.d/50unattended-upgrades를 편집해 다음을 설정하세요.

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

서버는 업데이트가 정말 필요로 할 때만(/var/run/reboot-required가 있을 때만) 재부팅합니다.

테스트하기

unattended-upgrade --dry-run --debug

로그는 /var/log/unattended-upgrades/에 있습니다.

Rocky Linux와 AlmaLinux: dnf-automatic

dnf install -y dnf-automatic

/etc/dnf/automatic.conf를 편집합니다.

[commands]
upgrade_type = security
apply_updates = yes

타이머를 켭니다.

systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

업데이트 후 재부팅이 필요한지 알아보려면 dnf-utils를 설치하고 needs-restarting -r을 실행하세요.

어떤 재부팅 정책이 맞을까요?

다루지 않는 것

시스템 패키지만 대상입니다. Docker 이미지, 언어 의존성(pip, npm), 수동으로 설치한 바이너리는 저절로 업데이트되지 않으니 따로 일정을 잡으세요. 버전 안의 업데이트는 자동이지만, 새 버전으로 옮기는 일(Ubuntu 22.04 → 24.04)은 여전히 의도적으로 하는 수동 작업입니다.

혹시 잘못된 업데이트로 부팅이 되지 않더라도, EQVPS 패널의 웹 콘솔로 SSH 없이 들어갈 수 있고, Managed Backups에는 변경 전의 복원 지점이 있습니다.

관련

자주 묻는 질문

업데이트를 자동으로 설치해도 안전한가요?

보안 업데이트라면 안전합니다. unattended-upgrades가 기본으로 설치하는 것이 바로 그것이며, 작고 목표가 분명한 수정입니다. 알려졌지만 패치하지 않은 취약점의 위험이 보안 패치가 무언가를 망가뜨릴 위험보다 훨씬 큽니다.

서버가 스스로 재부팅해야 하나요?

커널과 핵심 라이브러리 패치는 재부팅해야 적용됩니다. 서비스가 새벽 4시에 1분 정도 멈춰도 괜찮다면 자동 재부팅을 켜세요. 그렇지 않다면 꺼 두고 /var/run/reboot-required가 나타나면 직접 재부팅하세요.

업데이트가 적용됐는지 어떻게 알 수 있나요?

Debian/Ubuntu에서는 /var/log/unattended-upgrades/unattended-upgrades.log를, Rocky/Alma에서는 'journalctl -u dnf-automatic'을 확인하세요. 'unattended-upgrade --dry-run --debug'로 시험 실행하면 지금 무엇이 설치될지 보여 줍니다.

배포판이 새 메이저 버전으로 올라가나요?

아니요. unattended-upgrades와 dnf-automatic은 현재 버전 안의 업데이트만 설치합니다. 예를 들어 Ubuntu 22.04에서 24.04로 옮기는 것은 언제나 수동 작업입니다.

Docker 컨테이너도 업데이트되나요?

아니요, 시스템 패키지만 대상입니다. 컨테이너 이미지는 새 버전을 받아 컨테이너를 다시 만드는 방식으로, 여러분의 일정에 맞춰 업데이트합니다.

댓글

아직 댓글이 없습니다. 첫 번째가 되세요.

댓글 남기기

댓글은 표시되기 전에 검토됩니다.