자유게시판
자동화 챌린지

EC-2 서버에 설치하면 좋은 보안

작성자 정보

  • 튜터 작성
  • 작성일

컨텐츠 정보

본문

<fail2ban란?>

Fail2ban은 리눅스 서버 보안 도구로, 로그 파일을 모니터링하여 악의적인 접근 시도(예: 반복적인 로그인 실패)를 감지하고, 해당 IP를 자동으로 차단하는 침입 방지 시스템입니다.

<작동 방식>

SSH, Apache, Nginx 등의 로그 파일을 실시간 감시
설정된 패턴(예: 5분 내 5회 로그인 실패)과 일치하는 행위 탐지
iptables나 firewalld를 통해 해당 IP를 일정 시간 차단

===

===

< fail2ban 설치 및 활성화 방법>

  # 1. 설치
  sudo dnf install -y fail2ban

  # 2. 설정 파일 생성
  sudo nano /etc/fail2ban/jail.local

  아래 내용 입력:
  [DEFAULT]
  bantime = 1h
  findtime = 10m
  maxretry = 5

  [sshd]
  enabled = true
  port = ssh
  logpath = /var/log/secure
  maxretry = 3
  bantime = 1h

  # 3. 서비스 시작 및 자동시작 등록
  sudo systemctl enable fail2ban
  sudo systemctl start fail2ban

  # 4. 상태 확인
  sudo fail2ban-client status sshd

===

<주요 명령어>

  # 1. 24시간 내 SSH 공격 횟수
  sudo journalctl -u sshd --since '24 hours ago' | grep -i 'failed\|invalid' | wc -l

  # 2. 공격자 IP 순위 (많이 시도한 순)
  sudo journalctl -u sshd --since '24 hours ago' | grep -i 'failed' | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort | uniq -c | sort -rn | head -10

  # 3. 현재 차단된 IP 목록
  sudo fail2ban-client banned

  # 4. 특정 IP 수동 차단
  sudo fail2ban-client set sshd banip 123.456.789.0

  # 5. 특정 IP 차단 해제
  sudo fail2ban-client set sshd unbanip 123.456.789.0

  # 6. 서비스 재시작
  sudo systemctl restart fail2ban

관련자료

댓글 1

fhdl님의 댓글

  • fhdl
  • 작성일
유용한 정보 감사합니다