Segurança em Sistemas Operacionais Unix/Linux

Centro de Informática de Ribeirão Preto - CIRP

Segurança em Sistemas Operacionais Unix/Linux

1 - Apresentação


2 - Arquivos de senhas


Dica : Acompanhar o que o usuário está digitando

2.1 - Atributos e Permissões de arquivos

2.2 - Proteção em partições e arquivos de inicialização, terminais, etc.

2.3 - Proteção no Sistema de Arquivos

2.4 - Exercícios com os recursos citados no itens anteriores.

3 - PAM - Módulo de autenticação Plugável

Utilização com SSH, telnet, POP e IMAP, SUDO

Exercícios com atribuição de permissão de su para poucos usuários, controle de recursos, CPU, memória, etc.

Controle dos serviços POP e IMAP:

Referências:

3.1 - Exemplos de utilização do PAM:

Usando o PAM para limitar o uso de recursos no servidor.

Fazer com sessões de shell iniciadas por usuários ou grupo de usuários tenham restrições quanto ao uso de recursos da máquina como:

  • Número máximo de arquivos abertos.
  • Prioridade para rodar processos
  • Máximo uso do processador
  • Máximo uso de memória
  • Máximo uso de forks (processos)
  • Número máximo de logins (veja ulimit). Ver arquivos do diretório /etc/security/

    3.2 - Configurando o PAM

    Primeiro deve-se selecionar o serviço que se irá aplicar estas restrições.

    Como exemplo limitaremos o uso de recursos de sessões abertas pelo ssh, sessões remotas.

    Altere o /etc/pam.d/sshd e inclua a linha depois do último "session required":

    Exemplos:

    1 - Limitar número máximo de processos para 6 e quantidade de logins para 2 de todos os usuários.

    Alterar o arquivo /etc/security/limits.conf

    É importante frisar que nenhuma restrição pode ser aplicada ao usuário root.

    - Alterar o arquivo /etc/security/access.conf:

    -:ALL EXCEPT root:LOCAL

    Isso vai proibir accesso remoto para o root, só permite localmente.

    *** www.newsforge.com/article.pl?sid=04/09/20/1556223

    Exercícios:


    4 - Ferramentas de varredura e Scan ports

    4.1 - Verificações com programas : netstat e lsof

    Exemplos de utilização

    
    	lsof -P -n -r -i tcp:80 | grep ESTABLISHED
    	lsof | grep t0rn --->  detecta t0rnrootkit
    	lsof -i tcp:9611 
    	lsof -i tcp:5874 
    	lsof -i TCP:12754
    	lsof -i tcp:22
    	netstat -an
    	lsof | grep LISTEN
    	netstat -an | grep LISTEN
    	nmap hostname
    	lsof -P -n -i
    	lsof -P -n -i tcp:139
    	lsof -P -n -i tcp:80
    	lsof -P -n -i tcp:22
    

    4.2 - Verificação do Status do Servidor

    sysstat (detalhes envolvidos dos programas sa e arquivos de log)

    Utilização do pacote do Systat, em Linux e em FreeBSD

    4.3 - Monitoração das atividades de Rede: Pacotes iptraf, trafshow, netdiag, iplog (TCP/IP traffic logger)

    Utilização do IPLOG:

    /usr/local/sbin/iplog -o -L -z -u iplog --tcp=false --icmp=false -F --icmp-resolve=false -N --udp-resolve=false -i rl0

    # mais detalhes em /usr/local/etc/iplog.conf

    4.4 - Escuta de tráfego e Sniffers

    Utilização dos programas ethereal, tethereal, ngrep, tcpdump, scapy e dsniff

    Outras ferramentas SNIFFER para Linux: apt-cache search sniffer

    Como detectar sniffers na rede ?


    Exemplos de utilização: