리눅스 서버 최초 설정 시 꼭 해야 할 7가지

새 서버를 받으면 가장 먼저 해야 할 일은 멋진 애플리케이션을 설치하는 것이 아니라, 서버 자체를 안전하고 관리하기 쉬운 상태로 만드는 것입니다.

1. 시스템 패키지 업데이트

서버를 처음 받으면 가장 먼저 운영체제와 패키지를 최신 상태로 업데이트해야 합니다. 오래된 패키지에는 이미 알려진 보안 취약점이 포함되어 있을 가능성이 높습니다.

apt update && apt upgrade -y 또는 dnf upgrade -y 명령으로 전체 패키지를 최신화하고, 가능하다면 자동 보안 업데이트를 활성화해 두는 것이 좋습니다.

2. 일반 사용자 계정 생성

root 계정을 직접 사용하는 습관은 실수로 인한 사고 위험을 키웁니다. 작업용 일반 사용자를 만들고 sudo 권한을 부여한 뒤, 평소 작업은 이 계정으로 수행하는 것이 안전합니다.

adduser deploy로 사용자를 생성하고 usermod -aG sudo deploy로 권한을 부여합니다.

3. SSH 키 기반 인증 전환

비밀번호 로그인은 무차별 대입 공격에 취약합니다. SSH 키 쌍을 생성해 공개키를 서버에 등록하고, sshd_config에서 PasswordAuthentication no로 설정해 키 기반 인증만 허용하는 것이 바람직합니다.

4. SSH 기본 포트 변경 및 root 로그인 차단

기본 22번 포트는 자동화된 스캔 공격의 1순위 대상입니다. 포트를 변경하고 PermitRootLogin no 설정으로 root 직접 접속을 막으면 불필요한 공격 시도를 크게 줄일 수 있습니다.

5. 방화벽 기본 정책 설정

ufw나 firewalld 같은 도구로 필요한 포트만 열어두는 화이트리스트 방식이 안전합니다. 기본적으로 들어오는 모든 트래픽을 차단하고, 실제로 사용하는 서비스 포트만 예외로 허용하세요.

6. 타임존 및 NTP 동기화

로그 분석과 인증서 검증 등 많은 작업이 정확한 시간에 의존합니다. timedatectl set-timezone Asia/Seoul로 타임존을 맞추고 NTP 동기화가 활성화되어 있는지 확인하세요.

7. 기본 모니터링 도구 설치

htop, iotop 같은 가벼운 모니터링 도구만 설치해 두어도 서버 상태를 파악하는 데 큰 도움이 됩니다. 이후 운영 단계에서는 Prometheus, Zabbix 같은 전문 도구로 확장할 수 있습니다.

마무리

이 7가지 항목은 어떤 용도의 서버든 공통적으로 적용되는 기본기입니다. 처음에 시간을 들여 제대로 설정해 두면, 이후 운영 과정에서 발생할 수 있는 보안 사고와 장애를 상당 부분 예방할 수 있습니다.