서버관리

본문 바로가기

서버관리

서버관리

fail2ban을 이용하여 auto.php라는 string으로 접근하려는 시도를 차단하는 방법

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 852회 작성일 24-11-27 08:04

본문

특정 패턴에 반복적으로 접근하는 IP를 자동으로 차단하려면 Fail2Ban을 사용할 수 있습니다.

설정 방법(Apache 로그를 기반으로 규칙 생성)

1. 필터 파일 생성
⦁ /etc/fail2ban/filter.d/auto-php.conf 파일을 열고 다음 내용 추가
[Definition]
failregex = <HOST>.*GET.*auto\.php.*
ignoreregex =

2. /etc/fail2ban/jail.local 파일에 다음 규칙 추가(없으면 새로 생성)
[auto-php]
enabled = true
filter = auto-php
logpath = /var/log/httpd/*access.log
maxretry = 1
bantime = 3600
findtime = 600
⦁ maxretry : 시도 횟수 제한
⦁ bantime : 차단 시간(초)
⦁ findtime : 감지 주기 (600초 동안 1번 이상 감지되면 차단)

3. 설정 적용 및 테스트
⦁ 설정확인
sudo fail2ban-client reload
sudo fail2ban-client status
⦁ 테스트 방법
(1) 로그 파일에 auto.php를 포함한 요청을 수동으로 추가합니다.
echo '192.168.1.100 - - [27/Nov/2024:14:00:00 +0000] "GET /auto.php HTTP/1.1" 404 123 "-" "Mozilla/5.0"' >> /var/log/httpd/samnong-access.log
※ 테스트할 때 날짜와 시간 주의
(2) fail2ban이 제대로 차단했는지 확인합니다.
sudo fail2ban-client status auto-php

4. Fail2Ban 재시작
systemctl restart fail2ban

5. 실시간 차단 확인
⦁ 차단된 IP를 확인하려면
sudo fail2ban-client status auto-php
⦁ 특정 IP를 수동으로 차단 해제하려면
sudo fail2ban-client unban
⦁ bantime을 영구적으로 설정하려면
bantime = -1 # -1은 영구 차단

추가 팁
⦁ fail2ban 로그를 모니터링하여 동작을 확인하세요
sudo tail -f /var/log/fail2ban.log
⦁ 과도한 로그 차단으로 인한 오작동을 방지하려면 findtime과 maxretry 값을 조정하세요
⦁ 차단된 로그를 별도 파일로 저장하기
grep "\[wordpress\] Ban" /var/log/fail2ban.log > /var/log/fail2ban.wordpress.log
grep -i "\[auto-php.*Ban" /var/log/fail2ban.log > /var/log/fail2ban.auto-php.log
⦁ 차단된 로그를 날짜별로 저장하기
cp /var/log/fail2ban.wordpress.log /var/log/fail2ban.wordpress.log241209
cp /var/log/fail2ban.auto-php.log /var/log/fail2ban.auto-php.log241209

댓글목록

등록된 댓글이 없습니다.

회원로그인


  • 케이엔아이시스템
  • 대표 : 김현철
  • 경기도 안양시 동안구 부림로80 한양빌딩 601-1201
  • TEL : 010-2890-1451
  • E-mail : khc@knisystem.co.kr
  • 사업자등록번호 : 130-31-39246
Copyright © KNISYSTEM All rights reserved.