개인 서버용 fail2ban 통합 관제무료직접 설치

흩어진 fail2ban 을,
한 화면에서 막고 봅니다.

SSem SecuMon 은 VPS·홈서버를 직접 운영하는 개인을 위한 무료 fail2ban 통합 관제 콘솔입니다. 서버마다 작은 에이전트를 두면 지금 누가 막혀 있는지, 몇 번째 재범인지를 한 화면에서 보고 밴 · 언밴 · 대역 차단 · 국가 차단까지 서명된 명령으로 집행합니다.

리눅스 서버 + fail2ban · nftables · 에이전트는 들어오는 포트를 열지 않습니다 · 콘솔은 내 서버에 직접 설치

secumon 대시보드밴 목록타겟집행국가 차단 admin · ADMIN
현재 밴128서버 3대 합계
오늘 새로37어제보다 12 많음
재범 IP19누적 3회 이상
자동 차단6최근 24시간
밴 추이 · 24시간web-01vpn-gw
서버에이전트 3
  • web-0112초 전
  • vpn-gw8초 전
  • home-nas21초 전
지금 막혀 있는 IP128
IP서버jail재범 단계국가남은 시간
203.0.113.45web-01 · vpn-gwsshd4단계 · 8시간XA5시간 12분
198.51.100.7vpn-gwsshd2단계 · 2시간XB1시간 40분
203.0.113.201home-nassshd3단계 · 4시간XC3시간 5분
192.0.2.88web-01apache-auth1단계 · 1시간XD24분

화면 예시의 서버 이름·IP·국가는 지어낸 것입니다(IP 는 문서용 예약 대역, 국가 코드 XA–XD 는 예시용).

개인 서버도 매일 두드립니다

인터넷에 열린 서버는 하루에도 수천 번 접속 시도를 받습니다. fail2ban 이 막아 주지만, 서버가 둘만 넘어도 보이지 않는 것이 생깁니다.

서버마다 따로 봐야 합니다

누가 막혔는지 알려면 서버마다 SSH 로 들어가 fail2ban-client 를 두드려야 합니다. 같은 IP 가 여러 서버를 두드리는 것도 보이지 않습니다.

지수 밴은 결국 풀립니다

재범일수록 오래 막지만 시간이 지나면 다시 열립니다. 세 번째 오는 상대는 실수가 아니라 계속 두드리는 상대입니다.

대역 차단은 실수하기 쉽습니다

수천 개 대역을 서버마다 방화벽에 넣고 갱신하는 일은 손이 많이 갑니다. 한 번 잘못 넣으면 내 접속까지 끊깁니다.

한눈에 보기

보기 · 막기 · 넓게 막기를 한 콘솔에서 합니다. 아래 화면은 모두 지어낸 예시 데이터입니다.

IP 하나를 끝까지 따라갑니다

밴 목록에서 IP 를 누르면 그 IP 가 걸린 서버들, 밴 이력, 지금 단계와 다음 밴 예상 길이가 한 곳에 모입니다.

  • 같은 IP 가 걸린 서버를 함께 표시
  • 국가는 내장 조회표로 — 외부 API 한도를 쓰지 않습니다
  • 그 자리에서 언밴 · 대역 차단 · AbuseIPDB 신고
203.0.113.45XA재범 4회
걸린 서버
web-01 · vpn-gw
지금 단계
4단계 · 8시간
다음 밴 예상
16시간
평판 점수
100 / 100

밴 이력 — 1시간 → 2시간 → 4시간 → 8시간

언밴대역 차단AbuseIPDB 신고

넓게 막을 때는 두 번 확인합니다

대역 차단은 가장 위험한 기능이라 실수를 막는 장치를 여러 겹 둡니다. 차단할 대역을 다시 입력해야 실행되고, 기본은 30일 뒤 저절로 풀립니다.

  • IPv4 /16 · IPv6 /48 보다 넓은 대역은 거부
  • 사설망 · 루프백 · 내가 지정한 대역은 차단 불가
  • 여러 대역 × 여러 서버를 한 번에
대역 차단
대역
203.0.113.0/24
주소 수
256개
서버
web-01 · vpn-gw
기간
30일 뒤 자동 해제

보호 대역(사설망·VPN·내 서버)은 차단할 수 없습니다.

취소차단

나라 단위로도 막을 수 있습니다

233개국 가운데 고른 나라의 IP 대역을 서버 방화벽에 넣습니다. 켜는 즉시 목록을 받아 30초 안에 모든 서버에 적용합니다.

  • 바뀐 것이 없으면 서버로 다시 보내지 않습니다
  • 이미 맺은 연결의 응답과 DNS 는 막지 않도록 규칙 순서를 고정
  • 켜기 전에 대역 수를 먼저 보여 줍니다
국가 차단 2개국 · 대역 4,600개
  • XA국가 A대역 3,120개
  • XB국가 B대역 1,480개
  • XC국가 C대역 9,860개
  • XD국가 D대역 640개

권위 DNS(53)는 언제나 허용됩니다. 메일 수신·VPN 을 운영한다면 먼저 가이드를 확인하세요.

무엇을 할 수 있나요

보는 일과 막는 일, 그리고 스스로 막는 일까지 — 개인 서버 몇 대에 필요한 만큼만 담았습니다.

통합 대시보드

모든 서버의 현재 밴 · 누적 밴 · 재범 IP · 추이를 한 화면에서 봅니다. 서버 하나로 좁혀 볼 수도 있습니다.

재범 단계 표시

fail2ban 의 지수 밴(1 · 2 · 4 · 8…배)을 읽어, 지금 몇 단계인지와 다음엔 얼마나 막힐지를 보여 줍니다.

밴 · 언밴

화면에서 바로 명령을 보냅니다. 서버의 에이전트가 서명을 확인한 뒤에만 실행하고, 결과가 명령 이력에 남습니다.

대역 차단

넓이 제한 · 보호 대역 · 확인 입력 · 자동 해제(기본 30일)로 실수를 막습니다. 이미 더 넓게 막혀 있으면 건너뜁니다.

재범 IP 자동 차단

누적 3회 이상 밴된 IP 를 모든 서버에서 30일 동안 막습니다. 단일 IP 만, 한 번에 최대 20건, 전부 기록하고 알립니다.

공개 차단 목록

Spamhaus DROP · FireHOL level1 을 하루 한 번 받아 모든 서버에 적용합니다. 내 대역과 겹치는 항목은 먼저 걸러 냅니다.

국가 차단

고른 나라의 대역을 서버 방화벽의 전용 목록에 넣습니다. 끄면 그 목록만 비웁니다 — 다른 차단은 그대로입니다.

AbuseIPDB · 텔레그램

밴된 IP 만 AbuseIPDB 에 신고하고 평판을 조회합니다. 자동 차단과 목록 변경은 텔레그램으로 알립니다. 키는 콘솔 서버에만 둡니다.

감사 로그 · 2단계 인증

모든 집행 · 신고 · 로그인이 기록됩니다. 보기 전용 · 운영자 · 관리자 세 역할과 TOTP 2단계 인증을 씁니다.

어떻게 동작하나요

콘솔은 명령을 서버로 밀어 넣지 않습니다. 서버의 에이전트가 먼저 콘솔로 나와 상태를 올리고, 서명된 명령을 가져가 스스로 확인한 뒤 실행합니다.

  1. 상태 보고 에이전트가 30초마다 fail2ban 과 방화벽 상태를 읽어 자기 키로 서명해 콘솔로 보냅니다.
  2. 한곳에 모으기 콘솔은 모든 서버의 상태를 한 데이터베이스로 모읍니다. 어느 서버든 같은 화면에 나옵니다.
  3. 명령은 대기열로 밴 · 차단을 누르면 콘솔은 명령에 서명해 대기열에 넣을 뿐, 서버로 접속하지 않습니다.
  4. 확인한 뒤 실행 에이전트는 서명 · 대상 서버 · 만료(60초) · 중복을 모두 확인한 명령만 실행합니다.
  5. root 는 래퍼 하나만 에이전트는 root 가 아닙니다. 특권 작업은 허용된 동작만 받는 root 래퍼 하나를 거칩니다.

방화벽에서는 이 순서로 판정합니다

SecuMon 은 fail2ban 규칙과 섞이지 않는 전용 nftables 테이블을 씁니다. 차단은 세 층으로 나뉘어 「왜 막혔는가」를 알 수 있고, 한 층을 갱신해도 다른 층은 그대로입니다.

  1. 1이미 맺은 연결의 응답허용
  2. 2DNS (53)허용
  3. 3직접 · 자동 차단막음 · 기간이 지나면 해제
  4. 4공개 차단 목록막음
  5. 5국가막음

보안 원칙

서버를 지키려고 들인 도구가 새 구멍이 되지 않도록 만들었습니다.

  • 서버는 들어오는 포트를 열지 않습니다. 에이전트가 항상 먼저 콘솔로 나갑니다.
  • 모든 명령은 Ed25519 로 서명됩니다. 60초 뒤 만료되고, 한 번만 실행되며, 지정된 서버만 실행합니다.
  • 허용된 다섯 가지 동작뿐입니다. 상태 확인 · 밴 · 언밴 · 대역 차단 · 차단 해제 — 셸을 거치지 않고 인자 배열로만 실행합니다.
  • 내 접속 경로는 막지 않습니다. 사설망 · 루프백 · 내가 지정한 대역은 콘솔이 차단을 거부하고, 명령은 서버의 래퍼가 한 번 더 검사합니다.
  • 비밀은 파일로만 넣습니다. API 키 · 텔레그램 토큰 · 서명 키는 콘솔 서버의 파일로 주입하고, 비밀번호는 PBKDF2 로 해시합니다.
  • 로그인을 지킵니다. TOTP 2단계 인증, 5회 실패 시 15분 잠금, 상태를 바꾸는 요청마다 CSRF 토큰을 확인합니다.

사용 조건

보호할 서버
리눅스(systemd) + fail2ban · nftables · sqlite3. amd64 · arm64. Ubuntu 22.04 · CentOS 8 에서 확인했습니다.
콘솔 서버
1대. JDK 21 · Tomcat 11 · PostgreSQL 17. Docker 로 띄우면 간단합니다.
네트워크
서버들이 콘솔 주소로 HTTPS 접속할 수 있으면 됩니다. 콘솔은 VPN 이나 내부망 뒤에 두기를 권합니다.
시계
모든 서버의 시계를 NTP 로 맞춥니다. 서명 시각이 60초 넘게 어긋나면 거부됩니다.
화면 언어
콘솔 화면과 로그 메시지는 지금 한국어로 제공됩니다. 이 소개와 가이드는 10개 언어로 읽을 수 있습니다.
요금
무료입니다. 개인 서버를 위해 만들었습니다.

준비 중설치 파일 배포는 준비 중입니다.

준비물과 설치 절차는 무료 가이드에서 먼저 확인하세요.

무료 가이드 보기

무료 가이드로 시작하세요

준비물부터 첫 차단까지, 개인 서버 한 대 기준으로 순서대로 안내합니다.
국가 차단 전에 꼭 알아야 할 것도 함께 담았습니다.

무료 가이드 보기

궁금한 점은 halo@levelupsoft.com