970 likes | 1.13k Views
Projeto de Segurança em Software Livre. Segurança para um Servidor Linux. Pensando em segurança antes da instalação. Com a Internet, seu servidor é acessível, de qualquer lugar do planeta, deixando de ser meramente um host para se tornar um alvo para invasão.
E N D
Projeto de Segurançaem Software Livre Segurança para um Servidor Linux Prof. João Bosco M. Sobral
Pensando em segurança antes da instalação • Com a Internet, seu servidor é acessível, de qualquer lugar do planeta, deixando de ser meramente um host para se tornar um alvo para invasão. Prof. João Bosco M. Sobral
Pensando em segurança antes da instalação • Os sistemas operacionais utilizados nos computadores diretamente ligados à rede: • continuam vindo com um série de funcionalidades de facilidades pré-ativadas, que não contribuem para a criação de um ambiente seguro. Prof. João Bosco M. Sobral
Pensando em segurança antes da instalação • Um projeto de segurança deve trabalhar com a premissa de que: • a segurança e a conveniência do ponto de vista do usuário final são inversamente proporcionais. • Conexões temporárias, discadas ou similares, devem permitir níveis de serviços um tanto limitados. Prof. João Bosco M. Sobral
Pensando em segurança antes da instalação • O equilíbrio dos dois minimizam o risco, mas antes disso devem estar conciliados com o negócio da empresa. Prof. João Bosco M. Sobral
Pensando em segurança antes da instalação • Seu sistema de firewall não é atuante para determinados tipos de ataque. • Sua configuração pode não ter sido feita suficientemente segura para certos tipos de ataques. Prof. João Bosco M. Sobral
Pensando em segurança antes da instalação • Seu antivírus só será útil para ataques de vírus já conhecidos. • A segurança é como uma corrente, na qual seu elo mais fraco representa o nível de segurança da mesma. Prof. João Bosco M. Sobral
Partições • Discos rígidos podem ser divididos em um ou mais discos lógicos que chamamos de partições. • Esta divisão é descrito na tabela de partições do disco, que fica no setor 0. Prof. João Bosco M. Sobral
Partições • É recomendável criar várias partições: • Facilitar a administração de backup. • Facilitar a administração de segurança, separando os programas com SUID em partição própria. • Limitar o tamanho dos diretórios. ??? Prof. João Bosco M. Sobral
Antes da instalação ... • Regras para particionamento do HD : • saber para qual finalidade será usado seu servidor: • Firewall e Proxy Web • SMTP, POP • FTP • Dá mais autonomia para se aplicar segurança a partir do próprio sistema de arquivos. Prof. João Bosco M. Sobral
Particionamento do HD • Definir: • uma partição para o próprio sistema • e outra partição para a área de swap (64 Mb, 128Mb) • Partição para backup. • Partição para programas SUID. • Diretórios em partições diferentes ou em discos diferentes (HDA, HDB) Prof. João Bosco M. Sobral
Partição para o sistema: diretórios Linux • / - diretório raiz. • /boot - diretório de arquivos estáticos de inicialização (carga do sistema – boot loader). • /root - diretório local do super-usuário. • /dev - diretório de arquivos de dispositivos do sistema (modems, terminais virtuais, discos, ...) Prof. João Bosco M. Sobral
Particionamento do HD • /bin - diretório dos arquivos executáveis. • /sbin - arquivos de sistema essenciais. • /mnt - diretório ponto de montagem de partições temporárias, como discos, cd-rom, zip drive, ... • /lib - arquivos das bibliotecas compartilhadas utilizadas pelo sistema. Prof. João Bosco M. Sobral
Diretórios Linux • /home – diretório local de diretórios dos usuários. • /usr - arquivos de perfis (profiles) e configurações pessoais de usuários. • /tmp - arquivos temporários gerados por utilitários. • /proc – pseudo-sistema de arquivos, que armazena em tempo real as informações geradas pelo kernel. Prof. João Bosco M. Sobral
Diretórios Linux • /etc - principais arquivos de configuração dos utilitários ou programas do sistema. • /var - arquivos de informação variável, tais como arquivos de logs do sistema. • /opt - instalação de softwares opcionais de terceiros: BD Oracle, serviço de Backup CA ArcServer, aplicativos, entre outros. Prof. João Bosco M. Sobral
Servidor Firewall / Proxy • Para um servidor Firewall / Proxy, os maiores diretórios devem ficar para o /usr e o /var dos logs locais. Prof. João Bosco M. Sobral
Alguns tamanhos de diretórios • /boot 15Mb • / 512Mb • /tmp 128Mb • /usr 2048Mb • /var 2048Mb • /home 512Mb • /opt 256Mb • Swap 128Mb Prof. João Bosco M. Sobral
Para outros serviços específicos • Consultar a documentação do aplicativo. • O negócio da empresa depende do desempenho do seu servidor. Prof. João Bosco M. Sobral
Partição Swap • Num sistema em que a área de Swap está sendo usada com muita frequência, a máquina precisa de mais memória RAM. • 64 Mb para memória de 128 Mb. • 128 Mb para memória de 256 Mb ? Prof. João Bosco M. Sobral
Segurança Física • Trancar os servidores. • Tirar o boot pelo disquete ou CD-ROM. • Tirar o autorun. • Tirar o teclado. • Tirar o monitor. • Permitir acesso físico somente às pessoas autorizadas. Prof. João Bosco M. Sobral
Listar os pacotes instalados • >rpm –qa > /root/pacotes_instalados • >dpkg –l > /root/pacotes_instalados • >apt-get ... Prof. João Bosco M. Sobral
Remover os pacotes desnecessários • Informação sobre o pacote: >rpm –qi <nome_pacote> • Remover >rpm –e <nome_pacote> • Remover >apt-get remove <nome_pacote> Prof. João Bosco M. Sobral
Remover ... Deixe só o que é utilizado. • Compiladores (gcc, g++, ...) • Editor de texto (depois que tudo estiver configurado). • more • Bibliotecas desnecessárias. • cat • Ferramentas clientes de serviços (ftp, telnet, wget, lynx, ... ) Prof. João Bosco M. Sobral
Loaders • No MBR (Master Boot Record) do HD reside um programa “loader”. • LILO (Linux Loader) • GRUB (Grand Unified Boot-Loader) • NTLDR • A tarefa do “loader” é carregar o SO na memória. • Podem ser configurados para carregarem: • Versões de kernel. • SOs diferentes (dual boot). Prof. João Bosco M. Sobral
Loaders • Carrega o Kernel, que por sua vez, ao fim de sua inicialização, carrega o processo INIT, o primeiro e todos os processos, pai de todos os outros. • INIT cria os outros processos através da chamada fork() . Prof. João Bosco M. Sobral
Grupos de usuários • Permissões de acesso a grupo de usuários, para facilitar o gerenciamento de permissões aos recursos do sistema e controle dos usuários. • Base de dados de grupos do sistema ficam em: /etc/group e /etc/gshadow (senhas) • Senha para os grupos. Prof. João Bosco M. Sobral
Colocar senha no LILO ou grupo Prof. João Bosco M. Sobral
Fechar terminais Prof. João Bosco M. Sobral
Não permitir Ctrl+Alt+Del Prof. João Bosco M. Sobral
Restringir acesso Prof. João Bosco M. Sobral
Mudar permissões e atributos de arquivos Prof. João Bosco M. Sobral
Mudar atributos dos logs Prof. João Bosco M. Sobral
Senhas seguras Prof. João Bosco M. Sobral
Tirar SuidBit e Gdbit Prof. João Bosco M. Sobral
PAM Prof. João Bosco M. Sobral
Segurança de Terminal Prof. João Bosco M. Sobral
Configurando a placa de rede Prof. João Bosco M. Sobral
Habilitando SSH Prof. João Bosco M. Sobral
Configurando segurança em serviços TCPD Prof. João Bosco M. Sobral
Verificando portas abertas Prof. João Bosco M. Sobral
Instalando NIDS • www.psionic.com • Portsentry Network Intrusion Detection System • Instalação: • > rpm –ivh portsentry-*.rpm Prof. João Bosco M. Sobral
Trabalhando com Logs Prof. João Bosco M. Sobral
Backup do sistema Prof. João Bosco M. Sobral
Instalar o Proxy Web Prof. João Bosco M. Sobral
Instalar o Ntop • Ntop é um analisador de rede. Prof. João Bosco M. Sobral
Instalando o Nessus • Nessus é o analisador de vulnerabilidades. Prof. João Bosco M. Sobral
Instalando o Sussen:o cliente Nessus Prof. João Bosco M. Sobral
Instalando o Tripware • HIDS – Host Intrusion Detection System • Verifica integridade de arquivos. Prof. João Bosco M. Sobral
VPN • Com OpenVPN • Com IPSec Prof. João Bosco M. Sobral
Firewall com IPTables Prof. João Bosco M. Sobral