fail2ban-deployment
This commit is contained in:
parent
0fdd46cea3
commit
9ae22a413f
100
fail2ban-deploy.sh
Normal file
100
fail2ban-deploy.sh
Normal file
@ -0,0 +1,100 @@
|
||||
#!/usr/bin/env bash
|
||||
echo '___________________________________________'
|
||||
echo 'Welcome to the Fail2Ban deployment service'
|
||||
echo 'https://gitlab.com/m0ze1r/fail2ban.git'
|
||||
echo 'debian needs this to be ran as root because'
|
||||
echo 'of permission issues, please ensure you are running as root'
|
||||
echo '___________________________________________'
|
||||
sleep 5
|
||||
##############
|
||||
sleep 1
|
||||
##############
|
||||
echo '___________________'
|
||||
echo 'installing fail2ban'
|
||||
echo '___________________'
|
||||
sudo apt install fail2ban -y
|
||||
##############
|
||||
sleep 2
|
||||
##############
|
||||
echo '_______________________'
|
||||
echo 'adding fail2ban for ssh'
|
||||
echo '_______________________'
|
||||
##############
|
||||
sleep 1
|
||||
##############
|
||||
cat <<EOF > /etc/fail2ban/jail.d/sshd.conf
|
||||
[sshd]
|
||||
enabled = true
|
||||
port = ssh
|
||||
port = 22853
|
||||
filter = sshd
|
||||
logpath = /var/log/auth.log
|
||||
maxretry = 3
|
||||
bantime = 1800 # 30 minutes
|
||||
ignoreip = whitelist-IP
|
||||
EOF
|
||||
##############
|
||||
sleep 1
|
||||
##############
|
||||
echo '_________________________'
|
||||
echo 'adding fail2ban for nginx'
|
||||
echo '_________________________'
|
||||
##############
|
||||
cat <<EOF > /etc/fail2ban/jail.d/nginx.conf
|
||||
[nginx-auth]
|
||||
enabled = true
|
||||
filter = nginx-auth
|
||||
action = iptables-multiport[name=NoAuthFailures, port="http,https"]
|
||||
logpath = /var/log/nginx*/*error*.log
|
||||
bantime = 1800 # 30 minutes
|
||||
maxretry = 6
|
||||
|
||||
[nginx-login]
|
||||
enabled = true
|
||||
filter = nginx-login
|
||||
action = iptables-multiport[name=NoLoginFailures, port="http,https"]
|
||||
logpath = /var/log/nginx*/*access*.log
|
||||
bantime = 1800 # 30 minutes
|
||||
maxretry = 6
|
||||
|
||||
[nginx-badbots]
|
||||
enabled = true
|
||||
filter = apache-badbots
|
||||
action = iptables-multiport[name=BadBots, port="http,https"]
|
||||
logpath = /var/log/nginx*/*access*.log
|
||||
bantime = 604800 # 1 week
|
||||
maxretry = 1
|
||||
|
||||
[nginx-noscript]
|
||||
enabled = true
|
||||
action = iptables-multiport[name=NoScript, port="http,https"]
|
||||
filter = nginx-noscript
|
||||
logpath = /var/log/nginx*/*access*.log
|
||||
maxretry = 6
|
||||
bantime = 86400 # 1 day
|
||||
|
||||
[nginx-proxy]
|
||||
enabled = true
|
||||
action = iptables-multiport[name=NoProxy, port="http,https"]
|
||||
filter = nginx-proxy
|
||||
logpath = /var/log/nginx*/*access*.log
|
||||
maxretry = 7
|
||||
bantime = 86400 # 1 day
|
||||
EOF
|
||||
##############
|
||||
sleep 1
|
||||
##############
|
||||
echo 'exiting root environment'
|
||||
exit
|
||||
sleep 1
|
||||
##
|
||||
echo '______________________________'
|
||||
echo 'enabling fail2ban as a service'
|
||||
echo '______________________________'
|
||||
sudo systemctl enable --now fail2ban
|
||||
##############
|
||||
sleep 1
|
||||
##############
|
||||
echo '_________________________________________'
|
||||
echo 'Fail2Ban is now deployed, Have a nice day'
|
||||
echo '_________________________________________'
|
Loading…
x
Reference in New Issue
Block a user