dnf install fail2ban

systemctl enable fail2ban
  Created symlink /etc/systemd/system/multi-user.target.wants/fail2ban.service → 
/usr/lib/systemd/system/fail2ban.service.
systemctl start fail2ban
systemctl status fail2ban
systemctl restart fail2ban
systemctl reload fail2ban

qmailのリンクを必ず確認すること

ls -l /usr/*/sendmail

vi /etc/fail2ban/jail.local

[Definition]
loglevel = INFO

[DEFAULT]
dbpurgeage = 3456000
ignoreip = 127.0.0.1/8 153.231.230.72/29 192.168.10.0/24
bantime  = 1d
findtime  = 10m
maxretry = 3
backend = auto

banaction = firewallcmd-ipset
banaction_allports = firewallcmd-allports

blocktype = DROP

destemail = root@74.myeki.com
sendername = Fail2Ban78
mta = sendmail
action = %(action_mwl)s

[sshd]
enabled = true
port = ssh
filter   = sshd
logpath = %(sshd_log)s
backend = auto

[vsftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
failregex = .* addr=<HOST> terminal=ftp res=failed'\s*$
logpath = /var/log/messages
backend = auto

[qmail]
enabled = true
port = smtp,smtps,submission
failregex = vchkpw-smtp: vpopmail user not found .*:<HOST>\s*$
            vchkpw-smtp: password fail .*:<HOST>\s*$
            vchkpw-smtps: vpopmail user not found .*:<HOST>\s*$
            vchkpw-smtps: password fail .*:<HOST>\s*$
logpath = /var/log/maillog
backend = auto
maxretry = 1

[qmail-pop]
enabled = true
filter = qmail-pop
port = pop3,pop3s
failregex = vchkpw-pop: vpopmail user not found .*:<HOST>\s*$
logpath = /var/log/maillog
backend = auto
bantime  = 1w
findtime = 1d
maxentry = 3

[qmail-rbl]
enabled = true
destemail = shimada-o@myeki.com
port    = smtp,465,submission
failregex = .* rblsmtpd: <HOST> .*\s*$
logpath = /var/log/maillog
maxretry = 1

[dovecot]
enabled = true
filter = dovecot
port    = imaps
logpath = /var/log/secure
bantime = 1w
findtime = 15m
maxentry = 5
backend = auto

[roundcube-auth]
enabled = true
filter  = roundcube-auth
port     = http,https
logpath  = /var/log/roundcubemail/errors.log

[recidive]
enabled = true
filter   = recidive
bantime  = -1
findtime = 1d
maxentry = 6

・(firewallはこっち

banaction = firewallcmd-ipset
banaction_allports = firewallcmd-allports
dir /etc/fail2ban/filter.d
vi /etc/fail2ban/jail.local

アクセス許可

fail2ban-client set sshd unbanip 192.168.2.120

・指定IPアドレスをBAN

# fail2ban-client set <フィルタ-名> banip <IPアドレス>

  例:SSH用に作成したフィルター規則でIPアドレス「10.8.25.2」をBAN

  # fail2ban-client set recidive banip 10.8.25.2

・指定IPアドレスをBAN解除

# fail2ban-client set <フィルタ-名> unbanip <IPアドレス> 
# fail2ban-client set recidive unbanip 118.69.134.204

・状況確認

fail2ban-client status
fail2ban-client status sshd
fail2ban-client status vsftpd
fail2ban-client status qmail
fail2ban-client status qmail-rbl
fail2ban-client status dovecot
fail2ban-client status recidive

・ログ見てるか確認

fail2ban-client get sshd logpath
fail2ban-client get vsftpd logpath
fail2ban-client get qmail logpath
fail2ban-client get qmail-rbl logpath
fail2ban-client get dovecot logpath
fail2ban-client get recidive logpath

・確認(firewall

ipset --list
ipset --list f2b-qmail
ipset --list f2b-recidive

・確認(iptable

iptables -L f2b-qmail -v -n
iptables -L f2b-recidive -v -n

・フィルターの動作確認

fail2ban-regex /var/log/httpd/access_log "<HOST>"
fail2ban-regex /var/log/maillog "%(prefix)s vchkpw-smtp: vpopmail user not found .*:<HOST>\s*$"
fail2ban-regex /var/log/maillog "%(prefix)s vchkpw-smtp: password fail .*:<HOST>\s*$"

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS