본문 바로가기
카테고리 없음

[OMV6]침입 차단(로그 기반)하기 — Fail2Ban 설치 & 사용 가이드

by Hoft 2025. 12. 17.
728x90
반응형

 

안녕하세요 🙂
집에서 NAS나 서버를 굴리고 있다면, 외부 침입 시도 한 번쯤은 걱정해보셨을 거예요.

특히 OpenMediaVault 6(OMV6) 는 Debian 기반이라 SSH, FTP, SMB 같은 서비스가 열려 있는 경우가 많고,
인터넷에 노출되면 무작위 로그인 시도(Brute Force) 가 정말 자주 들어옵니다.

오늘은 이런 공격을 로그 기반으로 자동 차단해주는
👉 Fail2Ban 을 OMV6에 설치하고 실전에서 쓰는 방법을
처음 쓰는 분도 따라 할 수 있게 차근차근 정리해볼게요.


🔍 Fail2Ban이 뭐야?

Fail2Ban 은 서버 로그를 계속 감시하다가

  • 로그인 실패가 일정 횟수 이상 발생하면
  • 해당 IP를 자동으로 차단(iptable / nftables)

해주는 침입 차단 도구입니다.

쉽게 말해:

"너 로그인 계속 틀리네? → 당분간 접근 금지 🚫"

이걸 자동으로 해주는 친구예요.


🧱 OMV6에서 Fail2Ban을 써야 하는 이유

OMV6 기본 상태에서는:

  • SSH 무차별 대입 공격 ❌
  • FTP 계정 공격 ❌
  • 웹 로그인 반복 시도 ❌

이런 걸 자동으로 막아주지 않습니다.

Fail2Ban을 쓰면:

  • 서버 부하 감소
  • 보안 로그 깔끔해짐
  • 실질적인 해킹 시도 차단

👉 집 NAS라도 무조건 설치 추천입니다.


🛠️ 1. Fail2Ban 설치하기

OMV6는 Debian 11 기반이라 아주 간단해요.

sudo apt update
sudo apt install fail2ban -y

설치가 끝나면 서비스 상태부터 확인해볼게요.

sudo systemctl status fail2ban

정상이라면 active (running) 이 보일 거예요.


📂 2. 설정 파일 구조 이해하기 (중요!)

Fail2Ban 설정 파일은 이렇게 구성돼 있어요.

/etc/fail2ban/
 ├─ fail2ban.conf   (기본 설정)
 ├─ jail.conf       (기본 규칙 ❌ 직접 수정 X)
 ├─ jail.local      (내가 쓸 설정 ✅)
 └─ filter.d/       (로그 분석 규칙들)

⚠️ 절대 jail.conf 를 직접 수정하지 마세요
업데이트 시 덮어씌워집니다.

👉 우리는 jail.local 만 사용할 거예요.


✍️ 3. jail.local 파일 생성

sudo nano /etc/fail2ban/jail.local

🔐 SSH 보호 기본 설정

[sshd]
enabled  = true
port     = ssh
logpath  = /var/log/auth.log
maxretry = 5
bantime  = 3600
findtime = 600

옵션 설명 (사람 말로 😄)

  • enabled: 규칙 활성화
  • maxretry: 5번 틀리면
  • findtime: 10분 안에
  • bantime: 1시간 차단

👉 집 NAS 기준으로 아주 무난한 설정입니다.


🔄 4. Fail2Ban 재시작

sudo systemctl restart fail2ban

그리고 상태 확인!

sudo fail2ban-client status

결과 예시:

Status
|- Number of jail: 1
`- Jail list: sshd

오케이 👍


🚫 5. 차단된 IP 확인하기

sudo fail2ban-client status sshd

출력 예:

Banned IP list: 203.xxx.xxx.10 45.xxx.xxx.22

여기 보이는 IP들은 자동으로 차단된 상태입니다.


🔓 6. 실수로 차단된 IP 해제하기

집에서 테스트하다 보면 내 IP가 차단되는 경우도 많아요 😂

sudo fail2ban-client set sshd unbanip 192.168.0.10

🌍 7. 내부 IP는 절대 차단 안 하게 하기 (강추)

ignoreip = 127.0.0.1/8 ::1 192.168.0.0/24

👉 집 공유기 대역은 꼭 넣어주세요.

전체 예시:

[DEFAULT]
ignoreip = 127.0.0.1/8 ::1 192.168.0.0/24

[sshd]
enabled = true

📜 8. Fail2Ban 로그 확인하기

sudo tail -f /var/log/fail2ban.log

여기서 보면

  • 언제
  • 어떤 IP가
  • 왜 차단됐는지

다 나옵니다.


🔥 9. FTP, Web 로그인도 막을 수 있을까?

👉 가능합니다!

예를 들어 FTP:

[vsftpd]
enabled = true
port = ftp
logpath = /var/log/vsftpd.log
maxretry = 3

OMV 웹 로그인은 Nginx 로그 기반 커스텀 필터를 써야 해서
이건 다음 글에서 따로 자세히 다뤄볼게요 😉


✅ 운영하면서 느낀 팁

  • bantime은 너무 길게 ❌ (실수 대비)
  • maxretry는 3~5 추천
  • SSH 포트 변경 + Fail2Ban 조합은 매우 강력

🎯 마무리

Fail2Ban은:

  • 설정은 단순하지만
  • 효과는 확실한
  • 가성비 최고의 보안 도구입니다.

OMV6 쓰신다면 무조건 설치하세요.

 

728x90
반응형

댓글