Como detectar e controlar serviços em servidores Linux

Quais serviços estão ativos, todos são necessários?


Para ver os serviços que temos ativos, você pode usar o comando netstat. Por exemplo, de uma conexão SSH:
 root @ server1: ~ # netstat -a 
Nos mostra todos os serviços ativos e ouvindo para receber usuários ou conexões, aqui vemos alguns como Apache (http) para servir páginas da web, smtp serviço de envio de e-mail, ftp para fazer upload de arquivos.

Imagem enviada

Você pode interromper um serviço se for desnecessário ou se ocupar muita memória ou cpu, para isso podemos ver o consumo com o comando:

 root @ server1: ~ # ps aux --sort cputime

Imagem enviada

Aqui podemos ver Mysql, o antivírus Clamav, Y Pombal é um servidor IMAP e POP3 de código aberto. Aqui podemos ver o processo executado por nós anteriormente, é importante não confundir a coluna START que possui datas e horas, ela indica em que data ou hora a operação começou.

Imagem enviada

Em seguida, para interromper um serviço de exemplo do Mysql:

 /etc/init.d/mysql restart /etc/init.d/mysql stop /etc/init.d/mysql start 
Exemplo de uso de comandos na segurança de servidores Linux, vamos usar alguns comandos para detectar e prevenir um ataque de negação de serviços que são os mais frequentes.

UMA ataque de negação de serviço (ataque DoS) ou Ataques distribuídos de negação de serviço (ataque DDoS) é uma tentativa de tornar um recurso do servidor indisponível para seus usuários.

1) Detectar o ataque


O principal sintoma é que o servidor fica muito lento ou “os serviços estão inativos”, eles param de funcionar devido ao excesso de conexões sendo geradas, o servidor não pode responder.

Nós vamos usar o comando "netstat".

Ele nos mostra as conexões ativas na porta 80.

 root @ server1: ~ # netstat -an | grep: 80 | ordenar

Imagem enviada

Aqui podemos ver que um dos ip ativos que consulta nosso servidor tem 5000 conexões, embora pudesse ser dito que o normal seria em torno de 20 ou 30 conexões por ip. Poderíamos então suspeitar de um ataque DDOS, uma vez que o consumo de recursos

2) A primeira coisa será bloquear o ip do atacante com Iptables


Iptables é o nome da ferramenta de espaço do usuário por meio da qual o administrador pode definir políticas de filtragem para o tráfego que circula na rede.
 root @ server1: ~ # iptables -I INPUT -s 74,6,73,22 -j DROP
Com isso, ele trava.

3) Instale mod_evasive para Apache


Mod evasivo é um módulo para Apache que é responsável por fornecer um nível adicional de segurança ao nosso servidor web muito poderoso e personalizável.

No exemplo faremos isso para Centos, mas pode ser adaptado para qualquer Linux com Apache.

Nós instalamos dependências de ssh

 root @ server1: ~ # cd / usr / src root @ server1: ~ # wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz root @ server1: ~ # tar zxvf mod_evasive_1.10.1 .tar.gz root @ server1: ~ # cd mod_evasive root @ server1: ~ # apxs -cia mod_evasive20.c # para Apache 1.3 o comando seria apxs -cia mod_evasive.c root @ server1: ~ # vi / etc / httpd / conf /httpd.conf # editamos a configuração raiz @ server1: ~ # service httpd restart # reiniciamos o Apache 
Em / etc / httpd / conf /httpd.conf as seguintes linhas devem ser adicionadas.
 DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300 
Parâmetros importantes
  • DOSPageCount: número de conexões que um usuário pode fazer por segundo antes que seu ip seja bloqueado.
  • DOSSiteCount: quantas solicitações um usuário pode fazer antes de ser bloqueado.
  • DOSBlockingPeriod: quanto tempo em segundos o bloqueio desse IP vai durar.
Também seria aconselhável instale um firewall como CSF para Linux que é Open Source.

Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave