소스 검색

Changed Fail2ban settings, updated Readme (#191)

* Made fail2ban settings more consistent across OSes, disabled HTTP ratelimit permaban on Debian as auto-refresh behaviour in FusionPBX can trigger it.

* Increase nginx-404 ban back to 1 hour
danry25 6 년 전
부모
커밋
009702bd12
5개의 변경된 파일18개의 추가작업 그리고 15개의 파일을 삭제
  1. 7 4
      README.md
  2. 3 3
      centos/resources/fail2ban/jail.local
  3. 3 3
      debian/resources/fail2ban/jail.local
  4. 3 3
      devuan/resources/fail2ban/jail.local
  5. 2 2
      freebsd/resources/fail2ban/jail.local

+ 7 - 4
README.md

@@ -1,9 +1,9 @@
 
 
 FusionPBX Install
 FusionPBX Install
 --------------------------------------
 --------------------------------------
-A quick install guide for a FusionPBX install. It is recommended to start the install on a minimal install of the operating system.
-
+A quick install guide for a FusionPBX install. It is recommended to start the install on a minimal install of the operating system. Notes on further tweaking your configuration are at end of the file.
 
 
+## Operating Systems
 ### Debian
 ### Debian
 Debian 8 is the preferred operating system by the FreeSWITCH developers. It supports the latest video dependencies. If you want to do video mixing use Debian. Download Debian 8 Jessie from here https://cdimage.debian.org/cdimage/archive/
 Debian 8 is the preferred operating system by the FreeSWITCH developers. It supports the latest video dependencies. If you want to do video mixing use Debian. Download Debian 8 Jessie from here https://cdimage.debian.org/cdimage/archive/
 
 
@@ -13,7 +13,7 @@ cd /usr/src/fusionpbx-install.sh/debian && ./install.sh
 ```
 ```
 ### Devuan
 ### Devuan
 If you like Debian but rather not bother with systemd, Devuan is a "drop in" replacement.
 If you like Debian but rather not bother with systemd, Devuan is a "drop in" replacement.
-Version 1 is bassed on Jessie. So you will find the same packages available.
+Version 1 is bassed on Jessie, so you will find the same packages available.
 Please note that the source installation and installation on ARM is not fully tested.
 Please note that the source installation and installation on ARM is not fully tested.
 
 
 ```sh
 ```sh
@@ -45,10 +45,13 @@ cd /usr/src/fusionpbx-install.sh/centos && ./install.sh
 *  Click to download the zip file and extract it.
 *  Click to download the zip file and extract it.
 *  Extract the zip file
 *  Extract the zip file
 *  Navigate to install.ps1
 *  Navigate to install.ps1
-*  Click on install.ps1 then right click on install.ps1 then choose Run with Powershell 
+*  Click on install.ps1 then right click on install.ps1 then choose Run with Powershell
 *  If you are not already Administrator you will have to choose run as Administrator
 *  If you are not already Administrator you will have to choose run as Administrator
 
 
 ```sh
 ```sh
 
 
 Master https://github.com/fusionpbx/fusionpbx-install.sh/archive/master.zip
 Master https://github.com/fusionpbx/fusionpbx-install.sh/archive/master.zip
 ```
 ```
+
+## Security Considerations
+Fail2ban is installed and pre-configured for all operating systems this repository works on besides Windows, but the default settings may not be ideal depending on your needs. Please take a look at the jail file (/etc/fail2ban/jail.local on Debian/Devuan) to configure it to suit your application and security model!

+ 3 - 3
centos/resources/fail2ban/jail.local

@@ -95,7 +95,7 @@ port     = 80,443
 protocol = tcp
 protocol = tcp
 filter   = nginx-404
 filter   = nginx-404
 logpath  = /var/log/nginx/access*.log
 logpath  = /var/log/nginx/access*.log
-bantime  = 600
+bantime  = 3600
 findtime = 60
 findtime = 60
 maxretry = 120
 maxretry = 120
 
 
@@ -103,11 +103,11 @@ maxretry = 120
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
 # Block for two full days.
 # Block for two full days.
-enabled  = true
+enabled  = false
 port     = 80,443
 port     = 80,443
 protocol = tcp
 protocol = tcp
 filter   = nginx-dos
 filter   = nginx-dos
 logpath  = /var/log/nginx/access*.log
 logpath  = /var/log/nginx/access*.log
 findtime = 60
 findtime = 60
-bantime  = 172800
+bantime  = 86400
 maxretry = 240
 maxretry = 240

+ 3 - 3
debian/resources/fail2ban/jail.local

@@ -104,7 +104,7 @@ action   = iptables-allports[name=fusionpbx-mac, protocol=all]
 #          sendmail-whois[name=fusionpbx-mac, dest=root, [email protected]] #no smtp server installed
 #          sendmail-whois[name=fusionpbx-mac, dest=root, [email protected]] #no smtp server installed
 maxretry = 5
 maxretry = 5
 findtime = 300
 findtime = 300
-bantime  = -1
+bantime  = 86400
 
 
 [nginx-404]
 [nginx-404]
 enabled  = true
 enabled  = true
@@ -120,12 +120,12 @@ maxretry = 120
 [nginx-dos]
 [nginx-dos]
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
-enabled  = true
+enabled  = false
 port     = 80,443
 port     = 80,443
 protocol = tcp
 protocol = tcp
 filter   = nginx-dos
 filter   = nginx-dos
 logpath  = /var/log/nginx/access*.log
 logpath  = /var/log/nginx/access*.log
 action   = iptables-allports[name=nginx-dos, protocol=all]
 action   = iptables-allports[name=nginx-dos, protocol=all]
 findtime = 60
 findtime = 60
-bantime  = -1
+bantime  = 86400
 maxretry = 240
 maxretry = 240

+ 3 - 3
devuan/resources/fail2ban/jail.local

@@ -95,7 +95,7 @@ port     = 80,443
 protocol = tcp
 protocol = tcp
 filter   = nginx-404
 filter   = nginx-404
 logpath  = /var/log/nginx/access*.log
 logpath  = /var/log/nginx/access*.log
-bantime  = 600
+bantime  = 3600
 findtime = 60
 findtime = 60
 maxretry = 120
 maxretry = 120
 
 
@@ -103,11 +103,11 @@ maxretry = 120
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
 # Block for two full days.
 # Block for two full days.
-enabled  = true
+enabled  = false
 port     = 80,443
 port     = 80,443
 protocol = tcp
 protocol = tcp
 filter   = nginx-dos
 filter   = nginx-dos
 logpath  = /var/log/nginx/access*.log
 logpath  = /var/log/nginx/access*.log
 findtime = 60
 findtime = 60
-bantime  = 172800
+bantime  = 86400
 maxretry = 240
 maxretry = 240

+ 2 - 2
freebsd/resources/fail2ban/jail.local

@@ -86,7 +86,7 @@ bantime  = 3600
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # Based on apache-badbots but a simple IP check (any IP requesting more than
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
 # 240 pages in 60 seconds, or 4p/s average, is suspicious)
 # Block for two full days.
 # Block for two full days.
-enabled  = true
+enabled  = false
 port     = 80,443
 port     = 80,443
 protocol = tcp
 protocol = tcp
 filter   = nginx-dos
 filter   = nginx-dos
@@ -94,4 +94,4 @@ logpath  = /var/log/nginx/access*.log
 findtime = 60
 findtime = 60
 maxretry = 240
 maxretry = 240
 banaction = pf
 banaction = pf
-bantime  = 172800
+bantime  = 86400