Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
freebsd:fail2ban [31/03/2023 17:20] – [new] 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 | ||
</ | </ | ||
- | |||
- | |||
===== Ручний бан/ | ===== Ручний бан/ | ||
Рядок 206: | Рядок 166: | ||
</ | </ | ||
+ | ===== phpmyadmin ===== | ||
- | ===== new ===== | + | Створимо конфіг для phpmyadmin |
- | + | ||
- | nano / | + | |
< | < | ||
- | # Fail2Ban ipfw action configuration file | + | ee /usr/local/etc/ |
- | # | + | |
- | # Author: Method | + | |
- | # Automaticaly create tables for any jail with prefix " | + | |
- | + | ||
- | [Definition] | + | |
- | + | ||
- | actionstart = ipfw table all list | fgrep -c -m 1 -s ' | + | |
- | actionstop | + | |
- | actioncheck = | + | |
- | actionban | + | |
- | echo " | + | |
- | actionunban = e=`ipfw table f2b_< | + | |
- | echo " | + | |
</ | </ | ||
- | nano / | + | з таким вмістом |
< | < | ||
- | # Fail2Ban | + | # Fail2Ban |
# | # | ||
# Author: Method | # Author: Method | ||
Рядок 237: | Рядок 181: | ||
# ipfw add < | # ipfw add < | ||
# Example: ipfw add 51 unreach port ip from " | # Example: ipfw add 51 unreach port ip from " | ||
- | |||
[DEFAULT] | [DEFAULT] | ||
Рядок 243: | Рядок 186: | ||
# JAILS | # JAILS | ||
- | [sshd] | + | [phpmyadmin] |
enabled | enabled | ||
- | mode = aggressive | + | port = http, |
- | action | + | filter |
+ | action | ||
logpath | logpath | ||
findtime = 600 | findtime = 600 | ||
maxretry = 3 | maxretry = 3 | ||
- | bantime | + | bantime |
</ | </ | ||
+ | < | ||
+ | # Перезапустимо сервіс. | ||
+ | service fail2ban restart | ||
+ | </ | ||