우분투 서버 처음 설치할 때 꼭 해야 할 초기 설정
우분투 서버를 처음 설치하고 바로 해야 할 초기 설정을 실제 경험 기반으로 정리했습니다. 계정 생성부터 방화벽, SSH 보안 설정까지 순서대로 확인해보세요.
서버 설치 끝나고 바로 손댔던 것들
처음 우분투 서버를 설치했을 때, 설치가 끝나면 다 된 줄 알았어요. 근데 며칠 지나서 로그를 보니 낯선 IP에서 SSH 접속 시도가 계속 찍혀 있더라고요. 설치는 시작일 뿐이고, 초기 설정을 안 해두면 서버가 그대로 노출된 채로 돌아간다는 걸 그때 알았어요.
그 뒤로 서버를 새로 띄울 때마다 꼭 하는 초기 설정 루틴이 생겼어요.
1. 시스템 업데이트부터
sudo apt update && sudo apt upgrade -y이거 안 해서 보안 패치 없이 몇 주를 돌린 적이 있어요. 습관처럼 제일 먼저 하는 게 좋아요.
2. root 대신 일반 계정 만들기
root로 계속 작업하면 실수 한 번에 시스템이 날아갈 수 있어요. 예전에 root로 삭제 명령어 잘못 쳐서 식은땀 흘린 뒤로는 무조건 일반 계정에 sudo 권한만 부여해요.
adduser myuser
usermod -aG sudo myuser3. SSH 포트 바꾸고 root 로그인 막기
기본 22번 포트는 공격 시도가 정말 많이 들어와요. /etc/ssh/sshd_config에서 두 줄만 바꿔도 무작위 공격이 확 줄어들어요.
Port 2222
PermitRootLogin no수정 후 sudo systemctl restart ssh로 재시작해야 적용돼요.
4. 방화벽(UFW) 설정
방화벽 없이 두면 필요 없는 포트까지 다 열려있는 상태예요. 최소한의 포트만 열어둡니다.
sudo ufw allow 2222
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enableSSH 포트를 바꾼 뒤 방화벽 설정을 깜빡하면 접속 자체가 막혀버려요. 저도 한 번 이걸로 서버에 못 들어간 적이 있어서, 방화벽 켜기 전에 새 포트 허용부터 꼭 확인해요.
5. 타임존이랑 호스트네임 정리
로그 시간이 안 맞으면 장애 분석할 때 헷갈려요. 처음부터 맞춰두는 게 편해요.
sudo timedatectl set-timezone Asia/Seoul
sudo hostnamectl set-hostname my-server6. Fail2ban으로 무차별 대입 공격 방어
SSH 포트를 바꿔도 완전히 안전한 건 아니에요. Fail2ban을 설치해두면 로그인 실패가 반복되는 IP를 자동으로 차단해줘요.
sudo apt install fail2ban -y
sudo systemctl enable fail2ban마무리
업데이트, 일반 계정 생성, SSH 보안, 방화벽, 시간 설정, Fail2ban. 이 여섯 가지가 제 초기 설정 루틴이에요. 딱 한 번 낯선 접속 로그를 보고 나면 왜 이 과정이 필수인지 몸으로 느끼게 됩니다.