우분투 ssh 차단

Gin Song·2024년 8월 16일

네, SSH 접속 시도가 일정 횟수 이상 실패하면 해당 IP를 자동으로 차단하는 방법이 있습니다. 이를 위해 주로 사용되는 도구는 'fail2ban'입니다. fail2ban을 사용하여 SSH 접속 시도 실패를 모니터링하고 IP를 차단할 수 있습니다. 다음은 Ubuntu 서버에서 fail2ban을 설정하는 방법입니다:

  1. fail2ban 설치:

    sudo apt update
    sudo apt install fail2ban
  2. fail2ban 설정 파일 복사:

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  3. jail.local 파일 편집:

    sudo nano /etc/fail2ban/jail.local
  4. [sshd] 섹션을 찾아 다음과 같이 수정:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 10
    bantime = 600

    여기서:

    • maxretry: 차단 전 허용되는 최대 실패 횟수
    • bantime: 차단 지속 시간(초 단위, 600은 10분)
  5. fail2ban 서비스 재시작:

    sudo systemctl restart fail2ban

이렇게 설정하면 10번의 실패한 접속 시도 후에 해당 IP가 10분 동안 차단됩니다.

추가 팁:

  • bantime을 -1로 설정하면 영구 차단할 수 있습니다.
  • findtime 옵션을 사용하여 실패 시도를 카운트할 시간 범위를 설정할 수 있습니다.
  • ignoreip 옵션을 사용하여 특정 IP를 차단 대상에서 제외할 수 있습니다.

fail2ban은 SSH뿐만 아니라 다양한 서비스에 대해 유사한 보호를 제공할 수 있으므로, 서버 보안을 강화하는 데 매우 유용한 도구입니다.

sudo fail2ban-client get sshd banip
sudo fail2ban-client status sshd

네, 이 세 가지 보안 관련 도구들에 대해 자세히 설명해드리겠습니다.

  1. 정기적인 로그 분석 (Logwatch):

Logwatch는 시스템 로그를 분석하고 요약하는 도구입니다.

설치:

sudo apt install logwatch

사용:

  • 기본 설정으로 실행: sudo logwatch
  • 특정 기간 분석: sudo logwatch --range All
  • 특정 서비스 분석: sudo logwatch --service sshd

특징:

  • 다양한 로그 파일을 자동으로 분석
  • 일일 이메일 보고서 생성 가능
  • 사용자 정의 필터 및 보고서 옵션

설정:

  • 주요 설정 파일: /etc/logwatch/conf/logwatch.conf
  • 사용자 정의: /etc/logwatch/conf/override.conf
  1. 취약점 스캐닝 (Lynis):

Lynis는 UNIX 기반 시스템의 보안 및 시스템 강화를 위한 오픈 소스 도구입니다.

설치:

sudo apt install lynis

사용:

  • 전체 시스템 스캔: sudo lynis audit system
  • 특정 테스트 실행: sudo lynis audit system --tests SSH-7408
  • 보고서 생성: sudo lynis audit system --auditor "Your Name" --report-file /tmp/report.dat

특징:

  • 시스템 구성, 소프트웨어 패치, 악성 소프트웨어 등을 검사
  • 상세한 로그 및 보고서 제공
  • 보안 강화를 위한 제안 사항 제공
  1. 시스템 모니터링 (Zabbix):

Zabbix는 네트워크와 애플리케이션을 모니터링하는 엔터프라이즈급 오픈 소스 솔루션입니다.

설치 (Ubuntu 20.04 기준):

wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
sudo dpkg -i zabbix-release_5.0-1+focal_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent

데이터베이스 설정, 웹 인터페이스 설정 등 추가 단계가 필요합니다.

사용:

  • 웹 인터페이스를 통해 대시보드에서 모니터링
  • 명령줄에서 상태 확인: zabbix_get -s 127.0.0.1 -k system.cpu.load[all,avg1]

특징:

  • 실시간 모니터링 및 알림
  • 성능 및 가용성 모니터링
  • 사용자 정의 대시보드 및 보고서
  • 분산 모니터링 지원

이 도구들을 효과적으로 사용하려면 초기 설정과 주기적인 관리가 필요합니다. Logwatch는 일일 로그 분석에, Lynis는 주간 또는 월간 보안 검사에, Zabbix는 지속적인 시스템 모니터링에 적합합니다. 각 도구의 문서를 참조하여 서버 환경에 맞게 구성하는 것이 중요합니다.

0개의 댓글