개발노트

목록

리눅스 서버 무차별 로그인 공격 차단 설정 가이드

리눅스서버보안 fail2ban설정 ssh보안 root접근차단 포트변경 서버관리
Server 2025.11.10 9 회 읽음
Server 5일 전 9


리눅스 서버를 운영하다 보면 SSH 포트 22번으로 자동 로그인 시도를 하는 봇 공격이 끊임없이 발생한다.

특히 root 계정은 공격 대상이 되기 쉬워, 반드시 직접 로그인을 막고 Fail2ban 같은 도구로 차단 정책을 설정해야 한다.


1. SSH 포트 변경

SSH 기본 포트 22번은 전 세계적으로 알려져 있으므로 변경이 필수다.

vi /etc/ssh/sshd_config
다음 항목을 수정한다. 기존 22번 포트는 삭제하거나 주석 처리
#Port 22
Port 7789
PermitRootLogin no
저장 후 서비스 재시작
systemctl restart sshd


2. Fail2ban 설치 및 설정

Fail2ban은 로그인 실패 기록을 감시해, 일정 횟수 이상 실패한 IP를 자동으로 차단한다.

설치 후 설정 파일을 열어 수정한다.

vi /etc/fail2ban/jail.local
예시 설정:
[sshd]
enabled = true
port = 7789
maxretry = 5
findtime = 15m
bantime = 30m
ignoreip = 127.0.0.1/8 112.157.222.170
  • enabled: sshd 보호 활성화

  • port: 사용하는 SSH 포트 지정

  • maxretry: 로그인 실패 허용 횟수

  • findtime: 실패 횟수를 계산하는 시간

  • bantime: 차단 유지 시간

  • ignoreip: 차단 제외 IP


  • 설정 후 Fail2ban 재시작
    systemctl restart fail2ban
    
    현재 상태 확인
    fail2ban-client status sshd
    



    3. 차단 해제 방법

    본인 IP가 차단되었을 때는 다음 명령으로 해제할 수 있다.

    fail2ban-client set sshd unbanip 111.156.221.171
    


    4. 보안 점검 확인

    포트와 접근 제한이 적용되었는지 확인한다.

    ss -tlnp | grep sshd
    


    5. 요약

    SSH 포트를 기본값 22에서 다른 번호로 변경

    root 직접 로그인 금지 설정

    Fail2ban으로 로그인 실패 자동 차단

    본인 IP는 ignoreip로 제외

    차단 해제는 unbanip 명령으로 해결


    보안 설정은 한 번만 해두면 오랫동안 서버를 안전하게 지킬 수 있다.

    fail2ban과 포트 변경만으로도 대부분의 무차별 로그인 공격을 효과적으로 차단할 수 있다.

    목록