Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
freebsd:fail2ban [04/06/2023 07:42] – [Встановлення] Method | freebsd:fail2ban [04/06/2023 07:56] (поточний) – [Перевірка] Method | ||
---|---|---|---|
Рядок 6: | Рядок 6: | ||
ee / | ee / | ||
</ | </ | ||
- | <code|shell> | + | |
+ | < | ||
#!/bin/sh - | #!/bin/sh - | ||
f='/ | f='/ | ||
Рядок 13: | Рядок 14: | ||
ifCap=' | ifCap=' | ||
- | ${f} flush | + | ${f} -f flush |
- | # TABLE WHITE LIST | + | # TABLE WHITE LIST |
${f} table WHITE_LIST create | ${f} table WHITE_LIST create | ||
${f} table WHITE_LIST add 1.1.1.1 | ${f} table WHITE_LIST add 1.1.1.1 | ||
${f} table WHITE_LIST add 8.8.8.8 | ${f} table WHITE_LIST add 8.8.8.8 | ||
- | ${f} add 49 allow ip from " | + | ${f} add 41 allow ip from " |
- | ${f} add 50 allow ip from me to " | + | ${f} add 42 allow ip from me to " |
- | # Fail2Ban reserved rules range 51 - 99 | + | # Fail2Ban reserved rules range 51 - 100 |
${f} add 51 deny ip from " | ${f} add 51 deny ip from " | ||
Рядок 30: | Рядок 30: | ||
${f} add 105 fwd 127.0.0.1, | ${f} add 105 fwd 127.0.0.1, | ||
- | ${f} add 170 allow tcp from any to me 22, | + | ${f} add 170 allow tcp from any to me 80, |
- | ${f} add 180 allow tcp from me 22, | + | ${f} add 171 allow tcp from me 80, |
# OTHER SETTINGS | # OTHER SETTINGS | ||
${f} add 1110 allow ip from any to any via lo0 | ${f} add 1110 allow ip from any to any via lo0 | ||
- | ${f} add 1130 deny icmp from 1 to 5, | + | ${f} add 1130 deny icmp from any to any in icmptype |
${f} add 1190 allow ip from any to any | ${f} add 1190 allow ip from any to any | ||
- | ,15,16,17 | ||
- | ${f} add 1100 allow ip from any to any | ||
</ | </ | ||
Рядок 59: | Рядок 57: | ||
===== Налаштування ===== | ===== Налаштування ===== | ||
- | |||
< | < | ||
- | cp -r / | + | cp -a / |
cd / | cd / | ||
cp jail.conf jail.local | cp jail.conf jail.local | ||
Рядок 69: | Рядок 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 | + | |
</ | </ | ||
Рядок 98: | Рядок 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 | + | |
</ | </ | ||
Рядок 172: | Рядок 138: | ||
Status | Status | ||
- Number of jail: 1 | - Number of jail: 1 | ||
- | - Jail list: ssh-ipfw | + | - Jail list: sshd |
</ | </ | ||
< | < | ||
- | fail2ban-client status | + | fail2ban-client status |
</ | </ | ||
Рядок 190: | Рядок 156: | ||
`- Banned IP list: 10.10.10.10 | `- Banned IP list: 10.10.10.10 | ||
</ | </ | ||
- | |||
- | |||
===== Ручний бан/ | ===== Ручний бан/ | ||
Рядок 202: | Рядок 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 | ||
Рядок 233: | Рядок 181: | ||
# ipfw add < | # ipfw add < | ||
# Example: ipfw add 51 unreach port ip from " | # Example: ipfw add 51 unreach port ip from " | ||
- | |||
[DEFAULT] | [DEFAULT] | ||
Рядок 239: | Рядок 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 |
</ | </ | ||
- | + | < | |
- | ===== OTHER ===== | + | # Перезапустимо сервіс. |
- | На клиенте | + | service fail2ban restart |
- | + | </code> | |
- | nano /etc/rc.conf | + | |
- | | + | |
- | nano /etc/ | + | |
- | ip=" | + | |
- | ipnfs=" | + | |
- | # NFS | + | |
- | $cmd 00730 pass tcp from $ip to ${ipnfs} nfsd out setup | + | |
- | $cmd 00731 pass udp from $ip to ${ipnfs} nfsd out keep-state | + | |
- | $cmd 00732 pass tcp from $ip to ${ipnfs} sunrpc out setup | + | |
- | $cmd 00733 pass udp from $ip to ${ipnfs} sunrpc out keep-state | + | |
- | $cmd 00734 pass tcp from $ip to ${ipnfs} 3333 out setup | + | |
- | $cmd 00735 pass udp from $ip to ${ipnfs} 3333 out keep-state | + | |