Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
freebsd:fail2ban [13/03/2023 14:47] – [Fail2ban] Method | freebsd:fail2ban [04/06/2023 07:56] (поточний) – [Перевірка] Method | ||
---|---|---|---|
Рядок 6: | Рядок 6: | ||
ee / | ee / | ||
</ | </ | ||
- | <code|shell> | + | |
+ | < | ||
#!/bin/sh - | #!/bin/sh - | ||
- | f='/ | + | f='/ |
ifOut=' | ifOut=' | ||
Рядок 15: | Рядок 16: | ||
${f} -f flush | ${f} -f flush | ||
- | # TABLE 1 WHITE LIST | + | # TABLE WHITE LIST |
- | ${f} table 1 add 1.1.1.1 | + | ${f} table WHITE_LIST create |
- | ${f} table 1 add 8.8.8.8 | + | ${f} table WHITE_LIST |
+ | ${f} table WHITE_LIST | ||
- | # TABLE 2 BLACKLIST | + | ${f} add 41 allow ip from " |
+ | ${f} add 42 allow ip from me to " | ||
+ | |||
+ | # Fail2Ban reserved rules range 51 - 100 | ||
+ | ${f} add 51 deny ip from " | ||
# RULE 10 FORWARDING TO CAP | # RULE 10 FORWARDING TO CAP | ||
- | ${f} add 5 fwd 127.0.0.1, | + | ${f} add 105 fwd 127.0.0.1, |
- | + | ||
- | # | + | |
- | ${f} add 10 allow ip from " | + | |
- | ${f} add 20 allow ip from me to " | + | |
- | + | ||
- | + | ||
- | ${f} add 30 deny ip from " | + | |
- | ${f} add 40 deny ip from " | + | |
- | + | ||
- | + | ||
- | ${f} add 50 deny log all from " | + | |
- | ${f} add 60 deny log all from me to " | + | |
- | ${f} add 70 allow tcp from any to me 22, | + | ${f} add 170 allow tcp from any to me 80, |
- | ${f} add 80 allow tcp from me 22, | + | ${f} add 171 allow tcp from me 80, |
# OTHER SETTINGS | # OTHER SETTINGS | ||
- | ${f} add 110 allow ip from any to any via lo0 | + | ${f} add 1110 allow ip from any to any via lo0 |
- | ${f} add 130 deny icmp from 1 to 5, | + | ${f} add 1130 deny icmp from any to any in icmptype |
- | ${f} add 1100 allow ip from any to any | + | ${f} add 1190 allow ip from any to any |
</ | </ | ||
Рядок 53: | Рядок 46: | ||
< | < | ||
- | py27-fail2ban-0.10.4 Scans log files and bans IP, що makes too many password failures | + | py27-fail2ban-0.10.4 Scans log files and bans IP that makes too many password failures |
- | py37-fail2ban-0.10.4 Scans log files and bans IP, що makes too many password failures | + | py37-fail2ban-0.10.4 Scans log files and bans IP that makes too many password failures |
- | py38-fail2ban-0.11.2 Scans log files and bans IP, що makes too many password failures | + | py38-fail2ban-0.11.2 Scans log files and bans IP that makes too many password failures |
+ | py39-fail2ban-1.0.2 | ||
</ | </ | ||
< | < | ||
- | pkg install | + | pkg install |
</ | </ | ||
===== Налаштування ===== | ===== Налаштування ===== | ||
- | |||
< | < | ||
- | cp -r / | + | cp -a / |
cd / | cd / | ||
cp jail.conf jail.local | cp jail.conf jail.local | ||
Рядок 73: | Рядок 66: | ||
Правимо конфіг | Правимо конфіг | ||
< | < | ||
- | ee / | + | ee / |
</ | </ | ||
і наводимо параметри до вигляду: | і наводимо параметри до вигляду: | ||
< | < | ||
- | actionban = /sbin/ipfw table < | + | # Fail2Ban |
- | actionunban = /sbin/ipfw table < | + | # |
- | </code> | + | # Author: Method |
+ | # Automaticaly create tables for any jail with prefix " | ||
- | Для функціонування fail2ban потрібно додати у файрвол правило: | + | [Definition] |
- | <code|bash> | + | actionstart = ipfw table all list | grep ' |
- | ipfw add 50 deny log all from "table(3)" to me | + | actionstop |
- | ipfw add 60 deny log all from me to "table(3)" | + | actioncheck = |
- | </code> | + | actionban |
- | Дивимось на мій приклад / | + | actionunban = e=`ipfw table f2b_<name> delete |
- | + | ||
- | <code|bash> | + | |
- | # Пропишемо в автозавантаження | + | |
- | sysrc fail2ban_enable="YES" | + | |
- | За бажанням - ротація логів | + | |
- | echo '/ | + | |
- | # Запустимо сервіс. | + | |
- | service fail2ban start | + | |
</ | </ | ||
Рядок 102: | Рядок 88: | ||
Створимо конфіг для ssh | Створимо конфіг для ssh | ||
< | < | ||
- | ee / | + | ee / |
</ | </ | ||
з таким вмістом | з таким вмістом | ||
< | < | ||
- | [ssh-ipfw] | + | # Fail2Ban sshd jail configuration file |
- | # Включаємо фільтр. | + | # |
- | enabled = true | + | # Author: Method |
- | # Порт | + | # Atempt: Need manuali aad rule into firewall configuration file by template : |
- | port = 22 | + | # ipfw add < |
- | # використовуємо фільтр та прикладів у conf.d | + | # Example: ipfw add 51 unreach port ip from " |
- | filter | + | |
- | # Вказуємо профіль bsd-ipfw. | + | [DEFAULT] |
- | action = bsd-ipfw[table=3, tablearg=22] | + | ignoreip |
- | # Лог бана | + | |
- | logpath = / | + | # JAILS |
- | # У який проміжок часу відловлюватиме брут | + | [sshd] |
+ | enabled | ||
+ | mode = aggressive | ||
+ | action | ||
+ | logpath | ||
findtime = 600 | findtime = 600 | ||
- | кількість невдалих спроб | ||
maxretry = 3 | maxretry = 3 | ||
- | час бана в секундах або в хвилинах (60m) | + | bantime |
- | bantime = 3600 | + | |
- | # білий список ip для цього правила (через пробіл)! їх не буде банити. | + | |
- | ignoreip = 127.0.0.1/8 | + | |
</ | </ | ||
+ | Для функціонування fail2ban потрібно додати у файрвол правило: | ||
< | < | ||
- | # Перезапустимо сервіс. | + | ${f} add 51 deny ip from " |
- | service fail2ban restart | + | |
</ | </ | ||
- | ===== phpmyadmin ===== | + | Дивимось на мій приклад / |
- | Створимо конфіг для phpmyadmin | ||
< | < | ||
- | ee / | + | # Пропишемо в автозавантаження |
- | </ | + | sysrc fail2ban_enable=" |
- | + | За бажанням - ротація логів | |
- | з таким вмістом | + | echo '/ |
- | < | + | # Запустимо сервіс. |
- | [phpmyadmin] | + | service fail2ban |
- | # Включаємо фільтр. | + | |
- | enabled = true | + | |
- | # Порт | + | |
- | port = http, | + | |
- | # використовуємо фільтр та прикладів у conf.d | + | |
- | filter = phpmyadmin-syslog | + | |
- | # Вказуємо профіль bsd-ipfw. | + | |
- | action = bsd-ipfw[table=3, | + | |
- | # Лог бана | + | |
- | logpath = / | + | |
- | # У який проміжок часу відловлюватиме брут | + | |
- | findtime = 600 | + | |
- | кількість | + | |
- | maxretry | + | |
- | час бана в секундах або в хвилинах (60m) | + | |
- | bantime = 273600 | + | |
- | # білий список ip для цього правила (через пробіл)! їх не буде банити. | + | |
- | ignoreip = 127.0.0.1/8 | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | # Перезапустимо сервіс. | + | |
- | service fail2ban | + | |
</ | </ | ||
Рядок 176: | Рядок 138: | ||
Status | Status | ||
- Number of jail: 1 | - Number of jail: 1 | ||
- | - Jail list: ssh-ipfw | + | - Jail list: sshd |
</ | </ | ||
< | < | ||
- | fail2ban-client status | + | fail2ban-client status |
</ | </ | ||
Рядок 194: | Рядок 156: | ||
`- Banned IP list: 10.10.10.10 | `- Banned IP list: 10.10.10.10 | ||
</ | </ | ||
- | |||
- | |||
===== Ручний бан/ | ===== Ручний бан/ | ||
Рядок 205: | Рядок 165: | ||
fail2ban-client set < | fail2ban-client set < | ||
</ | </ | ||
+ | |||
+ | ===== phpmyadmin ===== | ||
+ | |||
+ | Створимо конфіг для phpmyadmin | ||
+ | < | ||
+ | ee / | ||
+ | </ | ||
+ | |||
+ | з таким вмістом | ||
+ | < | ||
+ | # Fail2Ban phpmyadmin jail configuration file | ||
+ | # | ||
+ | # Author: Method | ||
+ | # Atempt: Need manuali aad rule into firewall configuration file by template : | ||
+ | # ipfw add < | ||
+ | # Example: ipfw add 51 unreach port ip from " | ||
+ | |||
+ | [DEFAULT] | ||
+ | ignoreip = 127.0.0.1/8 | ||
+ | |||
+ | # JAILS | ||
+ | [phpmyadmin] | ||
+ | enabled | ||
+ | port = http,https | ||
+ | filter | ||
+ | action | ||
+ | logpath | ||
+ | findtime = 600 | ||
+ | maxretry = 3 | ||
+ | bantime | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # Перезапустимо сервіс. | ||
+ | service fail2ban restart | ||
+ | </ | ||
+ |