Настройте Fail2Ban со сценарием удара

Я пытаюсь настроить конфигурацию/etc/fail2ban/jail.local со сценарием удара. Я думал для использования sed и регулярного выражения для изменения разделов, в которых я нуждаюсь.

sed -i "s/^bantime  = 600/bantime  = $1/" /etc/fail2ban/jail.local
sed -i "s/^destemail = root@localhost/destemail = $2/" /etc/fail2ban/jail.local
sed -i "s/^action = %(action_)s/action = %(action_mwl)s/" /etc/fail2ban/jail.local

Как Вы видите для bantime, destemail и действия, я могу сделать так. Только если это соответствует точно. Я мог быть то, что bantime или destemail изменяется, затем сценарий не будет работать. Что я могу использовать для создания после = знак гибкий. Например, если bantime не 600, но 700 он также изменит использование сценария удара.

Также существует раздел для конфигурирования SSH и SSHD:

[ssh]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

[dropbear]

enabled = false 
port = ssh
filter = sshd
logpath = /var/log/dropbear
maxretry = 6

[ssh-ddos]

enabled = false
port = ssh
filter = sshd-ddos
logpath = /var/log/auth.log
maxretry = 6

Я также хочу указать порт, который я использую для SSH или включаю SSHD с sed и регулярным выражением. Но поскольку Вы видите, когда я буду соответствовать на включенном, я изменю все тюрьмы или если я буду соответствовать на порте, то я изменю все порты в конфигурации. Это не то, что я хочу.

Кто-либо может помочь мне с путем к configur Fail2Ban со сценарием и гибким путем?

Большое спасибо, Raoul

2
задан 5 March 2013 в 05:51

1 ответ

Для однострочных редактирований Вы могли использовать

sed -e "s/^bantime = .*/bantime = $1/"

или, более эластично

sed -re "s/^bantime[[:blank:]]*=.*/bantime = $1/"

Для многострочной проблемы используйте селекторы строки для разграничивания редактирований

sed -re "/^\[ssh\]$/,/^\[/s/port[[:blank:]]*=.*/port = $1/"
1
ответ дан 5 March 2013 в 05:51

Другие вопросы по тегам:

Похожие вопросы: