본문 바로가기
리눅스의 모든 것

리눅스 해킹 막는 법! 필수 보안 설정 5가지 정리

by 운따돈 2025. 8. 7.

처음 리눅스 서버를 구축하고 기분 좋게 웹사이트도 올렸는데,
며칠 뒤 이상한 외국 IP가 계속 접속을 시도하는 로그를 보게 됐습니다.


“설마 내가 뚫린 건가…?”

이 경험, 서버를 한 번이라도 운영해본 분이라면 누구나 겪어보셨을 거예요.


리눅스는 강력하고 자유로운 시스템이지만, 그만큼 보안도 사용자가 챙겨야 하는 구조라서
초기 설정이 허술하면 금방 외부 공격자들의 타겟이 되기도 해요.

 

오늘은 여러분의 리눅스 서버를 안전하게 지킬 수 있도록
실제로 가장 많이 사용하는 보안 설정 5가지를 정리해드릴게요.
명령어와 예시도 함께 제공하니, 지금 바로 따라하셔도 좋습니다!


📌 목차

  1. 기본 계정 보안 – 루트 계정 비활성화 & 사용자 생성
  2. SSH 보안 강화 – 포트 변경, 접속 제한
  3. 방화벽(UFW) 설정
  4. Fail2Ban 설치 – 비밀번호 무차별 대입 방어
  5. 자동 업데이트 및 로그 확인

1. 🧑‍💻 기본 계정 보안 – 루트 계정 비활성화 & 일반 사용자 생성

서버 설치 후 가장 먼저 해야 할 일은 root 계정 비활성화입니다.
해커들은 기본적으로 root 계정을 노리기 때문에, root로 직접 로그인하는 건 위험해요.

✅ 일반 사용자 생성

 

adduser newuser
usermod -aG sudo newuser

✅ root 계정 로그인 막기

 
sudo nano /etc/ssh/sshd_config
# 다음 항목을 수정
PermitRootLogin no

 

수정 후 SSH 재시작:

 

sudo systemctl restart ssh


2. 🔐 SSH 보안 강화 – 포트 변경 & 접근 제한

기본 SSH 포트(22번)는 자동 해킹 툴들이 가장 먼저 노리는 대상입니다.
다른 포트로 변경하면 보안 위험을 크게 낮출 수 있어요.

✅ SSH 포트 변경 (예: 2022)

 

sudo nano /etc/ssh/sshd_config
# Port 22 → Port 2022 로 수정

→ 방화벽에서도 새 포트를 허용해야 합니다.

✅ 특정 IP만 접속 허용

sudo nano /etc/hosts.allow
sshd: 192.168.0.10

sudo nano /etc/hosts.deny
sshd: ALL
 

→ 해당 IP만 SSH 접속 허용됨 (사내망 등에서 유용)


3. 🔥 방화벽(UFW) 설정

방화벽은 열려 있는 포트만 외부 접속을 허용하고, 나머지는 차단해주는 필수 보호막이에요.

✅ UFW 설치 및 설정

sudo nano /etc/hosts.allow
sshd: 192.168.0.10

sudo nano /etc/hosts.deny
sshd: ALL
 

💡 sudo ufw default deny incoming 으로 기본 차단 정책도 설정 가능해요.


4. 🛡️ Fail2Ban 설치 – 해킹 시도 자동 차단

패스워드 무차별 대입(brute-force attack)은 서버 운영 시 가장 흔한 공격입니다.
이를 막아주는 도구가 바로 Fail2Ban입니다.

✅ 설치 및 실행

sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
 

기본 설정만으로도 SSH 공격을 자동으로 차단해주며, 로그를 통해 어느 IP가 차단되었는지도 알 수 있어요.


5. 🔄 자동 업데이트 및 보안 로그 확인

리눅스는 주기적으로 보안 패치가 제공되기 때문에, 최신 상태 유지가 매우 중요합니다.

✅ 자동 보안 업데이트 설정

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

→ 자동으로 보안 업데이트가 설치되도록 설정 가능

✅ 로그 확인 (보안 이상 탐지용)

sudo less /var/log/auth.log        # 로그인 시도
sudo journalctl -xe                # 시스템 경고, 에러
sudo fail2ban-client status sshd   # 차단 상태 확인

✅ 리눅스는 내가 지켜야 하는 시스템입니다

윈도우처럼 자동 백신이나 방화벽이 알아서 막아주는 게 아니라,
리눅스는 내가 직접 설정해야 지켜지는 시스템이에요.

 

하지만 어렵지 않아요.
루트 계정 비활성화, SSH 보안, 포트 제한, fail2ban, 자동 패치, 이 5가지만 해도
해커들이 뚫고 들어오기 정말 어려워집니다.

 

오늘 소개한 보안 설정은 ‘기본 중의 기본’이지만,
이것만 제대로 해도 대부분의 초보자 해킹 시도를 막을 수 있어요.

 

이제 여러분의 서버는 더 이상 외로운 혼자가 아닙니다.
당신의 보안이 지켜주고 있으니까요 😊