Configurando o Centos 7 depois de instalado

Instalando o Epel

A primeira coisa a ser feita é instalaar o epel

sudo yum install epel-release

Agora vamos fazer o update dos pacotes do SO

sudo yum update

Configurando o Firewall

Um mudança consideravel agora no Centos7 é a remoção do iptables e a adição do FirewallD, como essa maquina vai estar exposta diretamente para a internet nos precisamos de um firewall para bloquear alguns acessos em serviços que deverão estar expostos só em loopback.

Estou usando uma VM na DigitalOcean e por padrão a imagem de Centos7 deles vem com o firewallD desativado, para ativar digite o comando:

sudo systemctl start firewalld

Para habilitar ele no boot digite:

sudo systemctl enable firewalld

Um problema do antigo iptables era que para tornar uma regra permante você tinha que salvar usando iptables-save e fazer o iptables ler o arquivo no boot do SO, agora para adiconar uma regra persistente só é preciso colocar um –permanent como argumento da regra, a primeira regra do firewall vai ser para abri a porta do ssh:

sudo firewall-cmd --permanent --add-service=ssh

Como o ssh esta com login somente por chave não vejo motivo para alterarmos a porta default, mas nos iremos proteger o ssh usando o fail2ban que tem como objetivo impedir um bruteforce na porta 22. Enquanto isso vamos retomar a configuração do firewall, como esse servidor vai ser utilizado como servidor web nos temos que abrir a porta 80:

sudo firewall-cmd --permanent --add-service=http

Para ver todos os serviços que podemos abrir as portas pela lista default basta digitar:

sudo firewall-cmd --get-services

Para abrir uma porta que não esta listada nos serviços podemos usar o seguinte comando:

sudo firewall-cmd --permanent --add-port=22/tcp

Podemos listar as portas abertas de forma permanente com o seguinte comando:

sudo firewall-cmd --permanent --list-all

Para colocar as novas regras em funcionamento nos precisamos dar um reload no firewalld, para isso digite:

sudo firewall-cmd --reload

Agora que o FirewallD esta configurados vamos instalar e configurar o Fail2Ban

Fail2Ban

Nos iremos configurar o Fail2ban de maneira que após 4 login com falha o ip que esta tentado logar na maquina irá ficar banido por 1 semana, é muito importante que você esteja autenticando na maquina via chaveou que não erre o login caso contrario seu IP será banido por uma semana =D.

Vamos instalar o pacote:

sudo yum install fail2ban fail2ban-firewalld fail2ban-systemd

Vamos criar o arquivo de configuração sshd.conf no diretorio conf.d do fail2ban:

sudo vi /etc/fail2ban/jail.d/sshd.conf

No arquivo colocamos

[DEFAULT]
bantime = 345600
banaction = firewallcmd-ipset
backend = systemd
action = %(action_mwl)s
maxretry = 4
[sshd]
enabled = true

Agora iremos inicar o fail2ban

sudo systemctl start fail2ban

Habilitamos o fail2ban para iniciar com o SO

sudo systemctl enable fail2ban

Para ver os ips banidos pelo fail2ban use o seguinte comando:

fail2ban-client status sshd

NTP

As vezes o relogio dos servidore ficam meio loucos, para resolver esse problema iremos instalar o ntpclient no servidor.

sudo yum install ntp

Depois disso iremos iniciar o daemon e configurar para iniciar junto com o SO:

sudo systemctl start ntpd

sudo systemctl enable ntpd

Caso queira compartilhar o post, ,
Google+
and
LinkedIn
.

  • Marcelo Castro

    Grande valia… abraço!

  • Excelente post! Mas o sudo firewall-cmd –reload faz deletar todas as configurações feitas no firewall

    • Você adicionou as regras com o –permanent?

      Executa um firewall-cmd –permanent –list-all e me fala a saída.

      • Não não meu querido! Não estou com nenhum problema, porem mesmo rodando os pedidos com o permanent, se rodar o reload ele “zera” o firewall aí tem que fazer tudo de novo! É preferível dar um rebot no servidor! (uso o centos 7)

        • Engraçado, nunca peguei esse comportamento. Desde o lançamento do firewalld venho utilizando dessa forma.
          Qual a versão do seu kernel? Estou no 3.10.0-514.6.1 e não tenho esse problema.

          • Cara esse firewall está me dando uma bela dor de cabeça!!! Ele derrepente simplesmente bloqueia todas as portas do vps, até a porta do ssh, acesso pelo ssh online do servidor e percebo que todos os comendos que dou referente a ele não é aceito…. Não sei o que faço!

          • Odilon Junior

            Você colocou o fail2ban junto? Da um firewall-cmd –list-all e cola o output no https://paste.fedoraproject.org/ e posta aqui, você não deveria perder conexão na porta ssh, por padrão essa é a porta que vem liberada.

            Qual a versão do Kernel que você está usando? Da um uname -r e me fala

          • Eita que postei com a conta errada =D

          • Rsrsrsr quase postei pelo face da minha esposa também hahaha, cara to com o firewall desativado agora, mas vou tentar novamente hoje,assim que resolver um outro problema, que é fazer com que o nginx não faça cache dos cookies do meu woocommerce, estou com o fail2ban sim, mas ele não mostra nenhum bloqueio para os meus ips.

            Segue o Kernel: 4.9.15-x86_64-linode81