Disciplina
                   Segurança em Sistema
                       Operacional Livre

                 Prof: Hélio Marques Sobrinho
                         hmarx@linuxtech.com.br




(C) 2011 HMarx                                    1 / 98
Programa

s
    § Sistema de computação e segurança
     Introdução
    § O ambiente operacional GNU/Linux
s
    § Planejamento, Instalação e Configuração
    Instalação do GNU/Linux
    § O shell e seus comandos
s
    § Usuários e grupos
    Administração do GNU/Linux
    § Sistemas de arquivos
    § Serviços
s
    § Firewall, VPN, SSL, ..
    Segurança
    § Logs.
s Conclusões
(C) 2011 HMarx                                  2 / 98
Referências bibliográficas
   §      Olaf Kirch, "Linux Network Administrator´s Guide", SSC, USA, 1994.

   §      Simon Garfinkel & Gene Spafford, "Practical Unix & Internet Secutiry",
          O´Reilly, USA, 1996.

   §      Anonymous, "Maximum Linux Security", SAMS, USA, 2000.

   §      "openSuSE Security Guide", Novell

   §      "openSuSE Linux Administration and User Guide", Novell


   § ¶ www.cert.org (Computer Emergency Report Team)
     Alguns sites:
     ¶ www.kernel.org      ¶ www.gnu.org
         ¶                                      ¶
         ¶                                      ¶
             www.nsa.org                             www.linuxsecurity.com

         ¶
             www.sans.org                            www.rootprompt.org

   §
             pgp.mit.edu
          e muito mais.

(C) 2011 HMarx                                                                     3 / 98
Agenda
s       Conteúdo
            ð
            ð
                     Introdução e conceitos

            ð
                     Utilização e Comandos básicos

            ð
                     Instalação e configuração do Linux.

            ð
                     Administração do Linux.

            ð
                     Serviços de rede.

            ð
                     Firewall, VPN, SSL.

            ð
                     Logs e Avaliação
                     Feedbacks e conclusões.




    (C) 2011 HMarx                                         4 / 98
Introdução

s Sistema de Computação
    § ð
     Hardware, Software e Peopleware
      ð
                  Processadores, memórias, dispositivos de E/S, ...

           ð
                  Sistema operacional, utilitários e aplicativos
                  Engenheiros, projetistas, técnicos, analistas,
                  programadores, operadores e usuários




 (C) 2011 HMarx                                                       5 / 98
Segurança
s Conceitos - ISO 27001 e 27002
    § ð
    Critérios de segurança
      ð
                  Disponibilidade

          ð
                  Integridade

          ð
                  Confiabilidade

          2
                  Privacidade
                  MTTF, MTBF, MTTR
s Componentes do sistema de computação

      Exercício #1

         Para cada um dos 3 componente do sistema de computação escolher um
      elemento e exemplificar (se aplicável) causa e efeito para cada critério de
      segurança acima.




 (C) 2011 HMarx                                                                     6 / 98
Critérios de segurança
s       DoD - U.S. Department of Defense
         NSA           - National Securiy Agency
         NCSC         - National Computer Security Center
         TCSEC        - Trusted Computer System Evaluation Criteria
         CC           - Common Criteria


s Classes
             D       Segurança mínima
             C       Proteção facultativa
             B       Proteção obrigatória
             A       Proteção verificada




    (C) 2011 HMarx                                                    7 / 98
Nova classificação

s    CCITSE
          ð
          Common Criteria for Information Tecnology Security Evaluation

          ð
                 CC - Common Criteria
                 EAL - Evaluation Assurance Level
                 EAL 1 : Testado funcionalmente
                 EAL 2 : Testado estruturalmente
                 EAL 3 : Metodicamente testado e verificado
                 EAL 4 : Metodicamente projetado, testado e revisado
                 EAL 5 : Projetado semi-formalmente e testado
                 EAL 6 : Projeto semi-formalmente verificado e testado
                 EAL 7 : Projeto formalmente verificado e testado
      Red Hat Enterprise 5.3                    EAL 4,    dez/2009
      SuSE Linux Enterprise 10 SP1              EAL 4,    out/2007
      VMWare ESX Server 2.5.0                   EAL 2,    set/2005
      Microsoft Windows 2003 Server             EAL 4,    out/2006


(C) 2011 HMarx                                                            8 / 98
Histórico do GNU/Linux
s Bell Labs, USA, 1960
       §
       § ð Ken Thompson
    Multics - GE 645
    Unics => PDP-7
         ð Dennis Ritchie,
         ð Brian Kernigham                 GE-645


       § AT&T, SysV, Unix®
                                           Multics
                                                     Ken Thompson
                                                     Dennis Ritchie
                                                     PDP-11
s
       § ð FSF- -GNUSoftwareUnix
       MIT, USA, 1983
         GNU           is Not
              ð
                  Free        Foundation
                     Richard Stallman
s Helsinki, Finlândia,1991
       §
    Freax => Linux
                     Ä                               GNU / Linux

              ð
                         Linux kernel                dynamic duo
                     Linus Torvalds

    (C) 2011 HMarx                                              9 / 98
Software Livre
s FSF - Free Software Foundation
    §
    §
    GPL - General Public License

    §
    LGPL - Lesser General Public License

    §
    AGPL - Affero General Public License
    FDL - Free Documentation License




                  Tim (O’Reilly) e Richard Stallman (FSF)

 (C) 2011 HMarx                                             10 / 98
Distribuição
s Meio de distribuição
             ð
             ð
                     Kernel linux

             ð
                     Utilitários e aplicativos GNU e outros

             ð
                     Instalação, Administração e configuração
                     Pacotes RPM, TAR, DEB, ...
s Algumas distribuições




       § e muito mais !
s
       § SLES, RHEL e Oracle
       Enterprise Linux



    (C) 2011 HMarx                                              11 / 98
Instalação do GNU/Linux

s
    § ð Estaçãoda instalação servidor ? Grid/Cluster ?
     Planejamento
      Objetivo
      ð Quais serviços ??Web ? Mail ? Banco de dados ?
                 de trabalho ou


    § ð Volumes ? Tamanhos ?disco(s)
         Firewall ? VPN
      Particionamento do(s)
            Ä swap, /, /home, /boot, /var, ...
          ð Ä swap,de arquivosreiserfs, xfs, ...
            Sistema

    § ð Desenvolvimento de software? Entretenimento ?
                    ext2, ext3,
      Pacotes de aplicativos
         Editoração eletrônica ? Educacional ?
                 Geoprocessamento ? Aplicativos especiais ?



(C) 2011 HMarx                                                12 / 98
Instalação do GNU/Linux
s
       § ð ethernet ? token ring ? wireless ?
         Ambiente de rede
         Interfaces
            Ä
                     Ä
                         10Mbps ? 100Mbps ?

                     Ä
                         1Gbps ? 10Gbps ? ...

       § ð TCP/IP ? SMB ? IPX ?
                         Coaxial ? UTP ? STP ? Fibra ?
         Protocolos
         ð NCP ? DHCP ?
               Ä Nomes, endereços
               Ä IPs, máscaras, rotas
             ð Ä usuário, senha,autenticação
               Parâmetros para

       §
                                 padrão
             Dominios e endereços
               Ä DNS ? SMB/NMB ? AD?
               Ä IPv4 ? IPv6 ?
               Ä NIS ? LDAP ?
    (C) 2011 HMarx                                       13 / 98
Arquitetura do GNU/Linux




    F               ..

          Nenhuma aplicação acessa o hardware diretamente !

(C) 2011 HMarx                                                14 / 98
Iniciando o GNU/Linux

s O processo de boot




(C) 2011 HMarx                     15 / 98
Do init aos processos
s Árvore de processos




(C) 2011 HMarx                           16 / 98
Sessões
s Abertura de sessão / login
       §
       § ð console, terminal (real ou emulado)
    local ou remota (telnet, ssh, ...)
    texto ou gráfica
         ð XWindow
       § ð user id e group id
         login e senha
             ð Ä login : gid default a vários grupos
               um usuário pode pertencer

             ð Ä root : root
               Super usuário

                     F
         ð um usuário pode pertencer a vários grupos
                         uid 0, gid 0

       § ð usuário, grupoacesso a arquivos e diretórios : rwx
         Permissões de
                          e outros: Read, Write, eXecute
s      Fechar sessão / logout
         ð exit ou Ctrl-D
    (C) 2011 HMarx                                              17 / 98
Autenticação
s Arquivo
         ð /etc/passwd e /etc/shadow
s      Bases
         ð NIS
         ð LDAP
s      PAM - Pluggable Autentication Modules
         ð /etc/pam.conf ou /etc/pam.d/*
    #%PAM-1.0
    auth      requisite      pam_nologin.so
    auth      [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad]
    auth      include        common-auth
    account include          common-account
    password include         common-password
    session required         pam_loginuid.so
    session include          common-session
    session required         pam_lastlog.so nowtmp
    session optional         pam_mail.so standard
    session optional         pam_ck_connector.so



s Radius, Kerberos, Diameter, fingerprint, ...
    (C) 2011 HMarx                                                              18 / 98
Sistema de arquivos
s Estrutura hierárquica distribuída
            Ä diretórios, arquivos, dispositivos
            Ä root file system: /
   §      Volumes locais e remotos
            Ä Sistemas de arquivos diferentes
            Ä Sistemas operacionais diferentes
               F ext2, ext3, reiser, xfs, swap, fat, vfat, nfs, smb, ncp, ...
            Ä Transparente para as aplicações
               F Virtual File System - vfs




 (C) 2011 HMarx                                                                 19 / 98
Linux VFS

s Camada de abstração do sistema de arquivos




(C) 2011 HMarx                                 20 / 98
Dispositivos
s Volumes
  § ð locais
    dispositivos de armazenamento
      Ä
         ð Ä volumes exportados (NFS, Samba, NCP, ...)
                  discos, arquivos, memória, CD, DVD, pen drive, ...
           remotos


  § ð Sistemas de arquivos locais
    Partições
       Ä
           Ä
                  swap                              swap

           Ä
                  ext2, ext3, reiser, ...

         ð Ä LILO, de boot
                  LVM, RAID, DRBD, ...               /
           indicador

           Ä Windows, MacOS. ,,,
                     Grub,                          /home

           Ä outros                                 /usr


 (C) 2011 HMarx                                                        21 / 98
Montagem
s           ð /etc/fstab
            Montagem durante o boot (init)
            ð / (raiz)
            ð Ä locais ou remotosarquivos
              outros sistemas de

                     F   (diskless workstations)            Network File System


s Entradas no arquivo /etc/fstab
     volume mount_point             filesystem options       dump       fsck
     /dev/sda3      /                 ext3    acl,user_xattr   1         1
     server:/public /pub              nfs     acl,noauto       0         0

s Comando mount
      mount [ -o opções ] volume mount_point
      mount volume
      mount mount_point         }
                              Entradas definidas no /etc/fstab


    (C) 2011 HMarx                                                            22 / 98
Visão para as aplicações




                                   w
                                   Possibilidades

                                   w Ä
                                      Local
                                      Remoto

                                   w
                                         NFS, SMB, ...
                                      DRBD




(C) 2011 HMarx                                   23 / 98
Atributos dos arquivos

s Diretórios
      ð nomes
    § ð atributos, permissões
      Inodos
      ð blocos de dados
s drwxrwxrwx
        user      group others

                                                       {
                                                    r : read
                                                    w: write
                                         permissões x : execute
                                                       s,S : SUID, SGID



       {
        - : normal file
        d : directory                                  t ,T : Stick
        c : character device
   tipo b : block device
        p : pipe
        l : link                    $ ls -li dostextfile
        s : socket                  63677 -rw-rw---- 1 hmarx linuxtech 31 2011-03-19 19:13 dostextfile


                                 inode                    user group
                                         permissions                 size D&T            filename
                                                       links



 (C) 2011 HMarx                                                                                          24 / 98
Permissões
s Representação numérica
    § ð                                    ð
                                       000 ð
    Bits : suid sgid stick rwx
      ð
                  0
                  1
                  F
                         0
                         1
                                0
                                1      111 ð
                      altera x p/ s, S, t ou T
                                                 }   0000
                                                     7777



s Alteração de permissões
    §
    §
    chmod opções octal objeto ...
                                          *
    chmod opções {{ugoa}{+-=}{ugorwxst}, } objeto ...

s Alteração de dono
    §
    §
    chown opções [ user ] [ : group ] objeto ...
    chgrp opções group objeto ...


 (C) 2011 HMarx                                             25 / 98
Exercícios

s Permissões de acesso



  Exercício #2
       Seja uma empresa com gerentes de diversas áreas. Um funcionário pode estar
  subordinado a mais de uma área. Cada gerente disponibiliza documentos em um
  diretório que só pode ser lidos por seus subordinados.

      Como as permissões dos diretórios e arquivos devem ser estabelecidas para não
  serem violadas a confiabilidade, a privacidade e integridade destes documentos ?




(C) 2011 HMarx                                                                        26 / 98
Hard links e soft links
s Estrutura dos diretórios
                  Ä
                  Ä
                      Dados do arquivo : inodo

     §
                      Diretório: nome do arquivo
            Hard links
         $ ls -li arquivo.txt
         63675 -rw-rw---- 1 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.txt
         $ ln arquivo.txt arquivo.copia
         $ ls -li arquivo.txt arquivo.copia
         63675 -rw-rw---- 2 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.copia
           r
         63675 -rw-rw---- 2 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.txt


     §
         $

            Soft links
         $ ln -s arquivo.txt arquivo.atalho
         $ ls -li arquivo.txt arquivo.atalho
         64134 lrwxrwxrwx 1 hmarx linuxtech 11 2011-04-02 14:04 arquivo.atalho -> arquivo.txt
          r
         63675 -rw-rw---- 2 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.txt
         $



 (C) 2011 HMarx                                                                                 27 / 98
ACLs
s ACLs - Access Control Lists
                  Ä
           ð
                      Controle granular das permissões rwx
                  Sistema de arquivos montado com opção acl
                      F
                  Ä
                         Exemplo: /dev/sdc2 on /work type reiserfs (rw,acl)
                      mount -oremount,acl sistema-de-arquivos
     $ ls -l arquivo
     -rwxrw---- 1 hmarx linuxtech 61 2011-03-28 16:17 arquivo
     $ setfacl -m u:diana:rw,g:www:r arquivo                      Note a diferença !
     $ ls -l arquivo
     -rwxrw----+ 1 hmarx linuxtech 61 2011-03-28 16:17 arquivo
     $ getfacl arquivo
     # file: arquivo
     # owner: hmarx
     # group: linuxtech
     user::rw-
     user:diana:rw-
     group::rw-
     group:www:r--
     mask::rw-

       r
     other::---
     $


 (C) 2011 HMarx                                                                 28 / 98
Exercício

   Exercício #3

      Compare o esquema de proteção padrão utilizando apenas os bits rwx com o uso
    das ACLs. Que vantagens adicionais você consegue perceber ?




(C) 2011 HMarx                                                                       29 / 98
SELinux

s Security Enhanced Linux
    § ð
    DoD - NSA - NCSC
                  TCSEC, TCB, CC
      ð           GPL em 2002, kernel Linux em 2003
           ð      Mandatory Access Control
           ð      Confinamento de usuários e serviços a privilegios mínimos



s Habilitando o SELinux
    § ð security=selinux selinux=1
    parâmetros para o kernel
    § ð diretório /etc/selinux/*
      configurações
    § ð diretóriostatus /selinux/*
      controle e
                  virtual


 (C) 2011 HMarx                                                               30 / 98
A interface gráfica XWindow




                                             s Componentes
                                               §
                                               §
                                                 desktop manager
                                                 window

                                               §
                                                 manager
                                                 aplications


F      Dependendo da velocidade do enlace,
       a comunicação pode ser remota.


(C) 2011 HMarx                                              31 / 98
Componentes do XWindow

s X Server
              ð      xorg
s Desktop manager
       § ð xdm, gdm, kdm, ...
    controle de sessões
                                                                        X.org



s
       § ð fvwm,egnome, kde, enlightenment, afterstep,
       Window manager
         controle decoração de janelas
                     windowmaker, cdesim, ...
s X applications
       § ð
    aplicações gráficas
                     xterm, xclock, kmail, firefox, gimp, openoffice,
                     digikam, wxcam, amarok, ...

locate ent


    (C) 2011 HMarx                                                              32 / 98
O kdm e o desktop KDE




    openSuSE
    kdm e KDE




(C) 2011 HMarx                    33 / 98
Uma interface típica
   botões de controle   barra do título   botões de controle
     menu e sticky                        minimiza, maximiza,
                                          ordem, fechar



                                                 menu texto
                                                 menu com icones
área do
aplicativo:
textos,
diálogos,                                         barras de rolagem
botões,
canvas, ...




                                                     barra de status

                          KDE - kwrite

 (C) 2011 HMarx                                                  34 / 98
Algumas aplicações gráficas




                 Aplicações X e KDE




(C) 2011 HMarx                        35 / 98
Padrão de interface gráfica
s CUA - Common User Access
   §
   §
          Publicado pela IBM, 1987
          Utilizado por Unix, Windows e Linux
   §      Botões Ok, Cancel, Help, ...
   §      Teclas de função (F1, F4, ...)
   §      Teclas TAB, shift TAB, ESC, Enter, ...

  Exercício #4
      Quais são os elementos básicos que compõems uma interface gráfica de um aplicativo
  qualquer ?
     Porque a utilização de uma interface gráfica para administrar um servidor requer
  maiores cuidados ?




(C) 2011 HMarx                                                                       36 / 98
O Bourne Again Shell - Bash
s Interpretador de comandos
s Linguagem de programação completa
     §
     scripts : comandos interpretados
s Sintaxe
     §
     No prompt:
                 Ä   comando [ opções ] { [ argumentos ] }*




(C) 2011 HMarx                                                37 / 98
Ajuda on-line
s Aplicativos
    §
    §
    comando --help

    §
    comando -h

    §
    man opções [ sessão ] comando
    info opções comando

s Comandos do shell
    §
    help comando

s A internet
    §
    §
    §
     http://www.linuxquestions.org/
     http://www.linuxmanpages.com/
     ...
                                      !
                                      it


 (C) 2011 HMarx                            38 / 98
Elementos da linguagem bash

s Variáveis
      § ð variável=valor
    Atribuição                  NOME="Helio Marques"
                                echo $NOME
      § ð $variável
        Valor da variável

s Variáveis padrão
      § ð PATH, PS1, PS2, PS3, HOME, USER, SHELL, LANG,
    Alteráveis pelo usuário

      § ð 0,alteráveis!,pelo usuário
          ...
        Não
              1, ... 9, #, ?,@, $




(C) 2011 HMarx                                         39 / 98
Metacaracteres
s Sequência de caracteres especiais
    §
    São tratados pelo shell e substituidos antes de

    § ð Exemplos de conjunto
    serem passados para o comando
    * ? [ conjunto ] [ !conjunto ]  ~
        Ä         a-z   0123456789   0-9   0-9ABCDEF    0-9A-F
       $ echo ** ERRO **
       ** ERRO **
       $ ls
       chap1 chap2 chap3 programA programB1 programB2
       $ ls *[1-3]
       chap1 chap2 chap3 programB1 programB2
       $ ls *[!1-3]
       programA
       $ ls *[AB]?

         r
       programB1 programB2
       $




 (C) 2011 HMarx                                                  40 / 98
Usando Metacaracteres

s Comando echo
    §
    §
    echo [ -n ]  texto ...
    Imprime na saída padrão os argumentos

   Exercício #5

      Sejam as variáveis PRODUTO, que contém o nome do ítem, e VALOR, que
   contém o preço do ítem. Exemplo: PRODUTO="Caneta" e VALOR="14,95".
      Que comando irá exibir o texto abaixo ?
                    O item Caneta custa R$14,95




 (C) 2011 HMarx                                                             41 / 98
Ambiente
s ~ é o diretório pessoal
    §~jose é /home/jose
s conteúdo
    § ð .* "nomes ocultos" no ls
     arquivos e diretórios pessoais
    § ð shell - logs e de aplicativos
      configurações
                       scripts
                  Ä   .bash_history, .bashrc, .bash_login, .bash_logout, .profile,

          ð Ä .procmailrc,e-mail ...
                      .alias, ...
            tratamento de

          ð Ä ícones,aplicações gráficasde janelas, ...
                           .forward,
            desktop e
                      menus, decorações




 (C) 2011 HMarx                                                                      42 / 98
Comandos do Bash

s Comandos internos
           ð      alias, cd, fg, bg, echo, eval, exit, export, history,
                  if/then/else, while, until, for, case, pwd, set, shift, trap,
                  test, type, ulimit, umask, uname, ...
s Aplicativos externos
    § ð
    scripts e executáveis
                  ls, ps, cp, rm, rmdir, ln, mv, df, du, diff, at, bc, bzip, tar,
                  ping, host, w, who, arp, ...
s Funções
           ð      Ex: Definindo o novo comando files para exibir o
                  diretório em 3 colunas
                      function files()
                      {
                          ls   $* | pr -T --columns=3
                      }




 (C) 2011 HMarx                                                                     43 / 98
Operadores do bash

s Separador de comandos
s ;  $ date; pwd; uname -r
              Sat Mar 19 19:30:19 BRT 2011
              /home/hmarx
                  r
              2.6.34.7-0.7-default
              $


s Redirecionamento de E/S
    §
                                                              0 : entrada padrão

    > >> < >& <<texto i>&n                                {   1 : saída padrão
                                                              2 : saída de erros

     $ cat << _END_ > Arquivo            $ cat Arquivo
     Uma linha
     Outra linha
     Mais uma linha              ð       Uma linha
                                         Outra linha

                                             r
                                         Mais uma linha
        r
     _END_                               $
     $




 (C) 2011 HMarx                                                                    44 / 98
Operadores do bash
s
       §
         Pipe
              comando1 | comando2 | ...
                $ echo "Maria da Silva" | rev

                     r
                avliS ad airaM
                $



s Agrupamento de comandos (subshell)
       §
    ( comando1; comando2; ... )
                $ pwd; (cd /usr/local/bin;pwd); pwd
                /home/hmarx
                /usr/local/bin

                     r
                /home/hmarx
                $




    (C) 2011 HMarx                                    45 / 98
Operadores do bash
s
       §
         Substituição de comando
       §
              ‘comando‘
              $(comando)
                $ echo "Estamos no ano $(date +%Y)."

                     r
                Estamos no ano de 2011.
                $



s Expressões aritméticas
       §
    (( expressão ))
                 $ (( I = 500 / 3 ))
                 $ echo "I = $I"

                     r
                 I = 166
                 $




    (C) 2011 HMarx                                     46 / 98
Operadores do bash

s
       § ð operadores ]]
         Expressões lógicas
         [[ expressão
            Ä
                     Ä
                     Ä
                         -eq -lt -gt -le -ge -ne
                         -e file -r file -w file
                         ...
            $ [[ 500 -gt 100 ]]; echo $0
            0
                                                          0 é verdadeiro
                                                          1 é falso
                                                                           !
            $ [[ 500 -gt 1000 ]]; echo $0

              r
            1
            $




                         F
                                                     !
                             Ver manual do comando test




    (C) 2011 HMarx                                                         47 / 98
Exemplos de comandos
s       Comandos iterativos e condicionais
      i=0

                                   ð
                                               0
      while [[ $i -gt 5 ]]                     1
      do                                       2
        echo $i                                3
        (( ++i ))                              4
      done

      for i in uva pera caqui
      do
         echo A fruta é $i
      done
                                   ð          A fruta é uva
                                              A fruta é pera
                                              A fruta é caqui




                                                   ð            ?
                             if expr 5 > 3
     Exercício #6            then
                                echo ERRADO
            Porque ?         else
                                echo CERTO
                             fi




    (C) 2011 HMarx                                                  48 / 98
Mais alguns comandos
$ ls
bash             dostextfile foto.jpg image.gif   image.png unixtextfile
$ file *
bash:         ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
               dynamically linked (uses shared libs), for GNU/Linux 2.6.4, stripped
dostextfile: ASCII text, width CRLF line terminators
foto.jpg:     PE32 executable for MS Windows (GUI) Intel 80386 32-bit
image.gif: GIF image data, version 89a, 100 x 100
image.png: PNG image data, 250 x 250, 8-bit/color RGB, non-interlaced
unixtextfile: ASCII text
$ ls | wc

  r
    5     5    50
$



         A identificação do tipo do arquivo é pelo conteúdo e
         não pela extensão do nome do arquivo !
                                                                           !
(C) 2011 HMarx                                                                  49 / 98
GNU/Linux em Redes

s Topologias
     §
    barramentos, estrela, wireless, ...
s Arquitetura
     §
    internas, externas, locais, remotas, internet, VPNs,

     §
    ...
    A Internet
s Tecnologias
     §
    coaxial, ethernet, token-ring, wifi, wimax, ...
s Protocolos
     §
     § ð
    TCP/IP, SMB e NMB, NCP, AX25, ...
    Parâmetros
       ð
                  nomes, endereços
                  parâmetros de desempenho e segurança
s
 (C) 2011 HMarx                                            50 / 98
IPv4
s Número de 32 bits
   §                                                              R            H
    formato x.y.z.w
                  Ä   x, y, z, w ∈ [ 0 .. 255 ]
                                                              x   y     z      w
                      F
   §
                           R + H = 32
          Classe x            netid hostid networks                   IPs
         ð        A   1-126       x       y.z.w       126         16.777.216
         ð        B   128-191    x.y      x.w      16.384         65536
         ð        C   192-223   x.y.z       w      2.097.151      256
         ð        D   224-239   multicast
         ð        E   240-247   reservado


   §      Endereços especiais
                  Ä   loopback:  127.0.0.0/8 (interface lo)
                  Ä   network :  hostid[*] = 0
                  Ä
                  Ä
                      broadcast: hostid[*] = 1
                      netmask : netid[*]=1, hostid[*] = 0



 (C) 2011 HMarx                                                                    51 / 98
IPv4
s Blocks privados

                                     }
                                              Network Address Translation
  §      A : 10.0.0.0/8
  §      B : 172.16.0.0/12
  §      C : 192.168.0.0/16
s Endereços especiais
  §      loopback:    127.0.0.0/8
                   Finterface lo
                                                                 gateway/firewall


  §      network : hostid[*] = 0
  §      broadcast: hostid[*] = 1
  §      netmask : netid[*]=1, hostid[*] = 0

                   Exemplo

                    Classe C: 192.168.200.0/24
                    endereço de rede:       192.168.200.0
                    endereço de broadcast: 192.168.200.255
                    Total de 256 IPs
                          ⇒ 254 disponíveis para os nodos


  (C) 2011 HMarx                                                                    52 / 98
IPv4 - subclasses
                 R                        H
                                                             R + H = 32
        x             y        z              w              R’ + H’ = 32
                                                             R’ = R + N
                          R’                   H’            H’ = H - N
                                      N
s
      §
        Rede R = x.y.z.w/R
             R é o número de bits de netid
s Subclasses R’                               Exemplo

      § ð    2N subclasses R’
                     x’.y’.z’.w’/R’
                                               Subclasse C’: 192.168.200.0/28
                                               endereço de rede:      192.168.200.0
                                               endereço de broadcast: 192.168.200.15
                                               máscara :              255.255.255.240 ou /28

             ð       2H-N = 2H’ IPs            Total de 16 IPs
                                                     ⇒ 14 disponíveis para os nodos



    (C) 2011 HMarx                                                                       53 / 98
Praticando ...

  Exercício #7

      Identifique para os endereços abaixo: a classe (A, B ou C), o número
    de IPs disponíveis, os endereços de rede e broadcast, e a máscara no
    formato /N ou x.y.x.w, conforme a fornecida.

      a) 75.1.12.0 / 22

      b) 200.200.200.128 / 26

      c) 11.192.0.0, máscara 255.224.0.0




(C) 2011 HMarx                                                          54 / 98
Roteamento
s Tabela de roteamento
    § ð destino gateway máscara métrica interface
    route -n ou netstat -rn


    § ð Para com entradadestino DST
      Pacote
             cada
                  IP de
            Ä DST & máscara == destino ?
            Ä Envia p/ o gateway a interface
          ð Ä destino 0.0.0.0, máscara 0.0.0.0
            Rota default

               F X & 0 é sempre 0 !



 (C) 2011 HMarx                                     55 / 98
Multiplas redes

s Redes locais e remotas




(C) 2011 HMarx                     56 / 98
Práticando ...

s Cálculo de sub-redes

  Exercício #8
     Considere um provedor detentor do bloco 190.180.128.0/17.
  Ele quer fornecer subclasses com 16 IPs fixos para seus clientes.
         a) Quantos clientes ele pode atender com o bloco ?
         b) Exemplifique com algumas subclasses fornecidas.
      c) Cite algumas consequências de configurações inadequadas
  ou erradas de parâmetros de redes em termos de segurança.




 (C) 2011 HMarx                                                       57 / 98
IPv6
  s Números de 128 bits
        §
        §
      representados em hexadecimal
      bits de mais alta ordem : prefixo
  Tipo de endereço                          Prefixo       Fração do espaço
                                                          de endereçamento
   reservado                                 0000 0000         1/256
   não assinalado                            0000 0001         1/256
  reservado para NSAP                        0000 001         1/128
  reservado para                             0000 010         1/64
  não assinalado                             0000 011         1/32
  não assinalado                             0000 1           1/16
  não assinalado                             0001             1/8
  endereços de unicast global agregáveis    001               1/8
  não assinalado                            010               1/8
  não assinalado                            011               1/8
  não assinalado                            100               1/8
  não assinalado                            101               1/8
  não assinalado                           110                1/8
  não assinalado                           1110               1/16
  não assinalado                           1111 0             1/32
  não assinalado                           1111 10            1/64
  não assinalado                           1111 110           1/128
  não assinalado                           1111 1110          1/512
  endereços de unicast de link local       1111 1110 10       1/1024
  endereços de unicast de site local       1111 1110 11       110248
  endereços de multicast                   1111 1111          1/256

(C) 2011 HMarx                                                               58 / 98
IPv6 - exemplos
eth0       Link encap:Ethernet HWaddr 00:00:E8:4D:4F:A7
           inet addr:201.17.146.157 Bcast:201.17.146.255 Mask:255.255.255.0
           inet6 addr: fe80::200:e8ff:fe4d:4fa7/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
           RX packets:50165271 errors:0 dropped:0 overruns:0 frame:0
           TX packets:12768430 errors:18 dropped:0 overruns:0 carrier:36
           collisions:37218 txqueuelen:1000
           RX bytes:853256390 (813.7 Mb) TX bytes:3281976782 (3129.9 Mb)
           Interrupt:129 Base address:0xb400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:1208299 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1208299 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:219146691 (208.9 Mb) TX bytes:219146691 (208.9 Mb)
vmnet8     Link encap:Ethernet HWaddr 00:50:56:C0:00:08
           inet addr:172.16.185.1 Bcast:172.16.185.255 Mask:255.255.255.0
           inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:71600 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


(C) 2011 HMarx                                                                59 / 98
Serviços
s Conexão / Comunicação
         ð Ä portosUDP, sockets
            TCP, IP,

         ð Arquivos
                      e protocolos

s      Scripts em /etc/init.d/
         ð apache2, named, mysql, smbd, nmbd, vsftpd, sendmail,
         ð RunLevel em /etc/inittab
            ntp, dhcpd, nfsd, firewall, ...

                         F
                   default

                     Ä
                                                              id:5:initdefault

                     Ä
                         0:halt

                     Ä
                         1:mono

                     Ä
                         2:multi local

                     Ä
                         3:multi+rede

                     Ä
                         5:mult+rede+X11
                         6:reboot
                         F   chkconfig serviço { on | off }

    (C) 2011 HMarx                                                               60 / 98
Servidor de nomes
s DNS - Domain Name System
          ð Ä resoluçãoIPs IPs de domínios e máquinas
            domínios e

            Ä resolução de nomes de IPs (DNS reverso)
                        de

          ð Ä software BIND - Berkeley Internet Name Domain
            named




(C) 2011 HMarx                                                61 / 98
Resolvendo nomes e IPs

s Aplicativos
    §
    §
    host

    §
    dig
    nslookup
    # host 201.17.146.157
    157.146.17.201.in-addr.arpa domain name pointer atlas.linuxtech.com.br.
    # host atlas.linuxtech.com.br
    atlas.linuxtech.com.br has address 201.17.146.157
    atlas.linuxtech.com.br mail is handled by 10 atlas.linuxtech.com.br.
    # host -t mx linuxtech.com.br
    linuxtech.com.br mail is handled by 10 atlas.linuxtech.com.br.

        r
    linuxtech.com.br mail is handled by 20 master.softaplic.com.br.
    #




(C) 2011 HMarx                                                                62 / 98
E-mail

s Componentes
    §
    MUA - Mail User Agent
              Ä kmail, mutt, thunderbird, webmails, ...
    §      MTA - Mail Transport Agent
              Ä sendmail, postfix, exim, qmail, ...
    §      MDA - Mail Delivery Agent
              Ä procmail
    §      Filtros
              Ä antivirus, antispam
              Ä filtros (ip/domínio de origem, assunto, remetente,
                    destinatário, ... )
s Protocolos
           ð                              ð           ð MTA
           ð                               ð
                  [E]SMTP - MUA      MTA e MTA

           ð                               ð
                  POP - caixa postal MUA
                  IMAP - caixa postal MUA
                    F   Podem utilizar TLS e SSL !

 (C) 2011 HMarx                                                      63 / 98
Protocolo SMTP

s Conversa SMTP simplificada




(C) 2011 HMarx                    64 / 98
Segurança do e-mail
s Autenticidade
       § ð
    Endereços de origem e destino
                     To e From
                        F
              ð Ä Subject de origem
                            Facilmente forjáveis !
                IP/domínio

s Integridade
                        F   Confiabilidade do MUA, MTAs e MDAs
s Confiabilidade
              ð
              ð
                     Conteúdo e Anexos

       § SPAM / SCAM
                     Cavalos de Troia, Worms e Viruses

s
       § Criptografia
       Privacidade
            Ä           PGP

    (C) 2011 HMarx                                               65 / 98
Segurança do e-mail

 Exercício #9
     Porque a resolução dos nomes no DNS é importante para a
   segurança do sistema de e-mails ?
     O sistema GNU/Linux é praticamente imune a virus. Porque
  é necessário o uso de antivirus nele ?




(C) 2011 HMarx                                                  66 / 98
Samba
s Servidor
    §
    §
    Autenticação de usuários

    §
    Compartilhamentos
    Server, PDC, BDC

s Cliente
    §
    §
     Autenticação em servidores Windows
     Utilização de recursos compartilhados

s Configuração
    § ð parâmetros
    /etc/samba/smb.conf
        Ä
                  Ä
                      domain/workgroup, protocolo, compatilhamentos
                      mapeamento de usuários

 (C) 2011 HMarx                                                       67 / 98
Ataques

s Formas de ataque
     §
     §
    Man in the middle

     §
    Denial of service
    IP spoofing

s Ferramentas
     §
     §
    Análise de logs

     §
    TCP wrappers

     § ð
    Portscanners e sniffers
    Firewall
       ð
                  Segurança de rede
                  Proteção contra acessos indevidos
                  Ä
           ð
                      filtro de pacotes
                  Log de atividades e tráfego entre redes


 (C) 2011 HMarx                                             68 / 98
Firewall - organização

s Pacotes
     §
     §
    endereços de origem e destino
    protocolos de sessão e aplicação

s Encapsulamento de dados
     §     ð SMTP, Telnet, FTP, HTTP, ...
    Aplicação
     §     ð TCP, UDP, ICMP, ...
           Transporte
     §     ð IPv4, IPv6
           Internet
     §     ð Ethernet, FDDI, ATM, Wireless, ...
           Meio de acesso à rede



 (C) 2011 HMarx                                   69 / 98
Modelo OSI da ISO
s
                   F
    Open Systems Interconnection Model
                modelo de referência




                       7
                       6
                       5
                       4
                       3
                       2
                       1



(C) 2011 HMarx                           70 / 98
Firewall - Filtros

s Regras
     §
     §
    Direção : Inbound, Outbound, Either

     §
    Endereco de origem

     §
    Endereço de destino

     §
    Porto de origem

     §
    Porto de destino

     §
    Protocolo (TCP, UDP, ICMP, ...)

     § ð
    Ação (Allow, Deny, Drop, Reject)
    Destinos especiais
                  SNAT, DNAT, REDIRECT, MASQUERADE, LOG,
                  MARK, REJECT, ...
                  Ä    NAT : Network Address Translation ou Masquerade




 (C) 2011 HMarx                                                          71 / 98
Software iptables

s Manipulação das tabelas de regras de filtro
s Organização
     §
     §
    Tables - Tabelas que são compostas por cadeias

     §
    Chains - Cadeias que são compostas por regras

     § ð filter - tabela default
    Rules - Regras que definem o destino do pacote
    Tabelas padrao (após kernel 2.4.18)
         Ä
           ð Ä PREROUTING, OUTPUT, POSTROUTING
                   chains: INPUT, FORWARD e OUTPUT
             nat

           ð Ä INPUT, PREROUTING, FORWARD, OUTPUT e
             mangle
                   POSTROUTING




 (C) 2011 HMarx                                       72 / 98
Fluxo de pacotes


            pkt           Firewall
                                        pkt
            interface                   interface
                          forward ?     externa
            interna      masquerade ?
                            drop ?
                  pkt      reject ?         pkt




(C) 2011 HMarx                                      73 / 98
iptables - utilização
s
s
        tabela : especifica a que tabela o comando se aplica
        cadeia : especifica a que cadeia da tabela o comando se aplica

     # iptables [ -t tabela ] -L [ cadeia ]
     Lista as regras (da cadeia)
     # iptables [ -t tabela ] -N cadeia [ opções ]
     Cria uma nova cadeia
     # iptables [ -t tabela ] -X cadeia [ opções ]
     Remove a cadeia
     # iptables [ -t tabela ] -F [ cadeia ]
     Apaga todas as regras (da cadeia)
     # iptables [ -t tabela ] -Z [ cadeia ]
     Zera os contadores de bytes e pacotes (da cadeia)

    (C) 2011 HMarx                                                       74 / 98
iptables - utilização
  # iptables [ -t tabela ] -P cadeia política [ opções ]
  Define a política padrão para cadeia
             ACCEPT, DROP, QUEUE ou RETURN

  # iptables [ -t tabela ] -E nomevelho nomenovo cadeia [ opções ]
  Troca o nome de uma cadeia
  # iptables [ -t tabela ] -{ A | D} cadeia especificação [ opções ]
  Adiciona ou remove uma regra da cadeia
  # iptables [ -t tabela ] -D cadeia número [ opções ]
  Remove uma regra da cadeia
  # iptables [ -t tabela ] -I cadeia [ número ] especificação [ opções ]
  Inclui uma regra na cadeia
  # iptables [ -t tabela ] -R cadeia número especificação [ opções ]
  Substitui uma regra nd cadeia

(C) 2011 HMarx                                                        75 / 98
iptables

s Algumas opções
          ð      -v
                 Ä modo verboso
          ð      -n
                 Ä saída na forma numérica
          ð      -x
                 Ä expande os números de bytes e pacotes
          ð      -h
                 Ä ajuda
          ð      --line-numbers
                 Ä inclui número da linha no início de cada regra
          ð      --module-probe=comando
                 Ä especifica o comando para a carga dos módulos


(C) 2011 HMarx                                                      76 / 98
iptables
s       Especificações

              -p [ ! ] protocolo
              Especifica o protocolo: tcp, udp, icmp ou all

              -s [ ! ] endereço [ / máscara ]
              Especifica o endereço de origem (source)

              --source-port [ ! ] porto [ : porto ]
              Especifica o porto ou faixa de portos de origem

              -d [ ! ] endereço [ / máscara ]
              Especifica o endereço de destino

              --destination-port [ ! ] porto [ : porto ]
              Especifica o porto ou faixa de portos de destino


    (C) 2011 HMarx                                               77 / 98
iptables
s       Especificações

              --source-port { [, porto ] }*
              Especifica até 15 portos de origem

              --destination-port porto { [ , porto ] }*
              Especifica até 15 portos de destino

              --port porto { [ , porto ] }*
              Especifica o porto, quando os porto de origem e destino
              forem iguais




    (C) 2011 HMarx                                                      78 / 98
iptables
s       Especificações

              --uid-owner userid
              Especifica o Id do usuário do processo que criou o pacote

              --gid-owner gid
              Especifica o GID do processo que criou o pacote

              --pid-owner pid
              Especifica o número do processo que criou o pacote

       §      --sid-owner sessionid
              Especifica o número da sessão (grupo de processos) que
              criou o pacote




    (C) 2011 HMarx                                                        79 / 98
iptables
s       Especificações

              -i [ ! ] interface
              Especifica a interface de entrada (de onde veio o pacote)

              -o [ ! ] interface
              Especifica a interface de saída (para onde irá o pacote)

              --mac-source [ ! ] endereço
              Especifica o porto ou faixa de portos de origem

              --icmp-type [ ! ] tipo
              Especifica o tipo do pacote ICMP




    (C) 2011 HMarx                                                        80 / 98
iptables
s     Especificações
         --tcp-flags [ ! ] máscara ativos
         Especifica a lista de flags TCP. A máscara contém os flags
         que devem estar inativos. Os flags são SYN, ACK, FIN,
         RST, URG, PSH, ALL ou NONE

            [ ! ] syn
            Especifica pacotes com o bit SYN ativo e os bits ACK e
            FIN inativos

            --limit taxa [ / sufixo ]
            Especifica a taxa média máxima de pacotes. O sufixo pode
            ser second, minute, hour ou day. O default é 3/hour.

            [ ! ] --limit-burst númer
            Especifica o número máximo inicial de pacotes. O default é
            5.

    (C) 2011 HMarx                                                       81 / 98
iptables
s      Especificações
       -j   alvo
          Especifica o que fazer com o pacote. Poder ser uma cadeia

      §
          ou um destino especial.

             ð
          Destinos especiais
              LOG, MARK, REJECT, TOS, MIRROR, SNAT,
              DNAT, MASQUERADE e REDIRECT

s      Opções do destino LOG
          --log-level nível      (veja syslog.conf)
          --log-prefix prefixo   (até 29 caracteres)
          --log-tcp-sequence
          --log-tcp-options
          --log-ip-options




    (C) 2011 HMarx                                                    82 / 98
iptables
s      Opções do destino MARK
       --set-mark marca

s      Opções do destino REJECT
       --reject-with tipo

             ð
           O tipo pode ser:

             ð
               icmp-net-unreachable           echo-reply

             ð
               icmp-host-unreachable          tcp-reset

             ð
               icmp-port-unreachable

             ð
               icmp-proto-unreachable

             ð
               icmp-net-prohibited
               icmp-host-prohibited

s      Opções do destino TOS
          --set-tos tos  (veja iptables -j TOS -h)



    (C) 2011 HMarx                                         83 / 98
iptables
s    Especificações

     --state state { [, state ] }*
s    Especifica o(s) estado(s) da conexão ao(s) qual(is) o pacote está
     associado
         Estados:
            INVALID              - conexão inválida
           ESTABLISHED - conexão já estabelecida
           NEW                   - nova conexão
           RELATED               - nova conexão associada a
                                   uma já existente (ex: FTP)




(C) 2011 HMarx                                                       84 / 98
iptables
s     Especificações

    --ttl ttl
          Especifica o TTL do pacote

    --ttl-set ttl
          Estabelece novo TTL do pacote

      --ttl-dec ttl
           Decrementa o TTL do pacote

      --ttl-inc ttl
           Incrementa o TTL do pacote

            TTL = Time to live
                     F   Somente é válido para a tabela mangle !


    (C) 2011 HMarx                                                 85 / 98
iptables
s     Especificações

s     Opções do destino SNAT
      --to-source endereço [- endereço ] [ :porto [- porto ]]

s     Opções do destino DNAT
      --to-destination endereço [-endereço ] [ :porto [ - porto ]]

s     Opções dos destinos MASQUERADE ou REDIRECT
      --to-ports porto [ - porto ]




    (C) 2011 HMarx                                                   86 / 98
Exemplos

s Tabelas sem regras

           # iptables -L -n
           Chain INPUT (policy ACCEPT)
           target prot opt source      destination
           Chain FORWARD (policy ACCEPT)
           target prot opt source   destination
           Chain OUTPUT (policy ACCEPT)
                 r
           target prot opt source    destination
           #




(C) 2011 HMarx                                       87 / 98
Cadeia com algumas regras

 # iptables -L PREROUTING -t nat -n
Chain PREROUTING (policy ACCEPT)
target prot opt source     destination
DNAT      tcp -- 0.0.0.0/0 201.17.146.157   tcp dpt:2222 to:192.168.200.41:22
DNAT      tcp -- 0.0.0.0/0 201.17.146.157   tcp dpt:21211 to:192.168.200.190:22
DNAT      tcp -- 0.0.0.0/0 201.17.146.157   tcp dpt:2227 to:192.168.200.7:22
DNAT      tcp -- 0.0.0.0/0 201.17.146.157   tcp dpt:59023 to:192.168.200.5:23
DNAT      tcp -- 0.0.0.0/  192.168.200.3    tcp dpt:59023 to:192.168.200.5:23
DNAT      tcp -- 0.0.0.0/0 201.17.146.157   tcp dpt:59021 to:192.168.200.5:21
DNAT      tcp -- 0.0.0.0/0 192.168.200.3    tcp dpt:59021 to:192.168.200.5:21
DNAT      udp -- 0.0.0.0/0 0.0.0.0/0        udp dpt:11113 to:192.168.200.190:11113
 r
DNAT      udp -- 0.0.0.0/0 0.0.0.0/0        udp dpt:11113 to:192.168.200.200:11113
#




(C) 2011 HMarx                                                               88 / 98
VPN
s Virtual Private Network
    §
    §
    autenticação e criptografia
    IPsec - IP security
                  Ä   /etc/ipsec.conf e /etc/ipsec.secrets

                                   Modelo de conexão VPN




                                         tunel seguro


    § ð SSL,formasSSH, PPTP, tunnel SSH, ...
      Outras
             PPP +


 (C) 2011 HMarx                                              89 / 98
Logs
s Registro de ocorrências
    §
    §
    evento e instante
    kernel, serviços e aplicativos

s Acompanhamento
    §
    §
    dmesg (kernel)
    /var/log/* e /var/log/serviço/*

s Monitoramento e análise
    §
    §
   tail

    §
   monit, mon, nagios, ...
   emails p/ o root


 (C) 2011 HMarx                       90 / 98
Logs do firewall
Mar 27 11:48:18 thor kernel: SFW2-INext-ACC-TCP IN=eth0 OUT=
   MAC=00:00:e8:4d:4f:a7:00:13:5f:05:67:05:08:00 SRC=87.176.79.74
   DST=201.17.146.157 LEN=48 TOS=0x00 PREC=0x00 TTL=112 ID=20424 DF
   PROTO=TCP SPT=1283 DPT=25 WINDOW=16384 RES=0x00 SYN URGP=0
   OPT (020404EC01010402)

Mar 27 11:58:22 thor kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT=
   MAC=00:00:e8:4d:4f:a7:00:13:5f:05:67:05:08:00 SRC=187.115.202.240
   DST=201.17.146.157 LEN=76 TOS=0x00 PREC=0x00 TTL=58 ID=23151 DF
   PROTO=UDP SPT=16117 DPT=123 LEN=56

Mar 27 13:03:57 thor kernel: BAD IP IN=eth0 OUT=
   MAC=00:00:e8:4d:4f:a7:00:13:5f:05:67:05:08:00 SRC=119.200.73.225
   DST=201.17.146.157 LEN=48 TOS=0x00 PREC=0x00 TTL=104 ID=31668 DF
   PROTO=TCP SPT=2510 DPT=25 WINDOW=65535 RES=0x00 SYN URGP=0

Mar 27 15:37:14 thor kernel: SFW2-FWDint-DROP-DEFLT-INV IN=eth1
   OUT=eth0 SRC=192.168.200.41 DST=186.193.48.241 LEN=120 TOS=0x00
   PREC=0x00 TTL=63 ID=30632 DF PROTO=TCP SPT=47851 DPT=15354
   WINDOW=92 RES=0x00 ACK PSH FIN URGP=0
   OPT (0101080A039FB0BA00000000)




(C) 2011 HMarx                                                         91 / 98
Log de sessões e tentativas

  Jan 29 05:18:53 thor sshd[5032]: Invalid user testuser from 213.232.110.135
  Feb 3 13:01:06 thor sshd[11171]: reverse mapping checking getaddrinfo for
              18983144228.user.veloxzone.com.br [189.83.144.228] failed -
               POSSIBLE BREAK-IN ATTEMPT!

  Mar 4 13:37:51 thor sshd[31452]: Accepted keyboard-interactive/pam for hmarx
              from 186.213.97.125 port 44418 ssh2

  Mar 7 19:17:11 thor sshd[10687]: User walter from (null) not allowed because none
             of user’s groups are listed in AllowGroups

  Mar 8 12:17:58 thor sshd[26745]: Failed password for invalid user denied from
              ::ffff:121.83.254.19 port 60428 ssh2

  Mar 9 07:53:31 thor sshd[29212]: Invalid user zorro from ::ffff:78.153.209.71


  Mar 9 08:17:19 thor login[29821]: FAILED LOGIN 1 FROM /dev/tty1 FOR hmarx,
                 Authentication failure




(C) 2011 HMarx                                                                    92 / 98
Logs de e-mails
Mar 24 17:07:27 thor sendmail[20124]: p2OK7JCw020124:
   from=<goncalves@fgr.org.br>, size=269275, class=0, nrcpts=1,
   msgid=<F4B8E6386F9B4A8EB2CD1D8A5DCB7C3A@paraiba.org.br>,
   proto=ESMTP, daemon=MTA, relay=nsa33.globalconn.net [74.52.81.66]

Mar 24 17:08:27 thor sendmail[20124]: p2OK7JCw020124: Milter change (add):
    header: X-Virus-Scanned: by amavisd-new

Mar 24 17:08:28 thor sendmail[20172]: p2OK7JCw020124:
    to=<hmarx@linuxtech.com.br>, delay=00:01:05, xdelay=00:00:00, mailer=local,
    pri=299525, dsn=2.0.0, stat=Sent

Mar 19 22:04:39 thor popper[23507]: Stats: hmarx 2 29503 0 0 venus.starix.br
    192.168.200.41 [pop_updt.c:296]

Mar 19 21:33:00 thor popper[16281]: prudencia at server.museuimperial.art.br
    (173.199.129.199): -ERR [AUTH] Password supplied for "prudencia"
        is incorrect. [pop_pass.c:1295]

Mar 19 21:56:43 thor popper[23154]: [AUTH] Failed attempted login to renato from
    host (server.museuimperial.art.br) 173.199.129.199 [pop_pass.c:1383]




(C) 2011 HMarx                                                                 93 / 98
Sumário das ferramentas
s Sessões, conexões e transações segura
       § ssh, scp, sftp
       § VPN
       § https
       § certificados digitais
       § pgp
s
       § password aging
       Limitando privilégios locais

       § ulimit
       § inetd c/ tcpd ou xinetd
       § processos chrooted
       § quota em sistemas de arquivos
       § permissões de objetos (chmod)
       § ACLs
    (C) 2011 HMarx                        94 / 98
Ferramentas para gerenciamento



s Monitoração de tráfego de rede
    § iptraf
    § tcpdump
    § snort
    § ethereal / wireshark
    § SNMP
s
    § who, w, rwho - usuários com sessões abertas
    Monitoração de atividades no servidor
    § ps, pstree
    § lsof, fuser
                           - processos em execução

    § netstat
                            - arquivos e sockets abertos

    § nmap
                            - conexões potenciais e ativas

    § rpcinfo
                            - serviços acessíveis (portos abertos)

    § w, top, free, df, du - uso de CPU, memória e disco
                            - processos RPC



(C) 2011 HMarx                                                       95 / 98
Conclusões
   § ð Configuração dos serviços
     Planejamento
   § ð usuários e root
     Confiança
                 Ä
                                          !
                     Senhas fortes
                     F
   §
                        Troca periódica
          Software Livre é seguro




(C) 2011 HMarx                                96 / 98
Dúvidas
                           ?
                 Curiosidades




(C) 2011 HMarx                  97 / 98
Obrigado !




                 Hélio Marques Sobrinho

                      hmarx@linuxtech.com.br




(C) 2011 HMarx                                 98 / 98

Seguranca Software Livre

  • 1.
    Disciplina Segurança em Sistema Operacional Livre Prof: Hélio Marques Sobrinho hmarx@linuxtech.com.br (C) 2011 HMarx 1 / 98
  • 2.
    Programa s § Sistema de computação e segurança Introdução § O ambiente operacional GNU/Linux s § Planejamento, Instalação e Configuração Instalação do GNU/Linux § O shell e seus comandos s § Usuários e grupos Administração do GNU/Linux § Sistemas de arquivos § Serviços s § Firewall, VPN, SSL, .. Segurança § Logs. s Conclusões (C) 2011 HMarx 2 / 98
  • 3.
    Referências bibliográficas § Olaf Kirch, "Linux Network Administrator´s Guide", SSC, USA, 1994. § Simon Garfinkel & Gene Spafford, "Practical Unix & Internet Secutiry", O´Reilly, USA, 1996. § Anonymous, "Maximum Linux Security", SAMS, USA, 2000. § "openSuSE Security Guide", Novell § "openSuSE Linux Administration and User Guide", Novell § ¶ www.cert.org (Computer Emergency Report Team) Alguns sites: ¶ www.kernel.org ¶ www.gnu.org ¶ ¶ ¶ ¶ www.nsa.org www.linuxsecurity.com ¶ www.sans.org www.rootprompt.org § pgp.mit.edu e muito mais. (C) 2011 HMarx 3 / 98
  • 4.
    Agenda s Conteúdo ð ð Introdução e conceitos ð Utilização e Comandos básicos ð Instalação e configuração do Linux. ð Administração do Linux. ð Serviços de rede. ð Firewall, VPN, SSL. ð Logs e Avaliação Feedbacks e conclusões. (C) 2011 HMarx 4 / 98
  • 5.
    Introdução s Sistema deComputação § ð Hardware, Software e Peopleware ð Processadores, memórias, dispositivos de E/S, ... ð Sistema operacional, utilitários e aplicativos Engenheiros, projetistas, técnicos, analistas, programadores, operadores e usuários (C) 2011 HMarx 5 / 98
  • 6.
    Segurança s Conceitos -ISO 27001 e 27002 § ð Critérios de segurança ð Disponibilidade ð Integridade ð Confiabilidade 2 Privacidade MTTF, MTBF, MTTR s Componentes do sistema de computação Exercício #1 Para cada um dos 3 componente do sistema de computação escolher um elemento e exemplificar (se aplicável) causa e efeito para cada critério de segurança acima. (C) 2011 HMarx 6 / 98
  • 7.
    Critérios de segurança s DoD - U.S. Department of Defense NSA - National Securiy Agency NCSC - National Computer Security Center TCSEC - Trusted Computer System Evaluation Criteria CC - Common Criteria s Classes D Segurança mínima C Proteção facultativa B Proteção obrigatória A Proteção verificada (C) 2011 HMarx 7 / 98
  • 8.
    Nova classificação s CCITSE ð Common Criteria for Information Tecnology Security Evaluation ð CC - Common Criteria EAL - Evaluation Assurance Level EAL 1 : Testado funcionalmente EAL 2 : Testado estruturalmente EAL 3 : Metodicamente testado e verificado EAL 4 : Metodicamente projetado, testado e revisado EAL 5 : Projetado semi-formalmente e testado EAL 6 : Projeto semi-formalmente verificado e testado EAL 7 : Projeto formalmente verificado e testado Red Hat Enterprise 5.3 EAL 4, dez/2009 SuSE Linux Enterprise 10 SP1 EAL 4, out/2007 VMWare ESX Server 2.5.0 EAL 2, set/2005 Microsoft Windows 2003 Server EAL 4, out/2006 (C) 2011 HMarx 8 / 98
  • 9.
    Histórico do GNU/Linux sBell Labs, USA, 1960 § § ð Ken Thompson Multics - GE 645 Unics => PDP-7 ð Dennis Ritchie, ð Brian Kernigham GE-645 § AT&T, SysV, Unix® Multics Ken Thompson Dennis Ritchie PDP-11 s § ð FSF- -GNUSoftwareUnix MIT, USA, 1983 GNU is Not ð Free Foundation Richard Stallman s Helsinki, Finlândia,1991 § Freax => Linux Ä GNU / Linux ð Linux kernel dynamic duo Linus Torvalds (C) 2011 HMarx 9 / 98
  • 10.
    Software Livre s FSF- Free Software Foundation § § GPL - General Public License § LGPL - Lesser General Public License § AGPL - Affero General Public License FDL - Free Documentation License Tim (O’Reilly) e Richard Stallman (FSF) (C) 2011 HMarx 10 / 98
  • 11.
    Distribuição s Meio dedistribuição ð ð Kernel linux ð Utilitários e aplicativos GNU e outros ð Instalação, Administração e configuração Pacotes RPM, TAR, DEB, ... s Algumas distribuições § e muito mais ! s § SLES, RHEL e Oracle Enterprise Linux (C) 2011 HMarx 11 / 98
  • 12.
    Instalação do GNU/Linux s § ð Estaçãoda instalação servidor ? Grid/Cluster ? Planejamento Objetivo ð Quais serviços ??Web ? Mail ? Banco de dados ? de trabalho ou § ð Volumes ? Tamanhos ?disco(s) Firewall ? VPN Particionamento do(s) Ä swap, /, /home, /boot, /var, ... ð Ä swap,de arquivosreiserfs, xfs, ... Sistema § ð Desenvolvimento de software? Entretenimento ? ext2, ext3, Pacotes de aplicativos Editoração eletrônica ? Educacional ? Geoprocessamento ? Aplicativos especiais ? (C) 2011 HMarx 12 / 98
  • 13.
    Instalação do GNU/Linux s § ð ethernet ? token ring ? wireless ? Ambiente de rede Interfaces Ä Ä 10Mbps ? 100Mbps ? Ä 1Gbps ? 10Gbps ? ... § ð TCP/IP ? SMB ? IPX ? Coaxial ? UTP ? STP ? Fibra ? Protocolos ð NCP ? DHCP ? Ä Nomes, endereços Ä IPs, máscaras, rotas ð Ä usuário, senha,autenticação Parâmetros para § padrão Dominios e endereços Ä DNS ? SMB/NMB ? AD? Ä IPv4 ? IPv6 ? Ä NIS ? LDAP ? (C) 2011 HMarx 13 / 98
  • 14.
    Arquitetura do GNU/Linux F .. Nenhuma aplicação acessa o hardware diretamente ! (C) 2011 HMarx 14 / 98
  • 15.
    Iniciando o GNU/Linux sO processo de boot (C) 2011 HMarx 15 / 98
  • 16.
    Do init aosprocessos s Árvore de processos (C) 2011 HMarx 16 / 98
  • 17.
    Sessões s Abertura desessão / login § § ð console, terminal (real ou emulado) local ou remota (telnet, ssh, ...) texto ou gráfica ð XWindow § ð user id e group id login e senha ð Ä login : gid default a vários grupos um usuário pode pertencer ð Ä root : root Super usuário F ð um usuário pode pertencer a vários grupos uid 0, gid 0 § ð usuário, grupoacesso a arquivos e diretórios : rwx Permissões de e outros: Read, Write, eXecute s Fechar sessão / logout ð exit ou Ctrl-D (C) 2011 HMarx 17 / 98
  • 18.
    Autenticação s Arquivo ð /etc/passwd e /etc/shadow s Bases ð NIS ð LDAP s PAM - Pluggable Autentication Modules ð /etc/pam.conf ou /etc/pam.d/* #%PAM-1.0 auth requisite pam_nologin.so auth [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad] auth include common-auth account include common-account password include common-password session required pam_loginuid.so session include common-session session required pam_lastlog.so nowtmp session optional pam_mail.so standard session optional pam_ck_connector.so s Radius, Kerberos, Diameter, fingerprint, ... (C) 2011 HMarx 18 / 98
  • 19.
    Sistema de arquivos sEstrutura hierárquica distribuída Ä diretórios, arquivos, dispositivos Ä root file system: / § Volumes locais e remotos Ä Sistemas de arquivos diferentes Ä Sistemas operacionais diferentes F ext2, ext3, reiser, xfs, swap, fat, vfat, nfs, smb, ncp, ... Ä Transparente para as aplicações F Virtual File System - vfs (C) 2011 HMarx 19 / 98
  • 20.
    Linux VFS s Camadade abstração do sistema de arquivos (C) 2011 HMarx 20 / 98
  • 21.
    Dispositivos s Volumes § ð locais dispositivos de armazenamento Ä ð Ä volumes exportados (NFS, Samba, NCP, ...) discos, arquivos, memória, CD, DVD, pen drive, ... remotos § ð Sistemas de arquivos locais Partições Ä Ä swap swap Ä ext2, ext3, reiser, ... ð Ä LILO, de boot LVM, RAID, DRBD, ... / indicador Ä Windows, MacOS. ,,, Grub, /home Ä outros /usr (C) 2011 HMarx 21 / 98
  • 22.
    Montagem s ð /etc/fstab Montagem durante o boot (init) ð / (raiz) ð Ä locais ou remotosarquivos outros sistemas de F (diskless workstations) Network File System s Entradas no arquivo /etc/fstab volume mount_point filesystem options dump fsck /dev/sda3 / ext3 acl,user_xattr 1 1 server:/public /pub nfs acl,noauto 0 0 s Comando mount mount [ -o opções ] volume mount_point mount volume mount mount_point } Entradas definidas no /etc/fstab (C) 2011 HMarx 22 / 98
  • 23.
    Visão para asaplicações w Possibilidades w Ä Local Remoto w NFS, SMB, ... DRBD (C) 2011 HMarx 23 / 98
  • 24.
    Atributos dos arquivos sDiretórios ð nomes § ð atributos, permissões Inodos ð blocos de dados s drwxrwxrwx user group others { r : read w: write permissões x : execute s,S : SUID, SGID { - : normal file d : directory t ,T : Stick c : character device tipo b : block device p : pipe l : link $ ls -li dostextfile s : socket 63677 -rw-rw---- 1 hmarx linuxtech 31 2011-03-19 19:13 dostextfile inode user group permissions size D&T filename links (C) 2011 HMarx 24 / 98
  • 25.
    Permissões s Representação numérica § ð ð 000 ð Bits : suid sgid stick rwx ð 0 1 F 0 1 0 1 111 ð altera x p/ s, S, t ou T } 0000 7777 s Alteração de permissões § § chmod opções octal objeto ... * chmod opções {{ugoa}{+-=}{ugorwxst}, } objeto ... s Alteração de dono § § chown opções [ user ] [ : group ] objeto ... chgrp opções group objeto ... (C) 2011 HMarx 25 / 98
  • 26.
    Exercícios s Permissões deacesso Exercício #2 Seja uma empresa com gerentes de diversas áreas. Um funcionário pode estar subordinado a mais de uma área. Cada gerente disponibiliza documentos em um diretório que só pode ser lidos por seus subordinados. Como as permissões dos diretórios e arquivos devem ser estabelecidas para não serem violadas a confiabilidade, a privacidade e integridade destes documentos ? (C) 2011 HMarx 26 / 98
  • 27.
    Hard links esoft links s Estrutura dos diretórios Ä Ä Dados do arquivo : inodo § Diretório: nome do arquivo Hard links $ ls -li arquivo.txt 63675 -rw-rw---- 1 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.txt $ ln arquivo.txt arquivo.copia $ ls -li arquivo.txt arquivo.copia 63675 -rw-rw---- 2 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.copia r 63675 -rw-rw---- 2 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.txt § $ Soft links $ ln -s arquivo.txt arquivo.atalho $ ls -li arquivo.txt arquivo.atalho 64134 lrwxrwxrwx 1 hmarx linuxtech 11 2011-04-02 14:04 arquivo.atalho -> arquivo.txt r 63675 -rw-rw---- 2 hmarx linuxtech 2910 2011-04-02 13:54 arquivo.txt $ (C) 2011 HMarx 27 / 98
  • 28.
    ACLs s ACLs -Access Control Lists Ä ð Controle granular das permissões rwx Sistema de arquivos montado com opção acl F Ä Exemplo: /dev/sdc2 on /work type reiserfs (rw,acl) mount -oremount,acl sistema-de-arquivos $ ls -l arquivo -rwxrw---- 1 hmarx linuxtech 61 2011-03-28 16:17 arquivo $ setfacl -m u:diana:rw,g:www:r arquivo Note a diferença ! $ ls -l arquivo -rwxrw----+ 1 hmarx linuxtech 61 2011-03-28 16:17 arquivo $ getfacl arquivo # file: arquivo # owner: hmarx # group: linuxtech user::rw- user:diana:rw- group::rw- group:www:r-- mask::rw- r other::--- $ (C) 2011 HMarx 28 / 98
  • 29.
    Exercício Exercício #3 Compare o esquema de proteção padrão utilizando apenas os bits rwx com o uso das ACLs. Que vantagens adicionais você consegue perceber ? (C) 2011 HMarx 29 / 98
  • 30.
    SELinux s Security EnhancedLinux § ð DoD - NSA - NCSC TCSEC, TCB, CC ð GPL em 2002, kernel Linux em 2003 ð Mandatory Access Control ð Confinamento de usuários e serviços a privilegios mínimos s Habilitando o SELinux § ð security=selinux selinux=1 parâmetros para o kernel § ð diretório /etc/selinux/* configurações § ð diretóriostatus /selinux/* controle e virtual (C) 2011 HMarx 30 / 98
  • 31.
    A interface gráficaXWindow s Componentes § § desktop manager window § manager aplications F Dependendo da velocidade do enlace, a comunicação pode ser remota. (C) 2011 HMarx 31 / 98
  • 32.
    Componentes do XWindow sX Server ð xorg s Desktop manager § ð xdm, gdm, kdm, ... controle de sessões X.org s § ð fvwm,egnome, kde, enlightenment, afterstep, Window manager controle decoração de janelas windowmaker, cdesim, ... s X applications § ð aplicações gráficas xterm, xclock, kmail, firefox, gimp, openoffice, digikam, wxcam, amarok, ... locate ent (C) 2011 HMarx 32 / 98
  • 33.
    O kdm eo desktop KDE openSuSE kdm e KDE (C) 2011 HMarx 33 / 98
  • 34.
    Uma interface típica botões de controle barra do título botões de controle menu e sticky minimiza, maximiza, ordem, fechar menu texto menu com icones área do aplicativo: textos, diálogos, barras de rolagem botões, canvas, ... barra de status KDE - kwrite (C) 2011 HMarx 34 / 98
  • 35.
    Algumas aplicações gráficas Aplicações X e KDE (C) 2011 HMarx 35 / 98
  • 36.
    Padrão de interfacegráfica s CUA - Common User Access § § Publicado pela IBM, 1987 Utilizado por Unix, Windows e Linux § Botões Ok, Cancel, Help, ... § Teclas de função (F1, F4, ...) § Teclas TAB, shift TAB, ESC, Enter, ... Exercício #4 Quais são os elementos básicos que compõems uma interface gráfica de um aplicativo qualquer ? Porque a utilização de uma interface gráfica para administrar um servidor requer maiores cuidados ? (C) 2011 HMarx 36 / 98
  • 37.
    O Bourne AgainShell - Bash s Interpretador de comandos s Linguagem de programação completa § scripts : comandos interpretados s Sintaxe § No prompt: Ä comando [ opções ] { [ argumentos ] }* (C) 2011 HMarx 37 / 98
  • 38.
    Ajuda on-line s Aplicativos § § comando --help § comando -h § man opções [ sessão ] comando info opções comando s Comandos do shell § help comando s A internet § § § http://www.linuxquestions.org/ http://www.linuxmanpages.com/ ... ! it (C) 2011 HMarx 38 / 98
  • 39.
    Elementos da linguagembash s Variáveis § ð variável=valor Atribuição NOME="Helio Marques" echo $NOME § ð $variável Valor da variável s Variáveis padrão § ð PATH, PS1, PS2, PS3, HOME, USER, SHELL, LANG, Alteráveis pelo usuário § ð 0,alteráveis!,pelo usuário ... Não 1, ... 9, #, ?,@, $ (C) 2011 HMarx 39 / 98
  • 40.
    Metacaracteres s Sequência decaracteres especiais § São tratados pelo shell e substituidos antes de § ð Exemplos de conjunto serem passados para o comando * ? [ conjunto ] [ !conjunto ] ~ Ä a-z 0123456789 0-9 0-9ABCDEF 0-9A-F $ echo ** ERRO ** ** ERRO ** $ ls chap1 chap2 chap3 programA programB1 programB2 $ ls *[1-3] chap1 chap2 chap3 programB1 programB2 $ ls *[!1-3] programA $ ls *[AB]? r programB1 programB2 $ (C) 2011 HMarx 40 / 98
  • 41.
    Usando Metacaracteres s Comandoecho § § echo [ -n ] texto ... Imprime na saída padrão os argumentos Exercício #5 Sejam as variáveis PRODUTO, que contém o nome do ítem, e VALOR, que contém o preço do ítem. Exemplo: PRODUTO="Caneta" e VALOR="14,95". Que comando irá exibir o texto abaixo ? O item Caneta custa R$14,95 (C) 2011 HMarx 41 / 98
  • 42.
    Ambiente s ~ éo diretório pessoal §~jose é /home/jose s conteúdo § ð .* "nomes ocultos" no ls arquivos e diretórios pessoais § ð shell - logs e de aplicativos configurações scripts Ä .bash_history, .bashrc, .bash_login, .bash_logout, .profile, ð Ä .procmailrc,e-mail ... .alias, ... tratamento de ð Ä ícones,aplicações gráficasde janelas, ... .forward, desktop e menus, decorações (C) 2011 HMarx 42 / 98
  • 43.
    Comandos do Bash sComandos internos ð alias, cd, fg, bg, echo, eval, exit, export, history, if/then/else, while, until, for, case, pwd, set, shift, trap, test, type, ulimit, umask, uname, ... s Aplicativos externos § ð scripts e executáveis ls, ps, cp, rm, rmdir, ln, mv, df, du, diff, at, bc, bzip, tar, ping, host, w, who, arp, ... s Funções ð Ex: Definindo o novo comando files para exibir o diretório em 3 colunas function files() { ls $* | pr -T --columns=3 } (C) 2011 HMarx 43 / 98
  • 44.
    Operadores do bash sSeparador de comandos s ; $ date; pwd; uname -r Sat Mar 19 19:30:19 BRT 2011 /home/hmarx r 2.6.34.7-0.7-default $ s Redirecionamento de E/S § 0 : entrada padrão > >> < >& <<texto i>&n { 1 : saída padrão 2 : saída de erros $ cat << _END_ > Arquivo $ cat Arquivo Uma linha Outra linha Mais uma linha ð Uma linha Outra linha r Mais uma linha r _END_ $ $ (C) 2011 HMarx 44 / 98
  • 45.
    Operadores do bash s § Pipe comando1 | comando2 | ... $ echo "Maria da Silva" | rev r avliS ad airaM $ s Agrupamento de comandos (subshell) § ( comando1; comando2; ... ) $ pwd; (cd /usr/local/bin;pwd); pwd /home/hmarx /usr/local/bin r /home/hmarx $ (C) 2011 HMarx 45 / 98
  • 46.
    Operadores do bash s § Substituição de comando § ‘comando‘ $(comando) $ echo "Estamos no ano $(date +%Y)." r Estamos no ano de 2011. $ s Expressões aritméticas § (( expressão )) $ (( I = 500 / 3 )) $ echo "I = $I" r I = 166 $ (C) 2011 HMarx 46 / 98
  • 47.
    Operadores do bash s § ð operadores ]] Expressões lógicas [[ expressão Ä Ä Ä -eq -lt -gt -le -ge -ne -e file -r file -w file ... $ [[ 500 -gt 100 ]]; echo $0 0 0 é verdadeiro 1 é falso ! $ [[ 500 -gt 1000 ]]; echo $0 r 1 $ F ! Ver manual do comando test (C) 2011 HMarx 47 / 98
  • 48.
    Exemplos de comandos s Comandos iterativos e condicionais i=0 ð 0 while [[ $i -gt 5 ]] 1 do 2 echo $i 3 (( ++i )) 4 done for i in uva pera caqui do echo A fruta é $i done ð A fruta é uva A fruta é pera A fruta é caqui ð ? if expr 5 > 3 Exercício #6 then echo ERRADO Porque ? else echo CERTO fi (C) 2011 HMarx 48 / 98
  • 49.
    Mais alguns comandos $ls bash dostextfile foto.jpg image.gif image.png unixtextfile $ file * bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, stripped dostextfile: ASCII text, width CRLF line terminators foto.jpg: PE32 executable for MS Windows (GUI) Intel 80386 32-bit image.gif: GIF image data, version 89a, 100 x 100 image.png: PNG image data, 250 x 250, 8-bit/color RGB, non-interlaced unixtextfile: ASCII text $ ls | wc r 5 5 50 $ A identificação do tipo do arquivo é pelo conteúdo e não pela extensão do nome do arquivo ! ! (C) 2011 HMarx 49 / 98
  • 50.
    GNU/Linux em Redes sTopologias § barramentos, estrela, wireless, ... s Arquitetura § internas, externas, locais, remotas, internet, VPNs, § ... A Internet s Tecnologias § coaxial, ethernet, token-ring, wifi, wimax, ... s Protocolos § § ð TCP/IP, SMB e NMB, NCP, AX25, ... Parâmetros ð nomes, endereços parâmetros de desempenho e segurança s (C) 2011 HMarx 50 / 98
  • 51.
    IPv4 s Número de32 bits § R H formato x.y.z.w Ä x, y, z, w ∈ [ 0 .. 255 ] x y z w F § R + H = 32 Classe x netid hostid networks IPs ð A 1-126 x y.z.w 126 16.777.216 ð B 128-191 x.y x.w 16.384 65536 ð C 192-223 x.y.z w 2.097.151 256 ð D 224-239 multicast ð E 240-247 reservado § Endereços especiais Ä loopback: 127.0.0.0/8 (interface lo) Ä network : hostid[*] = 0 Ä Ä broadcast: hostid[*] = 1 netmask : netid[*]=1, hostid[*] = 0 (C) 2011 HMarx 51 / 98
  • 52.
    IPv4 s Blocks privados } Network Address Translation § A : 10.0.0.0/8 § B : 172.16.0.0/12 § C : 192.168.0.0/16 s Endereços especiais § loopback: 127.0.0.0/8 Finterface lo gateway/firewall § network : hostid[*] = 0 § broadcast: hostid[*] = 1 § netmask : netid[*]=1, hostid[*] = 0 Exemplo Classe C: 192.168.200.0/24 endereço de rede: 192.168.200.0 endereço de broadcast: 192.168.200.255 Total de 256 IPs ⇒ 254 disponíveis para os nodos (C) 2011 HMarx 52 / 98
  • 53.
    IPv4 - subclasses R H R + H = 32 x y z w R’ + H’ = 32 R’ = R + N R’ H’ H’ = H - N N s § Rede R = x.y.z.w/R R é o número de bits de netid s Subclasses R’ Exemplo § ð 2N subclasses R’ x’.y’.z’.w’/R’ Subclasse C’: 192.168.200.0/28 endereço de rede: 192.168.200.0 endereço de broadcast: 192.168.200.15 máscara : 255.255.255.240 ou /28 ð 2H-N = 2H’ IPs Total de 16 IPs ⇒ 14 disponíveis para os nodos (C) 2011 HMarx 53 / 98
  • 54.
    Praticando ... Exercício #7 Identifique para os endereços abaixo: a classe (A, B ou C), o número de IPs disponíveis, os endereços de rede e broadcast, e a máscara no formato /N ou x.y.x.w, conforme a fornecida. a) 75.1.12.0 / 22 b) 200.200.200.128 / 26 c) 11.192.0.0, máscara 255.224.0.0 (C) 2011 HMarx 54 / 98
  • 55.
    Roteamento s Tabela deroteamento § ð destino gateway máscara métrica interface route -n ou netstat -rn § ð Para com entradadestino DST Pacote cada IP de Ä DST & máscara == destino ? Ä Envia p/ o gateway a interface ð Ä destino 0.0.0.0, máscara 0.0.0.0 Rota default F X & 0 é sempre 0 ! (C) 2011 HMarx 55 / 98
  • 56.
    Multiplas redes s Redeslocais e remotas (C) 2011 HMarx 56 / 98
  • 57.
    Práticando ... s Cálculode sub-redes Exercício #8 Considere um provedor detentor do bloco 190.180.128.0/17. Ele quer fornecer subclasses com 16 IPs fixos para seus clientes. a) Quantos clientes ele pode atender com o bloco ? b) Exemplifique com algumas subclasses fornecidas. c) Cite algumas consequências de configurações inadequadas ou erradas de parâmetros de redes em termos de segurança. (C) 2011 HMarx 57 / 98
  • 58.
    IPv6 sNúmeros de 128 bits § § representados em hexadecimal bits de mais alta ordem : prefixo Tipo de endereço Prefixo Fração do espaço de endereçamento reservado 0000 0000 1/256 não assinalado 0000 0001 1/256 reservado para NSAP 0000 001 1/128 reservado para 0000 010 1/64 não assinalado 0000 011 1/32 não assinalado 0000 1 1/16 não assinalado 0001 1/8 endereços de unicast global agregáveis 001 1/8 não assinalado 010 1/8 não assinalado 011 1/8 não assinalado 100 1/8 não assinalado 101 1/8 não assinalado 110 1/8 não assinalado 1110 1/16 não assinalado 1111 0 1/32 não assinalado 1111 10 1/64 não assinalado 1111 110 1/128 não assinalado 1111 1110 1/512 endereços de unicast de link local 1111 1110 10 1/1024 endereços de unicast de site local 1111 1110 11 110248 endereços de multicast 1111 1111 1/256 (C) 2011 HMarx 58 / 98
  • 59.
    IPv6 - exemplos eth0 Link encap:Ethernet HWaddr 00:00:E8:4D:4F:A7 inet addr:201.17.146.157 Bcast:201.17.146.255 Mask:255.255.255.0 inet6 addr: fe80::200:e8ff:fe4d:4fa7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:50165271 errors:0 dropped:0 overruns:0 frame:0 TX packets:12768430 errors:18 dropped:0 overruns:0 carrier:36 collisions:37218 txqueuelen:1000 RX bytes:853256390 (813.7 Mb) TX bytes:3281976782 (3129.9 Mb) Interrupt:129 Base address:0xb400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1208299 errors:0 dropped:0 overruns:0 frame:0 TX packets:1208299 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:219146691 (208.9 Mb) TX bytes:219146691 (208.9 Mb) vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08 inet addr:172.16.185.1 Bcast:172.16.185.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:71600 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) (C) 2011 HMarx 59 / 98
  • 60.
    Serviços s Conexão /Comunicação ð Ä portosUDP, sockets TCP, IP, ð Arquivos e protocolos s Scripts em /etc/init.d/ ð apache2, named, mysql, smbd, nmbd, vsftpd, sendmail, ð RunLevel em /etc/inittab ntp, dhcpd, nfsd, firewall, ... F default Ä id:5:initdefault Ä 0:halt Ä 1:mono Ä 2:multi local Ä 3:multi+rede Ä 5:mult+rede+X11 6:reboot F chkconfig serviço { on | off } (C) 2011 HMarx 60 / 98
  • 61.
    Servidor de nomes sDNS - Domain Name System ð Ä resoluçãoIPs IPs de domínios e máquinas domínios e Ä resolução de nomes de IPs (DNS reverso) de ð Ä software BIND - Berkeley Internet Name Domain named (C) 2011 HMarx 61 / 98
  • 62.
    Resolvendo nomes eIPs s Aplicativos § § host § dig nslookup # host 201.17.146.157 157.146.17.201.in-addr.arpa domain name pointer atlas.linuxtech.com.br. # host atlas.linuxtech.com.br atlas.linuxtech.com.br has address 201.17.146.157 atlas.linuxtech.com.br mail is handled by 10 atlas.linuxtech.com.br. # host -t mx linuxtech.com.br linuxtech.com.br mail is handled by 10 atlas.linuxtech.com.br. r linuxtech.com.br mail is handled by 20 master.softaplic.com.br. # (C) 2011 HMarx 62 / 98
  • 63.
    E-mail s Componentes § MUA - Mail User Agent Ä kmail, mutt, thunderbird, webmails, ... § MTA - Mail Transport Agent Ä sendmail, postfix, exim, qmail, ... § MDA - Mail Delivery Agent Ä procmail § Filtros Ä antivirus, antispam Ä filtros (ip/domínio de origem, assunto, remetente, destinatário, ... ) s Protocolos ð ð ð MTA ð ð [E]SMTP - MUA MTA e MTA ð ð POP - caixa postal MUA IMAP - caixa postal MUA F Podem utilizar TLS e SSL ! (C) 2011 HMarx 63 / 98
  • 64.
    Protocolo SMTP s ConversaSMTP simplificada (C) 2011 HMarx 64 / 98
  • 65.
    Segurança do e-mail sAutenticidade § ð Endereços de origem e destino To e From F ð Ä Subject de origem Facilmente forjáveis ! IP/domínio s Integridade F Confiabilidade do MUA, MTAs e MDAs s Confiabilidade ð ð Conteúdo e Anexos § SPAM / SCAM Cavalos de Troia, Worms e Viruses s § Criptografia Privacidade Ä PGP (C) 2011 HMarx 65 / 98
  • 66.
    Segurança do e-mail Exercício #9 Porque a resolução dos nomes no DNS é importante para a segurança do sistema de e-mails ? O sistema GNU/Linux é praticamente imune a virus. Porque é necessário o uso de antivirus nele ? (C) 2011 HMarx 66 / 98
  • 67.
    Samba s Servidor § § Autenticação de usuários § Compartilhamentos Server, PDC, BDC s Cliente § § Autenticação em servidores Windows Utilização de recursos compartilhados s Configuração § ð parâmetros /etc/samba/smb.conf Ä Ä domain/workgroup, protocolo, compatilhamentos mapeamento de usuários (C) 2011 HMarx 67 / 98
  • 68.
    Ataques s Formas deataque § § Man in the middle § Denial of service IP spoofing s Ferramentas § § Análise de logs § TCP wrappers § ð Portscanners e sniffers Firewall ð Segurança de rede Proteção contra acessos indevidos Ä ð filtro de pacotes Log de atividades e tráfego entre redes (C) 2011 HMarx 68 / 98
  • 69.
    Firewall - organização sPacotes § § endereços de origem e destino protocolos de sessão e aplicação s Encapsulamento de dados § ð SMTP, Telnet, FTP, HTTP, ... Aplicação § ð TCP, UDP, ICMP, ... Transporte § ð IPv4, IPv6 Internet § ð Ethernet, FDDI, ATM, Wireless, ... Meio de acesso à rede (C) 2011 HMarx 69 / 98
  • 70.
    Modelo OSI daISO s F Open Systems Interconnection Model modelo de referência 7 6 5 4 3 2 1 (C) 2011 HMarx 70 / 98
  • 71.
    Firewall - Filtros sRegras § § Direção : Inbound, Outbound, Either § Endereco de origem § Endereço de destino § Porto de origem § Porto de destino § Protocolo (TCP, UDP, ICMP, ...) § ð Ação (Allow, Deny, Drop, Reject) Destinos especiais SNAT, DNAT, REDIRECT, MASQUERADE, LOG, MARK, REJECT, ... Ä NAT : Network Address Translation ou Masquerade (C) 2011 HMarx 71 / 98
  • 72.
    Software iptables s Manipulaçãodas tabelas de regras de filtro s Organização § § Tables - Tabelas que são compostas por cadeias § Chains - Cadeias que são compostas por regras § ð filter - tabela default Rules - Regras que definem o destino do pacote Tabelas padrao (após kernel 2.4.18) Ä ð Ä PREROUTING, OUTPUT, POSTROUTING chains: INPUT, FORWARD e OUTPUT nat ð Ä INPUT, PREROUTING, FORWARD, OUTPUT e mangle POSTROUTING (C) 2011 HMarx 72 / 98
  • 73.
    Fluxo de pacotes pkt Firewall pkt interface interface forward ? externa interna masquerade ? drop ? pkt reject ? pkt (C) 2011 HMarx 73 / 98
  • 74.
    iptables - utilização s s tabela : especifica a que tabela o comando se aplica cadeia : especifica a que cadeia da tabela o comando se aplica # iptables [ -t tabela ] -L [ cadeia ] Lista as regras (da cadeia) # iptables [ -t tabela ] -N cadeia [ opções ] Cria uma nova cadeia # iptables [ -t tabela ] -X cadeia [ opções ] Remove a cadeia # iptables [ -t tabela ] -F [ cadeia ] Apaga todas as regras (da cadeia) # iptables [ -t tabela ] -Z [ cadeia ] Zera os contadores de bytes e pacotes (da cadeia) (C) 2011 HMarx 74 / 98
  • 75.
    iptables - utilização # iptables [ -t tabela ] -P cadeia política [ opções ] Define a política padrão para cadeia ACCEPT, DROP, QUEUE ou RETURN # iptables [ -t tabela ] -E nomevelho nomenovo cadeia [ opções ] Troca o nome de uma cadeia # iptables [ -t tabela ] -{ A | D} cadeia especificação [ opções ] Adiciona ou remove uma regra da cadeia # iptables [ -t tabela ] -D cadeia número [ opções ] Remove uma regra da cadeia # iptables [ -t tabela ] -I cadeia [ número ] especificação [ opções ] Inclui uma regra na cadeia # iptables [ -t tabela ] -R cadeia número especificação [ opções ] Substitui uma regra nd cadeia (C) 2011 HMarx 75 / 98
  • 76.
    iptables s Algumas opções ð -v Ä modo verboso ð -n Ä saída na forma numérica ð -x Ä expande os números de bytes e pacotes ð -h Ä ajuda ð --line-numbers Ä inclui número da linha no início de cada regra ð --module-probe=comando Ä especifica o comando para a carga dos módulos (C) 2011 HMarx 76 / 98
  • 77.
    iptables s Especificações -p [ ! ] protocolo Especifica o protocolo: tcp, udp, icmp ou all -s [ ! ] endereço [ / máscara ] Especifica o endereço de origem (source) --source-port [ ! ] porto [ : porto ] Especifica o porto ou faixa de portos de origem -d [ ! ] endereço [ / máscara ] Especifica o endereço de destino --destination-port [ ! ] porto [ : porto ] Especifica o porto ou faixa de portos de destino (C) 2011 HMarx 77 / 98
  • 78.
    iptables s Especificações --source-port { [, porto ] }* Especifica até 15 portos de origem --destination-port porto { [ , porto ] }* Especifica até 15 portos de destino --port porto { [ , porto ] }* Especifica o porto, quando os porto de origem e destino forem iguais (C) 2011 HMarx 78 / 98
  • 79.
    iptables s Especificações --uid-owner userid Especifica o Id do usuário do processo que criou o pacote --gid-owner gid Especifica o GID do processo que criou o pacote --pid-owner pid Especifica o número do processo que criou o pacote § --sid-owner sessionid Especifica o número da sessão (grupo de processos) que criou o pacote (C) 2011 HMarx 79 / 98
  • 80.
    iptables s Especificações -i [ ! ] interface Especifica a interface de entrada (de onde veio o pacote) -o [ ! ] interface Especifica a interface de saída (para onde irá o pacote) --mac-source [ ! ] endereço Especifica o porto ou faixa de portos de origem --icmp-type [ ! ] tipo Especifica o tipo do pacote ICMP (C) 2011 HMarx 80 / 98
  • 81.
    iptables s Especificações --tcp-flags [ ! ] máscara ativos Especifica a lista de flags TCP. A máscara contém os flags que devem estar inativos. Os flags são SYN, ACK, FIN, RST, URG, PSH, ALL ou NONE [ ! ] syn Especifica pacotes com o bit SYN ativo e os bits ACK e FIN inativos --limit taxa [ / sufixo ] Especifica a taxa média máxima de pacotes. O sufixo pode ser second, minute, hour ou day. O default é 3/hour. [ ! ] --limit-burst númer Especifica o número máximo inicial de pacotes. O default é 5. (C) 2011 HMarx 81 / 98
  • 82.
    iptables s Especificações -j alvo Especifica o que fazer com o pacote. Poder ser uma cadeia § ou um destino especial. ð Destinos especiais LOG, MARK, REJECT, TOS, MIRROR, SNAT, DNAT, MASQUERADE e REDIRECT s Opções do destino LOG --log-level nível (veja syslog.conf) --log-prefix prefixo (até 29 caracteres) --log-tcp-sequence --log-tcp-options --log-ip-options (C) 2011 HMarx 82 / 98
  • 83.
    iptables s Opções do destino MARK --set-mark marca s Opções do destino REJECT --reject-with tipo ð O tipo pode ser: ð icmp-net-unreachable echo-reply ð icmp-host-unreachable tcp-reset ð icmp-port-unreachable ð icmp-proto-unreachable ð icmp-net-prohibited icmp-host-prohibited s Opções do destino TOS --set-tos tos (veja iptables -j TOS -h) (C) 2011 HMarx 83 / 98
  • 84.
    iptables s Especificações --state state { [, state ] }* s Especifica o(s) estado(s) da conexão ao(s) qual(is) o pacote está associado Estados: INVALID - conexão inválida ESTABLISHED - conexão já estabelecida NEW - nova conexão RELATED - nova conexão associada a uma já existente (ex: FTP) (C) 2011 HMarx 84 / 98
  • 85.
    iptables s Especificações --ttl ttl Especifica o TTL do pacote --ttl-set ttl Estabelece novo TTL do pacote --ttl-dec ttl Decrementa o TTL do pacote --ttl-inc ttl Incrementa o TTL do pacote TTL = Time to live F Somente é válido para a tabela mangle ! (C) 2011 HMarx 85 / 98
  • 86.
    iptables s Especificações s Opções do destino SNAT --to-source endereço [- endereço ] [ :porto [- porto ]] s Opções do destino DNAT --to-destination endereço [-endereço ] [ :porto [ - porto ]] s Opções dos destinos MASQUERADE ou REDIRECT --to-ports porto [ - porto ] (C) 2011 HMarx 86 / 98
  • 87.
    Exemplos s Tabelas semregras # iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) r target prot opt source destination # (C) 2011 HMarx 87 / 98
  • 88.
    Cadeia com algumasregras # iptables -L PREROUTING -t nat -n Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- 0.0.0.0/0 201.17.146.157 tcp dpt:2222 to:192.168.200.41:22 DNAT tcp -- 0.0.0.0/0 201.17.146.157 tcp dpt:21211 to:192.168.200.190:22 DNAT tcp -- 0.0.0.0/0 201.17.146.157 tcp dpt:2227 to:192.168.200.7:22 DNAT tcp -- 0.0.0.0/0 201.17.146.157 tcp dpt:59023 to:192.168.200.5:23 DNAT tcp -- 0.0.0.0/ 192.168.200.3 tcp dpt:59023 to:192.168.200.5:23 DNAT tcp -- 0.0.0.0/0 201.17.146.157 tcp dpt:59021 to:192.168.200.5:21 DNAT tcp -- 0.0.0.0/0 192.168.200.3 tcp dpt:59021 to:192.168.200.5:21 DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:11113 to:192.168.200.190:11113 r DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:11113 to:192.168.200.200:11113 # (C) 2011 HMarx 88 / 98
  • 89.
    VPN s Virtual PrivateNetwork § § autenticação e criptografia IPsec - IP security Ä /etc/ipsec.conf e /etc/ipsec.secrets Modelo de conexão VPN tunel seguro § ð SSL,formasSSH, PPTP, tunnel SSH, ... Outras PPP + (C) 2011 HMarx 89 / 98
  • 90.
    Logs s Registro deocorrências § § evento e instante kernel, serviços e aplicativos s Acompanhamento § § dmesg (kernel) /var/log/* e /var/log/serviço/* s Monitoramento e análise § § tail § monit, mon, nagios, ... emails p/ o root (C) 2011 HMarx 90 / 98
  • 91.
    Logs do firewall Mar27 11:48:18 thor kernel: SFW2-INext-ACC-TCP IN=eth0 OUT= MAC=00:00:e8:4d:4f:a7:00:13:5f:05:67:05:08:00 SRC=87.176.79.74 DST=201.17.146.157 LEN=48 TOS=0x00 PREC=0x00 TTL=112 ID=20424 DF PROTO=TCP SPT=1283 DPT=25 WINDOW=16384 RES=0x00 SYN URGP=0 OPT (020404EC01010402) Mar 27 11:58:22 thor kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:00:e8:4d:4f:a7:00:13:5f:05:67:05:08:00 SRC=187.115.202.240 DST=201.17.146.157 LEN=76 TOS=0x00 PREC=0x00 TTL=58 ID=23151 DF PROTO=UDP SPT=16117 DPT=123 LEN=56 Mar 27 13:03:57 thor kernel: BAD IP IN=eth0 OUT= MAC=00:00:e8:4d:4f:a7:00:13:5f:05:67:05:08:00 SRC=119.200.73.225 DST=201.17.146.157 LEN=48 TOS=0x00 PREC=0x00 TTL=104 ID=31668 DF PROTO=TCP SPT=2510 DPT=25 WINDOW=65535 RES=0x00 SYN URGP=0 Mar 27 15:37:14 thor kernel: SFW2-FWDint-DROP-DEFLT-INV IN=eth1 OUT=eth0 SRC=192.168.200.41 DST=186.193.48.241 LEN=120 TOS=0x00 PREC=0x00 TTL=63 ID=30632 DF PROTO=TCP SPT=47851 DPT=15354 WINDOW=92 RES=0x00 ACK PSH FIN URGP=0 OPT (0101080A039FB0BA00000000) (C) 2011 HMarx 91 / 98
  • 92.
    Log de sessõese tentativas Jan 29 05:18:53 thor sshd[5032]: Invalid user testuser from 213.232.110.135 Feb 3 13:01:06 thor sshd[11171]: reverse mapping checking getaddrinfo for 18983144228.user.veloxzone.com.br [189.83.144.228] failed - POSSIBLE BREAK-IN ATTEMPT! Mar 4 13:37:51 thor sshd[31452]: Accepted keyboard-interactive/pam for hmarx from 186.213.97.125 port 44418 ssh2 Mar 7 19:17:11 thor sshd[10687]: User walter from (null) not allowed because none of user’s groups are listed in AllowGroups Mar 8 12:17:58 thor sshd[26745]: Failed password for invalid user denied from ::ffff:121.83.254.19 port 60428 ssh2 Mar 9 07:53:31 thor sshd[29212]: Invalid user zorro from ::ffff:78.153.209.71 Mar 9 08:17:19 thor login[29821]: FAILED LOGIN 1 FROM /dev/tty1 FOR hmarx, Authentication failure (C) 2011 HMarx 92 / 98
  • 93.
    Logs de e-mails Mar24 17:07:27 thor sendmail[20124]: p2OK7JCw020124: from=<goncalves@fgr.org.br>, size=269275, class=0, nrcpts=1, msgid=<F4B8E6386F9B4A8EB2CD1D8A5DCB7C3A@paraiba.org.br>, proto=ESMTP, daemon=MTA, relay=nsa33.globalconn.net [74.52.81.66] Mar 24 17:08:27 thor sendmail[20124]: p2OK7JCw020124: Milter change (add): header: X-Virus-Scanned: by amavisd-new Mar 24 17:08:28 thor sendmail[20172]: p2OK7JCw020124: to=<hmarx@linuxtech.com.br>, delay=00:01:05, xdelay=00:00:00, mailer=local, pri=299525, dsn=2.0.0, stat=Sent Mar 19 22:04:39 thor popper[23507]: Stats: hmarx 2 29503 0 0 venus.starix.br 192.168.200.41 [pop_updt.c:296] Mar 19 21:33:00 thor popper[16281]: prudencia at server.museuimperial.art.br (173.199.129.199): -ERR [AUTH] Password supplied for "prudencia" is incorrect. [pop_pass.c:1295] Mar 19 21:56:43 thor popper[23154]: [AUTH] Failed attempted login to renato from host (server.museuimperial.art.br) 173.199.129.199 [pop_pass.c:1383] (C) 2011 HMarx 93 / 98
  • 94.
    Sumário das ferramentas sSessões, conexões e transações segura § ssh, scp, sftp § VPN § https § certificados digitais § pgp s § password aging Limitando privilégios locais § ulimit § inetd c/ tcpd ou xinetd § processos chrooted § quota em sistemas de arquivos § permissões de objetos (chmod) § ACLs (C) 2011 HMarx 94 / 98
  • 95.
    Ferramentas para gerenciamento sMonitoração de tráfego de rede § iptraf § tcpdump § snort § ethereal / wireshark § SNMP s § who, w, rwho - usuários com sessões abertas Monitoração de atividades no servidor § ps, pstree § lsof, fuser - processos em execução § netstat - arquivos e sockets abertos § nmap - conexões potenciais e ativas § rpcinfo - serviços acessíveis (portos abertos) § w, top, free, df, du - uso de CPU, memória e disco - processos RPC (C) 2011 HMarx 95 / 98
  • 96.
    Conclusões § ð Configuração dos serviços Planejamento § ð usuários e root Confiança Ä ! Senhas fortes F § Troca periódica Software Livre é seguro (C) 2011 HMarx 96 / 98
  • 97.
    Dúvidas ? Curiosidades (C) 2011 HMarx 97 / 98
  • 98.
    Obrigado ! Hélio Marques Sobrinho hmarx@linuxtech.com.br (C) 2011 HMarx 98 / 98