Você está na página 1de 4

O coração do sistema Linux é o seu kernel e também seu Sistema Operacional.

Combinados, eles
formam a base onde estão todas as suas aplicações que rodam no computador.
Comparativamente falando, o Sistema Operacional Linux e seu kernel são razoavelmente
seguros. Um grande número de opções de segurança estão inclusas no kernel e uma grande
variedade de ferramentas e configurações de segurança open-source já estão inclusas nas mais
variadas distribuições. Adicionalmente, o Linux oferece excepcional controle sobre quem, como
e quais recursos e aplicações os usuários podem ter acesso. Então, onde está o risco?

Normalmente, “o problema está nos detalhes”. A segurança do sistema depende de uma


enorme quantidade de elementos de configuração em nível, tanto de Sistema Operacional
quanto de aplicações. O próprio Sistema Operacional e seu kernel são bastante complexos, e
sua correta configuração não é um processo trivial. Sistemas Operacionais baseados no kernel
Linux possuem infinitas configurações, e cada ajuste pode causar sérios problemas de
segurança. Vulnerabilidades e falhas de segurança não são fáceis de encontrar.

Para estar apto para numerar esses pontos, precisamos adquirir sólidos conhecimentos sobre
os requisitos básicos de segurança do nosso Sistema Operacional e seu núcleo.

Hardening em Linux é um processo de proteção do Sistema Operacional, seu kernel e suas


aplicações contra ameaças conhecidas ou não através da aplicação de técnicas específicas de
controle, minimização de riscos e execução de atividades corretivas.
O que é Hardening?

É a proteção do sistema por meio da redução de suas possíveis vulnerabilidades. Devemos:

 Configurar o sistema.
 Instalar pacotes destinados a algum procedimento de segurança.
 Modificar o permissionamento para melhorar e reforçar a segurança.

De acordo com a Wikipedia, “hardening é um processo de mapeamento das ameaças, mitigação


dos riscos e execução das atividades corretivas – com foco na infraestrutura e com o objetivo
principal de torná-la preparada para enfrentar tentativas de ataque”.

Fato: ao diminuir, por meio de um processo de hardening, as possibilidades de vulnerabilidades


que possam trazer ameaças, serão reduzidos também os riscos ao sistema.

É conveniente lembrar que ferramentas são importantes, mas não são o fim e sim o meio para
a execução dos procedimentos do processo, que, somados a outras ações, como a capacitação
de pessoas envolvidas, é um fator determinante de sucesso, pois a imperícia é um inimigo de
qualquer trabalho. Explicando de um ponto de vista prático, esse processo envolve:

 A remoção ou desativação de serviços desnecessários;


 Remoção de contas de usuários-padrão;
 Desinstalação de pacotes desnecessários;
 Definição do processo de atualização;
 Definição de controles para auditoria;
 Definir controles para limites do uso dos recursos pelas aplicações e/ou usuários
(quota);
 Instalação de pacotes de ferramentas de segurança e auditoria.
Exemplos de programas que podem ser desnecessários, dependendo do tipo de servidor:

 lynx: cliente http/ftp que possibilita transferência de malware;


 wget: cliente http/ftp que possibilita transferência de malware;
 netcat (nc): “canivete suíço” que possibilita transferência de malware ou até mesmo
criar backdoors;
 hping: montador de pacotes que possibilita criar backdoors via rawsocket.

Utilize o comando apt-get para a remoção dos pacotes.

# apt-get remove --purge nome_programa

Por outro lado, existem também a questão dos pacotes básicos que devem ser instalados em
um servidor, como, por exemplo, um bom sistema de registro de eventos (logs), um serviço de
sincronização de relógio (NTP), instalar e configurar o servidor SSH (Secure Shell), entre outros.

Antes de instalar qualquer pacote, o comando apt-get será utilizado para atualizar as listas de
pacotes e os pacotes que necessitarem de atualização, bem como novos pacotes nos
repositórios.

# apt-get update

Após isso, para instalar pacotes, basta utilizar o comando apt-get.

# apt-get install nome_programa

 No caso da configuração do SSH, deve-se editar o arquivo “/etc/ssh/sshd_config”.

Com o intuito de evitar alguns ataques direcionados a porta padrão do SSH (22/TCP), altere a
porta utilizada.

Modificar a linha Port 22 para outra porta alta;

Configurar o serviço para ouvir somente um IP definido;

Proibir o login como root;

Utilizar apenas a versão 2 do protocolo SSH;

Aplicar restrições de login relacionados ao tempo de inatividade;

Liberar acesso apenas para usuários específicos;

Não permitir senhas em branco;

Desabilitar o uso de senha;

Refinando o uso do SFTP;

Ter controles contra ataques de Força Bruta.


Modifique a linha Port 22 informando outra porta de acesso.

Restrinja o acesso a usuários, adicionando a linha AllowUser usuario_permitido.

É recomendado que o usuário root não possa realizar acessos externos em um servidor de
SSH, por questões de segurança. Portanto, altere a linha PermitRootLogin yes por
PermitRootLogin no.

Em sequência, salve as configurações e reinicie o serviço SSH.