• Nenhum resultado encontrado

Procedimentos para instalação

q

Segundo o manual de segurança do Debian, são tarefas que devem ser realizadas para garantir um ambiente seguro:

1 Decidir de quais serviços você necessita e limitá-los. 1 Restringir usuários e permissões no sistema. 1 Proteger os serviços oferecidos pelo sistema.

1 Utilizar ferramentas para garantir que o uso desautorizado seja detectado.

As últimas décadas foram marcadas pela integração dos computadores no mundo e na vida das pessoas. Para isso, foram criados serviços baseados em nosso modelo social, o que permitiu a conexão entre redes financeiras, supermercados, lojas, clínicas, postos de saúde e até mesmo hospitais. Hoje, podemos comprar qualquer objeto pela rede de computadores, manipular informações bancárias, acessar diversos bancos de dados que contêm grande parte do conhecimento humano e, se necessário, até anunciar um produto pessoal em um site de trocas.

Tanta informatização e facilidade de comunicação trouxeram para as organizações uma nova preocupação: como anda a segurança de seus sistemas e informações neste novo mundo digital? Proteger-se contra invasores passou a ser um grande diferencial estratégico e de competitividade medido e acompanhado por clientes e fornecedores.

O processo de segurança de um ambiente computacional deve partir de um bom mecanismo de segurança física que consiga restringir e limitar ao máximo o acesso de pessoas estranhas ao ambiente. São exemplos de controles de segurança física o uso de circuitos internos de TV, guarda armada, divisão da empresa em perímetros, controles biométricos de acesso etc. Bons

Ad m in is tr aç ão d e S is te m as L in ux : R ed es e S eg ur an ça

controles físicos tendem a provocar uma “falsa sensação” de segurança, pois estão muito mais evidentes do que os controles lógicos implementados pela organização.

Neste Capítulo serão vistos os principais aspectos lógicos que devem ser considerados para que um sistema Debian possa ser classificado como “seguro”. Observe que a palavra “seguro” encontra-se em destaque. Isso acontece porque, por mais esforço que se faça, nunca poderemos garantir que um sistema seja 100% seguro. As configurações e recomen- dações aqui descritas foram baseadas no manual de segurança do Debian e em um artigo de Antonio Cláudio Sales Pinheiro.

Antes de começar, é importante refletir sobre os serviços que serão disponibilizados pelo novo servidor que está sendo adicionado à rede interna da empresa. Essa reflexão torna-se necessária, já que grande parte dos controles e serviços a serem instalados dependem dire- tamente da destinação que será dada ao equipamento. Entre os pontos a serem analisados nesse momento encontram-se:

1 Decidir de quais serviços você necessita e limitá-los; 1 Restringir usuários e permissões no sistema; 1 Proteger os serviços oferecidos pelo sistema;

1 Utilizar ferramentas para garantir que o uso desautorizado seja detectado.

q

Configurando a BIOS e protegendo fisicamente o hardware. Particionando o sistema:

1 /tmp: não permitir que arquivos sejam executados a partir desse diretório. 1 /var: colocar em partição separada.

1 /etc, /bin e /sbin: montar em um CD-ROM. 1 /home: ativar opção de quota.

Grande parte dos controles de segurança podem ser superados caso o atacante tenha acesso físico à máquina. Isso acontece porque um atacante poderia, simplesmente, car- regar um Sistema Operacional utilizando uma unidade de mídia externa (CD, pendrive ou disquete) e, com isso, contornar qualquer restrição de permissão configurada no Linux. Na prática, apenas os arquivos cifrados dentro do disco estarão protegidos (desde que a chave não esteja no mesmo local).

Em um servidor de produção, é recomendado que o administrador remova qualquer possi- bilidade de realizar a carga do Sistema Operacional utilizando uma mídia externa. Para confi- gurar essa opção é necessário acessar o Setup (normalmente é só apertar a tecla “del” após o sinal de post) e modificar a sequência de boot definindo o disco rígido como o primeiro mecanismo de carga. Para que o atacante não consiga modificar essa opção, é necessário proteger o sistema configurando, também, uma senha para acesso ao BIOS.

Se um atacante conseguir “roubar” o disco rígido do servidor e instalá-lo em outro equipa- mento, ele conseguirá remontar, sem problemas, os arquivos disponíveis no disco. Como os discos rígidos são hardwares pequenos, é provável que um atacante consiga retirá-lo da empresa sem ser notado, devendo o administrador, portanto, instalar trancas e cadeados no gabinete do servidor.

BIOS

Basic Input/Output System (Sistema Básico de Entrada/Saída). É um programa de compu- tador pré-gravado em memória permanente (firmware) executado por um computador quando ligado. Ele é res- ponsável pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do Sistema Operacional.

Ca pí tu lo 6 - S eg ur an ça – S is te m a O pe ra ci on al

Particionando o sistema

A escolha do modo como o disco rígido do servidor será dividido entre os diversos diretó- rios de um Linux dependerá, exclusivamente, dos serviços que esse servidor disponibilizará para a rede (exemplo: um servidor de arquivos teria, normalmente, grande parte do disco rígido destinado à partição /home, enquanto um firewall possuirá uma partição /var maior). Basicamente, os diretórios listados a seguir devem estar instalados em partições diferentes e com permissões próprias. Ao lado de cada diretório estão comentários que explicam as abordagens de acordo com os serviços disponibilizados.

1 /tmp: responsável por armazenar os arquivos que serão manipulados temporariamente no ambiente. Na prática, qualquer usuário do sistema pode escrever arquivos nesse dire- tório, compilá-los e executá-los sem nenhum tipo de restrição.

1 /var: responsável por armazenar os logs e registros do sistema. Um problema comum em máquinas Linux está associado ao fato de que, quando o espaço no disco termina (muitas vezes provocado pelo crescimento excessivo do log), o Sistema Operacional para de fun- cionar. Um atacante poderia provocar um ataque de negação de serviço simplesmente enviando uma grande quantidade de pacotes que fossem registrados pelo sistema. Separar o diretório /var minimizará os ataques de negação de serviço, porém poderá dificultar a identificação do atacante, já que alguns logs poderão ser perdidos. 1 /etc, /bin, /sbin: responsáveis, respectivamente, por armazenar os arquivos de confi-

guração do ambiente, os binários de uso geral e os binários de uso exclusivo do admi- nistrador. Em sistemas onde exista uma grande necessidade de segurança, pode ser interessante armazenar e disponibilizar esses diretórios em um CD-ROM. Esse procedi- mento evitará que um atacante, ao comprometer um sistema, modifique algum arquivo de configuração ou binário que possa lhe garantir o retorno ao ambiente sem ser detectado. 1 /home: responsável por armazenar os arquivos dos usuários. Qualquer diretório que

um usuário possa escrever deve estar em uma partição separada e usar quotas de disco. Isso reduz o risco de um usuário “encher” o sistema de arquivos e provocar uma negação de serviço.

q

Regras importantes para o usuário root: 1 Utilize uma senha de difícil dedução.

1 Crie um usuário simples para o administrador do sistema e adicione-o ao grupo “wheel”. 1 Não execute o ambiente X ou qualquer outra aplicação de usuário como root. 1 Nunca permita ao usuário root logar diretamente no sistema.

1 Sempre use caminhos completos quando logado como root.

1 Se um usuário só precisa rodar alguns comandos como root, considere usar o comando sudo.

1 Nunca deixe o terminal quando você estiver logado como root.

O usuário root é o principal usuário do sistema e deve ser utilizado somente quando for estritamente necessário. Por padrão, esse usuário não possui nenhum tipo de restrição e, caso um atacante consiga acesso como root em um servidor, a única forma de confiar nova- mente no sistema é reinstalando-o completamente.

Ad m in is tr aç ão d e S is te m as L in ux : R ed es e S eg ur an ça

Quando falarmos em usuário root, devem ser seguidas algumas regras:

1 Utilize uma senha de difícil dedução, que combine letras, números e caracteres especiais e tenha mais de 8 caracteres;

1 Crie um usuário simples para o administrador do sistema e o adicione-o ao grupo “wheel” para que este possa se tornar root sempre que for necessário executar alguma atividade administrativa complexa;

1 Não execute o ambiente X ou qualquer outra aplicação de usuário como root. Observe que se uma vulnerabilidade existir em uma aplicação executada com as permissões do usuário root e for explorada com sucesso, permitirá que sejam executados comandos sem nenhum tipo de controle ou restrição;

1 Nunca permita ao usuário root logar diretamente no sistema;

1 Sempre use caminhos completos quando logado como root (exemplo: o caminho completo do binário ifconfig é /sbin/ifconfig). Se uma variável PATH for comprometida, o root pode acabar executando uma aplicação sem notar o comportamento suspeito do ambiente;

1 Se um usuário só precisa rodar alguns comandos como root, considere usar o comando sudo; 1 Nunca deixe o terminal quando você estiver logado como root.