Restaure a configuração original do fail2ban no CentOS 7

1

Instalei o fail2ban da EPEL usando yum install e, em seguida, comecei a estragar a configuração depois de ter esquecido de fazer o backup de /etc/fail2ban .

Agora quero a configuração original de volta.

Primeiro eu tentei yum reinstall fail2ban , mas isso foi bobo porque yum install não sobrescreve os arquivos de configuração existentes. Então eu mv ed /etc/fail2ban em outro lugar e tentei yum reinstall fail2ban novamente, o que de acordo com algum post antigo me daria a configuração original de volta. Não teve essa sorte. Eu tentei desinstalar com rpm -e e reinstalar. Não teve essa sorte. Eu fiquei frustrado e rm -rf ed meu diretório /etc/fail2ban.backup , achando que talvez houvesse algum tipo estranho de descoberta de sistema acontecendo. Ainda nada depois de reinstalar.

Por fim, baixei e descompactei a origem do RPM e rsync ed o diretório config para /etc/fail2ban , o que me ajudou muito. Mas ainda existem algumas diferenças em como os arquivos de log são configurados e em como ele se integra ao systemd. Em vez de Frankensteining algo juntos, eu realmente quero apenas a configuração original de volta.

Existe uma maneira de forçar uma nova instalação de um pacote RPM, incluindo arquivos de configuração e log, seja com o YUM ou alguma outra ferramenta? Estou usando a imagem padrão do Linode CentOS 7, se é que isso importa.

    
por shadowtalker 05.03.2017 / 00:16

2 respostas

1

No meu sistema, o fail2ban está distribuído em vários pacotes:

  • fail2ban
  • fail2ban-firewalld
  • fail2ban-systemd
  • fail2ban-sendmail
  • fail2ban-server
  • systemd-python

Evidentemente, os arquivos de configuração não são gerados, a menos que alguns ou todos os itens acima estejam instalados. yum autoremove livrou-se deles e, em seguida, yum install fail2ban restaurou os arquivos de configuração originais.

    
por 05.03.2017 / 07:21
1

Eu acho que yum é muito conservador para fazer o que você quer. Para melhores resultados, você também deve estar preparado para usar alguns comandos rpm.

isto irá limpar todos os arquivos que o rpm (ergo yum) know / trust pertence ao pacote fail2ban.

rpm -e --justdb --nodeps fail2ban

Depois disso, você pode remover / mover seus arquivos / etc e o yum irá reinstalar.

Todo o magic yum / rpm que está fazendo com arquivos de configuração está no arquivo de especificação do RPM em linhas com o prefixo "% config (noreplace)" com a macro "% {_sysconfdir}", que significa '/ etc' no seu caso . Apenas tire tudo isso do caminho, e o rpm irá instalar todos os seus arquivos de configuração padrão.

%config(noreplace) %{_sysconfdir}/fail2ban
%config(noreplace) %{_sysconfdir}/logrotate.d/fail2ban
%config(noreplace) %{_sysconfdir}/fail2ban/jail.d/00-firewalld.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/hostsdeny.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/complain.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/mail-*.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/sendmail-*.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/shorewall.conf
%config(noreplace) %{_sysconfdir}/fail2ban/jail.d/00-systemd.conf

Dê uma olhada por si mesmo:

curl 'http://pkgs.fedoraproject.org/cgit/rpms/fail2ban.git/plain/fail2ban.spec?h=epel7' |
 grep '^%config(noreplace)'
    
por 05.03.2017 / 01:01