반응형

서버를 운영하다보면 다양한 IP로 부터 공격을 받게 됩니다.

접속 로그를 확인해보면 하루에도 수십번에 접속 시도를 확인 할 수 있습니다.

 

fail2ban 패키지를 사용하면 로그인 실패 횟수를 설정하고 해당 IP를 차단 할 수 있습니다.

1. fail2ban 설치

sudo dnf install fail2ban -y

 

2. SSH 감시를 위한 기본 설정

fail2ban의 기본 설정 파일을 편집하여 SSH 접속 실패에 대한 감시를 설정합니다.

 jail.local 파일이 없을 경우 jail.conf 파일을 jail.local로 복사하여 수정합니다.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
 

3. jail.local 설정

jail.local 파일에서 SSH 관련 설정을 추가합니다. 아래와 같이 설정할 수 있습니다.

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 5
bantime = 3600
findtime = 600
  • enabled = true: 해당 jail을 활성화합니다.
  • port = ssh: 감시할 포트를 지정합니다.
  • filter = sshd: SSH 접속 실패 패턴을 찾기 위한 필터를 지정합니다.
  • logpath = /var/log/secure: SSH 로그 파일 경로를 지정합니다.
  • maxretry = 5: 5번 실패 시 IP를 차단합니다.
  • bantime = 3600: 차단 시간(초)을 설정합니다. 여기서는 1시간(3600초)입니다.
  • findtime = 600: 10분(600초) 동안 5번 실패하면 차단합니다.

 

4. fail2ban 서비스 시작 및 재시작

설정을 마친 후 fail2ban 서비스를 시작하고 활성화합니다.

sudo systemctl start fail2ban
sudo systemctl 
enable fail2ban
 

5. 설정 확인

fail2ban이 올바르게 작동하는지 확인하려면 다음 명령어를 사용할 수 있습니다.

# 설정 상태 확인
sudo fail2ban-client status

# 차단된 IP 확인
sudo fail2ban-client status sshd
 

※ 명령어 수행 화면

[break_in@Linux /home/break_in]#  sudo fail2ban-client status
Status
|- Number of jail:      1
`- Jail list:   sshd
 
실제로 많은 IP가 차단되었음을 확인할 수 있습니다.
[break_in@Linux /home/break_in]#  sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     16
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 193
   |- Total banned:     194
   `- Banned IP list:   101.126.64.15 101.126.69.203 101.126.95.220 101.32.114.105 101.42.237.107 101.43.26.143 101.43.39.17 101.43.4.185 103.139.193.99 103.142.87.231 103.143.231.132 103.143.72.165 103.163.118.84 103.172.204.55 103.174.103.90 103.176.78.193 103.211.217.182 103.248.60.70 103.25.47.94 103.92.24.242 103.99.115.26 106.12.222.76 106.124.137.140 106.58.219.160 109.236.47.90 109.75.33.121 112.103.254.249 112.184.135.67 112.6.122.181 113.137.40.250 113.88.210.159 114.100.49.20 114.217.20.159 115.247.46.122 118.179.135.65 119.28.118.4 120.28.109.188 121.229.62.94 122.227.174.98 124.156.205.16 125.124.45.195 125.91.122.29 128.199.137.110 128.199.206.26 128.199.70.247 129.226.198.6 129.226.215.132 134.122.13.225 134.209.157.237 139.59.36.213 139.59.79.179 14.29.147.56 14.48.202.73 14.56.193.140 140.246.22.189 143.110.220.40 146.190.119.107 150.158.31.194 154.221.21.206 156.236.71.21 156.54.108.185 157.148.123.74 159.203.104.187 161.35.182.145 162.241.71.207 165.227.2.252 165.227.201.152 167.99.224.42 174.160.133.10 175.178.114.15 175.204.112.213 176.31.253.67 178.128.56.162 178.128.73.254 178.62.66.67 182.253.47.126 183.106.6.202 183.162.79.39 185.126.34.211 185.174.136.146 185.233.37.14 185.6.105.150 186.31.95.163 187.188.0.71 187.210.77.100 187.49.152.10 187.72.83.169 187.95.160.53 188.166.161.55 188.213.197.78 190.119.66.238 190.221.7.146 193.32.162.29 194.110.54.141 194.113.236.217 194.145.208.178 195.24.56.135 196.219.43.154 197.199.224.52 197.227.8.186 198.23.174.113 201.149.49.146 201.251.51.218 201.6.100.191 202.157.184.3 203.0.104.170 203.150.34.32 206.189.121.27 206.189.175.87 206.189.230.76 211.75.19.210 212.233.136.201 213.194.140.33 217.160.88.147 217.182.73.127 217.60.244.8 218.70.106.202 220.194.171.236 23.158.56.100 34.139.17.74 34.92.176.182 35.219.62.194 36.138.68.207 36.64.217.27 41.223.66.252 42.123.122.175 42.180.160.78 42.51.33.212 43.128.142.238 43.128.233.205 43.133.42.162 43.134.129.4 43.134.13.231 43.134.226.192 43.134.237.227 43.134.41.24 43.135.172.65 43.153.171.66 43.153.219.239 43.153.84.164 43.154.96.206 43.156.156.39 43.156.3.145 43.159.59.118 45.131.108.155 46.101.9.148 47.237.30.245 47.245.87.100 49.205.174.180 49.232.6.67 51.15.218.133 51.178.182.201 52.86.173.91 58.220.39.220 58.228.29.87 59.127.158.223 59.36.75.227 61.155.106.101 61.191.103.17 64.227.126.250 64.227.149.214 67.205.160.228 69.49.246.102 79.110.62.145 79.137.197.11 79.224.101.219 8.218.134.133 8.219.117.148 8.219.237.64 8.222.197.223 80.94.92.139 81.161.238.51 81.192.46.38 82.67.7.178 83.12.113.122 83.97.73.40 88.214.25.16 89.185.85.182 89.46.223.31 89.46.223.35 91.196.54.125 91.205.219.185 91.237.163.37 91.92.252.162 92.87.22.210 93.113.63.124 93.197.94.25 94.228.169.65 95.181.86.2 95.214.27.253 95.90.242.212 96.126.113.215 8.222.172.160

 

6. 차단된 IP 해제 방법

SSH 접속 간 패스워드 입력 실수로 인해 내 PC IP가 차단될 경우의 조치 방법입니다.

sudo fail2ban-client set sshd unbanip 192.168.0.100

'IT기술노트 > Linux' 카테고리의 다른 글

Linux Bash 쉘 프로그래밍  (4) 2024.10.31

+ Recent posts