SlideShare a Scribd company logo
1 of 82
Download to read offline
BEM-VINDO À DISCIPLINA DE:
Segurança Linux




                      Prof: Cássio Alexandre Ramos
                      cassioaramos (at) gmail (dot) com
                      http://cassioaramos.blogspot.com
                      http://www.facebook.com/cassioaramos

                                     Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Segurança	
  Linux
                                     	
  
•  Introdução	
  
•  Hardening	
  de	
  SO	
  
•  Hardening	
  de	
  Rede	
  
•  Tunning	
  de	
  Kernel	
  
•  Criptografia	
  
•  Hardening	
  de	
  Serviços	
  –	
  FTP	
  e	
  SSH	
  

                                                  Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Introdução	
  
•  Hardening	
  
    –  Endurecimento	
  
    –  Fortalecimento	
  

•  Tipos	
  
    –  S.O	
  
    –  AplicaHvos	
  



                                     Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Instalação	
  
   –  UHlizar	
  distribuição	
  “Confiável”,	
  com	
  atualizações	
  
      regulares,	
  bom	
  suporte	
  a	
  disposiHvos,	
  possibilidade	
  de	
  
      suporte	
  técnico	
  etc	
  
   –  Reduzir	
  o	
  número	
  de	
  pacotes	
  ao	
  estritamente	
  necessário	
  
   –  ParHcionamento	
  de	
  disco	
  
        •  Diminui	
  tempo	
  de	
  acesso	
  ao	
  dado	
  
        •  ParHção	
  separada	
  para	
  o	
  sistema,	
  facilita	
  recuperação	
  de	
  
           desastres,	
  reinstalação	
  etc	
  
        •  Evita	
  a	
  parada	
  do	
  sistema	
  (parHção	
  /	
  cheia)	
  
        •  Segurança	
  extra	
  contra	
  o	
  consumo	
  e	
  disco	
  
        •  Isolar	
  parHção	
  /tmp	
  e	
  usar	
  atributos	
  nosuid	
  e	
  noexec	
  
                                                                   Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  ParHcionamento	
  de	
  disco	
  
   –  hYp://www.vivaolinux.com.br/arHgos/impressora.php?
      codigo=5116	
  




                                         Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Verificação	
  de	
  pacotes	
  instalados	
  no	
  Sistema	
  
   –  dpkg	
  -­‐l	
  
   –  dpkg	
  -­‐l	
  |	
  awk	
  '{print	
  $2,$3}'	
  |	
  sed	
  '1,5d'	
  >	
  /root/
      aula_linux/pacotes.txt	
  
        •  segunda	
  e	
  terceira	
  coluna	
  ($2,$3)	
  -­‐	
  nomes	
  dos	
  programas	
  e	
  suas	
  
           versões.	
  	
  
        •  sed	
  remove	
  5	
  primeiras	
  linhas	
  -­‐	
  info	
  não	
  relevantes.	
  Direciona	
  o	
  
           resultado	
  para	
  o	
  arquivo	
  pacotes.txt	
  dentro	
  de	
  /root/aula_linux.	
  

•  Desinstalação	
  de	
  pacotes	
  
   –  apHtude	
  purge	
  wget	
  

                                                                        Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Permissão	
  Suid	
  
   –  Suid	
  Bit	
  (4):	
  Quando	
  setada,	
  permite	
  que	
  qualquer	
  usuário	
  
      execute	
  determinado	
  binário	
  ou	
  programa,	
  como	
  se	
  fosse	
  
      o	
  usuário	
  dono	
  
   –  Sgid	
  Bit	
  (2):	
  Quando	
  setada,	
  permite	
  manter	
  padrões	
  de	
  
      criação	
  de	
  arquivos	
  e	
  diretórios,	
  possibilitando	
  que	
  
      qualquer	
  arquivo	
  ou	
  diretório	
  criado	
  assuma	
  o	
  grupo	
  dono	
  
      do	
  diretório	
  pai	
  como	
  grupo	
  padrão.	
  
   –  SHcky	
  Bit	
  (1):	
  Quando	
  setada,	
  impede	
  que	
  um	
  usuário	
  
      apague	
  o	
  arquivo	
  ou	
  diretório	
  do	
  outro,	
  mesmo	
  que	
  o	
  
      diretório	
  pai	
  tenha	
  permissões	
  que	
  permitam	
  a	
  exclusão.	
  

                                                          Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Permissão	
  Suid	
  
   –  Encontrar	
  arquivos	
  com	
  permissão	
  
       •  find	
  /	
  -­‐perm	
  -­‐4000	
  >	
  /root/aula_linux/suid.txt	
  
   –  Remover	
  permissão	
  
       •  chmod	
  -­‐s	
  <caminho-­‐aquivo>	
  




                                                          Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Sugestão	
  




                                      Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Lab	
  –	
  Permissão	
  Suid	
  
    –  Como	
  root	
  
    #cp	
  /bin/*sh*	
  /tmp	
  	
  	
  ##	
  /tmp	
  em	
  parHção	
  separada	
  
    #chmod	
  4755	
  /tmp/*sh*	
  
    –  Como	
  usuário	
  comum	
  (em	
  outro	
  terminal)	
  
    $	
  cd	
  /tmp	
  
    $	
  ./sh	
  
    #	
  whoami	
  
    #	
  exit	
  
    	
                                                    Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Lab	
  –	
  Permissão	
  Suid	
  
    –  Resolvendo	
  o	
  problema	
  
    #	
  mount	
  -­‐o	
  remount,rw,nosuid	
  /tmp	
  
    –  RepeHr	
  procedimento	
  como	
  usuário	
  comum	
  
    $	
  cd	
  /tmp	
  
    $	
  ./sh	
  
    $	
  whoami	
  
    $	
  exit	
  

                                            Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  chaYr	
  e	
  lsaYr	
  
    –  Comandos	
  servem	
  para	
  incrementar	
  segurança	
  
       em	
  arquivos	
  
    –  Usa	
  atributos	
  e	
  não	
  permissões	
  
    –  hYp://www.vivaolinux.com.br/dicas/impressora.php?codigo=11152	
  
    #	
  chaYr	
  +ia	
  arquivo	
  
    #	
  rm	
  –rf	
  arquivo	
  
    #	
  lsaYr	
  arquivo	
  
    	
  

                                                Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Permissões	
  de	
  Arquivos	
  e	
  DiretóHos	
  
   –  Leitura	
  (r)	
  
   –  Escrita	
  (w)	
  
   –  Execução	
  (x)	
  

ubuntu$ ls -l passwd shadow	
  
-rw-r--r-- 1 root root   5244 Jan 26 10:24
passwd 	
  
-rw-r----- 1 root shadow 5244 Jan 26 10:24
shadow	
  

                                           Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Usuários	
  e	
  Grupos	
  
   –  Useradd,	
  userdel,	
  usermod,	
  passwd,	
  
      groupadd,groupdel,	
  groupmod	
  
   –  #	
  groupadd	
  adm-­‐teste	
  
   #	
  adduser	
  user1;	
  adduser	
  user1	
  adm-­‐teste	
  
   #	
  adduser	
  user2;	
  adduser	
  user2	
  adm-­‐teste	
  
   #	
  mkdir	
  comparHlhado	
  
   #	
  chown	
  root:adm-­‐teste	
  comparHlhado	
  	
  
   #	
  chmod	
  750	
  comparHlhado	
  


                                                          Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Desabilitando	
  “ctrl+alt+del”	
  
   –  /etc/iniYab	
  
   #ca:12345:ctrlaltdel:/sbin/shutdown	
  -­‐t1	
  -­‐a	
  -­‐r	
  now	
  
   ca:12345:ctrlaltdel:/bin/echo	
  ”Recurso	
  desabilitado”	
  
   #	
  init	
  q	
  	
  	
  	
  	
  	
  ###	
  atualiza	
  o	
  iniYab	
  
•  Default	
  runlevel	
  
   –  /etc/iniYab	
  
   #	
  The	
  default	
  runlevel.	
  
   id:2:initdefault:	
  

                                                                              Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Bloqueio	
  de	
  Terminal	
  
   –  Administrador	
  sai	
  da	
  sessão	
  sem	
  logout	
  
       •  configurar	
  a	
  variável	
  chamada	
  "TMOUT"	
  com	
  
          um	
  tempo	
  (em	
  segundos	
  
       Manual	
  –	
  TMOUT=10	
  
       No	
  login	
  (vi	
  /etc/profile)	
  -­‐	
  TMOUT=10	
  
       Por	
  usuário	
  -­‐	
  Configurar	
  variável	
  no	
  .bashrc	
  



                                                        Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Bloqueio	
  de	
  Console	
  para	
  o	
  root	
  
    –  Impede	
  que	
  o	
  root	
  faça	
  login	
  nos	
  terminais	
  Yy1	
  a	
  
       Yy6	
  (vinculado	
  ao	
  PAM)	
  
    –  /etc/secureYy	
  
    #Yy1	
  
    #Yy2	
  
    #Yy3	
  
    #Yy4	
  
    #Yy5	
  
    #Yy6	
  
                                                        Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Módulos	
  de	
  autenHcação	
  Plugáveis	
  
   –  trazer	
  novas	
  funcionalidades	
  para	
  um	
  programa	
  
   –  Ex.	
  Login.	
  A	
  função	
  dele	
  é	
  somente	
  checar	
  usuário	
  
      e	
  senha,	
  verificar	
  se	
  estão	
  cadastrados	
  no	
  sistema	
  
       •  E	
  se	
  desejarmos	
  que,	
  para	
  o	
  login	
  de	
  um	
  usuário,além	
  
          da	
  senha	
  seja	
  checado	
  se	
  naquele	
  dia	
  e	
  horário	
  ele	
  
          pode	
  logar	
  
       •  definir	
  somente	
  alguns	
  grupos	
  que	
  podem	
  fazer	
  su	
  




                                                            Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Módulos	
  de	
  autenHcação	
  Plugáveis	
  
   –  Módulos	
  podem	
  ser	
  usados	
  para	
  qualquer	
  
        aplicação	
  com	
  suporte	
  a	
  PAM	
  
   root@debian:/#	
  ldd	
  /bin/login	
  
   linux-­‐gate.so.1	
  =>	
  	
  (0xb7745000)	
  
   libpam.so.0	
  =>	
  /lib/libpam.so.0	
  (0xb7728000)	
  
   libpam_misc.so.0	
  =>	
  /lib/libpam_misc.so.0	
  
   (0xb7725000)	
  
   libc.so.6	
  =>	
  /lib/i686/cmov/libc.so.6	
  (0xb75de000)	
  
   	
                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Módulos	
  disponíveis	
  
   #	
  ls	
  –l	
  /lib/security	
  
•  PAM	
  –	
  arquivos	
  de	
  configuração	
  
   #	
  ls	
  –l	
  /etc/pam.d	
  
   	
  




                                            Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  UHlização	
  
   –  <Hpos	
  de	
  módulo>	
  <controle>	
  <módulo>	
  <argumentos	
  do	
  módulo>	
  

•  Módulos	
  
   –  Account	
  
   –  Auth	
  
   –  Password	
  
   –  Session	
  



                                                            Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  UHlização	
  
   –  <Hpos	
  de	
  módulo>	
  <controle>	
  <módulo>	
  <argumentos	
  do	
  módulo>	
  

•  Controle	
  
   –  Required	
  
   –  Requisite	
  
   –  Sufficient	
  
   –  OpHonal	
  



                                                            Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Limitar	
  horários	
  de	
  login	
  
    –  AHvar	
  módulo	
  na	
  aplicação	
  
    #	
  vim	
  /etc/pam.d/login	
  
    account 	
  requisite 	
  pam_Hme.so	
  




                                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Limitar	
  horários	
  de	
  login	
  
    #	
  vi	
  /etc/security/Hme.conf	
  
    –  login;*;usuario;Al0800-­‐1800	
  	
  
    –  login;*;usuario;!SaSu0000-­‐240	
  
        •  login:	
  É	
  o	
  nome	
  do	
  serviço	
  onde	
  o	
  pam_Hme.so	
  está	
  
           aHvado	
  
        •  *:	
  Indica	
  os	
  terminais	
  texto	
  (Yy)	
  onde	
  a	
  políHca	
  será	
  
           aplicada.	
  Nesse	
  caso	
  são	
  todos	
  os	
  terminais	
  
        •  Usuário	
  –	
  usuário	
  onde	
  a	
  políHca	
  será	
  aplicada	
  


                                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Limitar	
  horários	
  de	
  login	
  
    #	
  vi	
  /etc/security/Hme.conf	
  
    –  login;*;usuario;Al0800-­‐1800	
  	
  
    –  login;*;usuario;!SaSu0000-­‐240	
  
        •  Al0800-­‐1800:	
  Indica	
  os	
  dias	
  que	
  o	
  usuário	
  poderá	
  logar.	
  
           Todos	
  os	
  dias	
  (Al)	
  das	
  8	
  às	
  18	
  horas	
  (0800-­‐1800)	
  
        •  !SaSu0000-­‐2400:	
  todos	
  os	
  dias	
  com	
  exceção	
  (!)	
  dos	
  
           sábados	
  e	
  domingos	
  (SaSu)	
  o	
  dia	
  inteiro	
  (0000-­‐2400)	
  



                                                             Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Limitar	
  logins	
  consecuHvos	
  
   #	
  vi	
  /pam.d/login	
  
   Session	
  	
   	
  required 	
  pam_limits.so	
  
   #	
  vi	
  /etc/security/limits.conf	
  
   usuario	
   	
  hard 	
  	
  maxlogins 	
  	
  2	
  




                                                  Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  Limitar	
  su	
  
    #	
  groupadd	
  adm-­‐teste	
  
    #	
  adduser	
  cassio	
  adm-­‐teste	
  
    #	
  passwd	
  cassio	
  
    #	
  vi	
  /pam.d/su	
  
    auth	
  required 	
  pam_wheel.so	
  	
  group=adm-­‐teste	
  
•  Habilitar	
  log	
  
    #	
  vim	
  /etc/login.defs	
  	
  
    SULOG_FILE 	
  /var/log/sulog	
  
                                             Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  PAM	
  –	
  segurança	
  de	
  senhas	
  
   #	
  apHtude	
  install	
  libpam-­‐cracklib	
  
   #	
  vim	
  /etc/pam.d/common-­‐password	
  
   Comentar	
  
   #	
  password 	
  required	
  pam_unix.sonullok	
  obscure	
  min=4	
  max=8	
  md5	
  
   Descomentar	
  
   password	
  required 	
  pam_cracklib.so	
  retry=3	
  minlen=8	
  difok=3	
  
   password	
  required 	
  pam_unix.so	
  use_authok	
  nullok	
  md5	
  
   	
  
   retry=3	
  (tentaHvas	
  de	
  mudança	
  de	
  senha),	
  minlen=8	
  (no	
  mínimo	
  8	
  
   caracteres)	
  difok=3:	
  (diferença	
  de	
  pelo	
  menos	
  3	
  letras	
  da	
  anHga)	
  
                                                                     Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Verificar	
  senhas	
  fracas	
  
   #	
  apHtude	
  install	
  john	
  
   #	
  cd	
  /usr/share/john	
  
   #	
  cat	
  password.lst	
  (arquivo	
  de	
  senhas)	
  
   #	
  cp	
  /etc/shadow	
  /root/senhas	
  
•  UHlização	
  
   #	
  ./john	
  /root/senhas	
  (ou)	
  
   #	
  john	
  -­‐-­‐wordlist:/root/meu_dicionario	
  /root/
   senhas	
  
   	
  
                                                   Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Segurança	
  Física	
  -­‐	
  Gerenciador	
  de	
  boot	
  
    –  No	
  prompt	
  do	
  grub,	
  e	
  (edit)	
  
    Subs0tuir	
  
    “ro	
  quiet”	
  
    Por	
  	
  
    “rw	
  init=/bin/bash”	
  
    Para	
  reiniciar	
  
    contrl	
  +	
  x	
  

                                                        Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Gerenciador	
  de	
  boot	
  –	
  Correção	
  
   h4p://ubuntuforum-­‐br.org/index.php?topic=65572.0	
  
   –  Editar	
  o	
  arquivo	
  /etc/grub.d/00_header	
  e	
  colocar	
  
        no	
  final	
  do	
  mesmo	
  
   cat	
  <<	
  EOF	
  
   set	
  superusers="user1"	
  
   password	
  user1	
  password1	
  
   EOF	
  
   Após	
  isso,	
  para	
  gerar	
  novo	
  /boot/grub/grub.cfg	
  	
  
   #	
  update-­‐grub	
  
   	
                                              Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Gerenciador	
  de	
  boot	
  –	
  	
  com	
  senha	
  cripto	
  
    #	
  grub-­‐mkpasswd-­‐pbkdf2	
  (gera	
  hash	
  da	
  senha)	
  
    –  Editar	
  o	
  arquivo	
  /etc/grub.d/00_header	
  e	
  colocar	
  
         no	
  final	
  do	
  mesmo	
  
    cat	
  <<	
  EOF	
  
    set	
  superusers="user1"	
  
    password_pbkdf2	
  user1	
  grub.pbkdf2.sha512.10000.long_number	
  
    EOF	
  
    Após	
  isso,	
  para	
  gerar	
  novo	
  /boot/grub/grub.cfg	
  	
  
    #	
  update-­‐grub	
  
                                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
    	
  
Hardening	
  de	
  SO	
  
•  Segurança	
  Física	
  -­‐	
  Boot	
  por	
  DVD/pendrive	
  
   Dar	
  o	
  boot	
  pelo	
  DVD	
  
   #	
  fdisk	
  -­‐l	
  (para	
  ver	
  aonde	
  esta	
  o	
  raíz)	
  
   #	
  mkdir	
  /media/teste	
  
   #	
  mount	
  /dev/sda1	
  /media/teste	
  
   #	
  chroot	
  /media/teste	
  
   basta	
  trocar	
  a	
  senha	
  
   #	
  passwd	
  	
  

                                                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  SUDO	
  -­‐	
  Super	
  user	
  do	
  
     –  Arq	
  Configuração	
  -­‐	
  /etc/sudoers	
  (visudo)	
  
     –  %admin	
  ALL=(ALL)NOPASSWD	
  /usr/bin/apt-­‐get	
  
         •  %admin	
  –	
  grupo	
  admin	
  
         •  ALL=	
  -­‐	
  qualquer	
  host/IP	
  	
  
         •  (ALL)	
  –	
  qualquer	
  usuário	
  
         •  NOPASSWD	
  –	
  sem	
  senha	
  
         •  :/usr/bin/apt-­‐get	
  –	
  comando	
  
•  %admin	
  ALL=(ALL)	
  ALL	
  	
  	
  
•  Lab	
  Ubuntu	
  (Log	
  -­‐	
  /var/log/auth.log)	
  
•  hYp://ubuntuforums.org/showthread.php?t=1132821	
  
                                                    Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  

                 Segurança do Login

# vim /etc/login.defs
LOGIN_RETRIES: Definição do número de tentativas de login
LOGIN_TIMEOUT: Tempo de espera para nova tentativa de login, caso
tenha errado senha/user
PASS_MIN_LEN: Tamanho da senha, minimo por padrão é 5.
LOG_UNKFAIL_ENAB: Grava no arquivo de log /var/log/faillog os
usuários desconhecidos que tentarem se logar sem sucessso
LOG_OK_LOGINS: Ativa log dos logins com sucesso




                                          Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  

  Password Aging




                   Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
                          Password	
  Aging	
  
	
   Quando uma conta e criada no linux os seguintes campos são passados
     ao arquivo /etc/shadow:




                                                  Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
•  Contas	
  
   –  Data	
  de	
  expiração	
  
   –  Chage	
  
       •  Modifica	
  os	
  parametros	
  de	
  /etc/shadow	
  
      	
  #	
  chage	
  –l	
  usuário	
  
      	
  #	
  chage	
  -­‐E	
  AAAA-­‐MM-­‐DD	
  usuario	
  
      	
  #	
  chage	
  -­‐M	
  30	
  -­‐W	
  5	
  -­‐I	
  2	
  usuario	
  
      	
  M	
  -­‐	
  Tempo	
  máximo	
  de	
  validade	
  da	
  conta	
  
       	
  W	
  -­‐	
  Tempo	
  de	
  aviso	
  
       	
  I	
  -­‐	
  Tempo	
  antes	
  da	
  conta	
  ser	
  desaHvada	
  
                                                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  SO	
  
      Desabilite todas as contas especiais
apagar usuários padrões e contas de grupo que você
 não utilize em seu sistema como: lp, news, uucp,
            operator, games, gopher etc

       Para apagar uma conta de usuário:
             [root@bt /]# userdel LP

             Para apagar um grupo:
             [root@bt /]# groupdel LP

                                   Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  Verificar	
  serviços	
  aHvos	
  TCP	
  
   root@debian:/#	
  netstat	
  -­‐natp	
  
   Conexões	
  Internet	
  AHvas	
  (servidores	
  e	
  estabelecidas)	
  
   Proto	
  Recv-­‐Q	
  Send-­‐Q	
  Endereço	
  Local	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Endereço	
  Remoto	
  	
  	
  	
  	
  	
  	
  	
  	
  Estado	
  	
  	
  
   PID/Program	
  name	
  
   tcp	
  	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  0	
  0.0.0.0:22	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0.0.0.0:*	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  OUÇA	
  	
  	
  	
  	
  	
  	
  1439/sshd	
  	
  	
  	
  	
  	
  	
  	
  
   tcp	
  	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  0	
  127.0.0.1:631	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0.0.0.0:*	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  OUÇA	
  	
  	
  	
  	
  	
  	
  1770/cupsd	
  	
  
   tcp6	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  0	
  :::22	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :::*	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  OUÇA	
  	
  	
  	
  	
  	
  	
  1439/sshd	
  	
  	
  	
  	
  	
  	
  	
  
   tcp6	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  0	
  ::1:631	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :::*	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  OUÇA	
  	
  	
  	
  	
  	
  	
  1770/cupsd	
  	
  	
  	
  	
  	
  	
  
   tcp6	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  0	
  :::80	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  :::*	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  OUÇA	
  	
  	
  	
  	
  	
  	
  1210/apache2	
  




                                                                                                                                                                                                Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  Verificar	
  serviços	
  aHvos	
  UDP	
  
   root@debian:/#	
  netstat	
  -­‐naup	
  
   Conexões	
  Internet	
  AHvas	
  (servidores	
  e	
  estabelecidas)	
  
   Proto	
  Recv-­‐Q	
  Send-­‐Q	
  Endereço	
  Local	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Endereço	
  Remoto	
  	
  	
  	
  	
  	
  	
  	
  	
  Estado	
  	
  	
  
   PID/Program	
  name	
  
   udp	
  	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  0	
  0.0.0.0:631	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0.0.0.0:*	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  1770/cupsd	
  	
  	
  	
  	
  	
  	
  
   udp	
  	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  0	
  0.0.0.0:514	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0.0.0.0:*	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  1118/rsyslogd	
  	
  	
  	
  




                                                                                                                                                                                     Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  Verificar	
  serviços	
  aHvos	
  
   –  Instalar	
  nmap	
  –	
  network	
  mapper	
  
   #	
  apHtude	
  install	
  nmap	
  
   #	
  nmap	
  192.168.200.X	
  
   #	
  nmap	
  -­‐sU	
  192.168.200.X	
  
   #	
  nmap	
  -­‐sV	
  -­‐p	
  1-­‐100	
  192.168.200.X	
  
   #	
  nmap	
  -­‐O	
  192.168.200.X	
  
   	
  

                                                         Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  DesaHvar	
  Serviços	
  desnecessários	
  
    #	
  update-­‐rc.d	
  -­‐f	
  portmap	
  remove	
  	
  
    #	
  update-­‐rc.d	
  -­‐f	
  exim4	
  remove	
  	
  
    #	
  netstat	
  –natpu	
  
•  rcconf	
  
    #	
  apt-­‐get	
  install	
  rcconf	
  




                                                         Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  TCP	
  Wrappers	
  




                                   Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  TCP	
  Wrappers	
  




                                   Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  TCP	
  Wrappers	
  
   –  Usado	
  para	
  autorizar	
  ou	
  negar	
  acesso	
  a	
  serviços	
  
      controlados	
  pelo	
  wrapper	
  
        root@ubuntu:˜#	
  ldd	
  /usr/sbin/sshd	
  |	
  grep	
  libwrap	
  
        libwrap.so.0	
  =>	
  /lib/libwrap.so.0	
  (0x009b9000)	
  
        root@ubuntu:~#	
  strings	
  -­‐f	
  /usr/sbin/sshd	
  |	
  grep	
  hosts_access	
  
        /usr/sbin/sshd:	
  hosts_access	
  
   –  A	
  configuração	
  dos	
  serviços	
  com	
  TCP	
  wrappers	
  deve	
  ser	
  
      efetuada	
  através	
  dos	
  seguinte	
  arquivos	
  	
  
        •  /etc/hosts.allow	
  
        •  /etc/hosts.deny	
  


                                                                Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  de	
  Rede	
  
•  TCP	
  Wrappers	
  
   –  Sintaxe	
  
   daemon	
  :	
  cliente	
  [:opção1:opção2:...]	
  
   vsŒpd	
  :	
  192.168.1.	
  ,	
  .abc.com.in	
  :	
  spawn	
  /bin/echo	
  ‘/bin/date’	
  dennied	
  >>	
  /var/log/vsŒp.log	
  
                                                                                                                               	
  
   (/etc/hosts.deny)	
  

   –  Lab	
  –	
  servidor	
  ubuntu,	
  cliente	
  BT	
  novo	
  
          •  log	
  /var/log/auth.log	
  
   –  hYp://segurancalinux.com/arHgos/
      impressora.php?codigo=10311	
  


                                                                                   Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Criptografia	
  
•  Tipos	
  
    –  De	
  SO	
  
    –  De	
  ParHção	
  	
  
    –  De	
  arquivos	
  e	
  pastas	
  
        •  Criptografia	
  	
  
        •  Assinatura	
  digital	
  




                                           Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Criptografia	
  
•  Openssl	
  
   –  Criptografar	
  
       #	
  openssl	
  enc	
  -­‐e	
  -­‐aes256	
  -­‐in	
  arq1.txt	
  -­‐out	
  arq1_cripto.txt	
  
   –  Decriptografar	
  
       #	
  openssl	
  enc	
  -­‐aes256	
  –d	
  -­‐in	
  arq1_cripto.txt	
  -­‐out	
  arq1.txt	
  




                                                                Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Criptografia	
  
•  Openssl	
  –	
  script	
  para	
  criptografar	
  (ext	
  .enc)	
  
    #!/bin/bash	
  	
  
    if	
  [	
  $#	
  -­‐lt	
  1	
  ]	
  	
  
               	
  then	
  
               	
                 	
  echo	
  "UHlização:	
  $0	
  arquivo-­‐a-­‐ser-­‐criptografado”	
  
               	
                 	
  exit	
  1	
  	
  
    fi	
  	
  
    openssl	
  enc	
  -­‐e	
  -­‐aes256	
  -­‐in	
  "$1"	
  -­‐out	
  "$1".enc	
  
    	
  
    U0lizaçao:	
  ./script	
  	
  	
  arq_a_ser_cripto	
  

                                                                    Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Criptografia	
  
•  Openssl	
  –	
  script	
  para	
  decriptografar	
  
   #!/bin/bash	
  	
  
   if	
  [	
  $#	
  -­‐lt	
  2	
  ]	
  	
  
               	
  then	
  
               	
                           	
  echo	
  "UHlização:	
  $0	
  novo-­‐nome-­‐do-­‐arquivo-­‐criptografado”	
  
               	
                           	
  exit	
  1	
  	
  
   fi	
  	
  
   openssl	
  enc	
  -­‐d	
  -­‐aes256	
  -­‐in	
  "$1"	
  -­‐out	
  ”$2”	
  
   	
  
   U0lizaçao:	
  ./script	
  	
  	
  arq_cripto	
  	
  	
  novo_nome_de_arquivo	
  
   	
  


                                                                                Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Criptografia	
  EncFs
                                        	
  
•  #	
  apt-­‐get	
  install	
  encfs	
  fuse-­‐uHls	
  libfuse2	
  	
  	
  
•  #	
  adduser	
  <usuário>	
  fuse	
  	
  
•  $	
  mkdir	
  ~/.criptografado	
  ~/texto_claro	
  	
  
    –  ˜/.criptografado	
  -­‐	
  dados	
  criptografados,	
  
    –  ˜/texto_claro	
  -­‐	
  dados	
  em	
  claro	
  
•  Para	
  aHvar	
  a	
  criptografia:	
  	
  
•  $	
  encfs	
  ~/.criptografado/	
  ~/texto_claro/	
  
•  ?>p	
  
                                                       Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Criptografia	
  EncFs
                                      	
  
•  Para	
  desmontar:	
  
   $	
  fusermount	
  -­‐u	
  ~/texto_claro	
  
•  Enviar	
  para	
  host	
  remoto	
  
   $	
  rsync	
  -­‐av	
  /home/cassio/.criptografado/	
  
   cassio@172.16.49.137:/home/cassio/	
  
•  Lab	
  –	
  	
  
    –  Debian	
  e	
  Ubuntu	
  
    –  rsync	
  cliente	
  debian	
  e	
  server	
  Ubuntu	
  
•  hYp://www.vivaolinux.com.br/arHgos/impressora.php?codigo=6642	
  

                                                     Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Escondendo	
  Banner	
  




                  Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Escondendo	
  Banner	
  




http://www.vivaolinux.com.br/artigos/impressora.php?codigo=985




                                         Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Descobrindo	
  OS	
  
 Banners	
  -­‐	
  OsGuessing	
  




/proc/sys/net/ipv4/ip_default_ttl


                                    Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Kernel	
  Tuning	
  
Os parâmetros do kernel são configurados no arquivo /etc/
sysctl.conf
O comando sysctl –p ativa os parâmetros configurados neste arquivo




                                             Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Kernel	
  Tuning	
  
•  Sysctl	
  –w	
  (write)	
  grava	
  a	
  alteração	
  




                                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Kernel	
  Tuning	
  


TCP SYN Cookie Protection
  Tenta evitar o SYN ATAQUE que causa uma negação
  de serviço

  net.ipv4.tcp_syncookies = 1




                                Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Kernel	
  Tuning	
  

•  Ignoring to ICMP Requests
   •  Maquinas param de responder a pacotes ICMP (ping).
   •  net.ipv4.icmp_echo_ignore_all = 1

•  Desabilita IPV6
    •  net.ipv6.conf.all.disable_ipv6 = 1




                                            Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Kernel	
  Tuning	
  


Ignoring Broadcasts Request
   Ignorar mensagens enviadas para broadcast

   net.ipv4.icmp_echo_ignore_broadcasts = 1




                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
BasHlle	
  
•  AplicaHvo	
  para	
  Hardening	
  
•  Modo	
  operação	
  -­‐	
  faz	
  perguntas	
  e	
  cria	
  poliHca	
  
   baseado	
  nas	
  respostas	
  
•  Modo	
  auditoria	
  –	
  cria	
  relatório	
  HTML	
  
•  	
  SO	
  suportados	
  Debian,	
  Fedora,	
  Gentoo,	
  
   Mandriva,	
  Red	
  Hat	
  etc.	
  



                                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
BasHlle	
  
•  Instalação	
  	
  
    –  apt-­‐get	
  install	
  basHlle	
  
    –  apt-­‐get	
  install	
  perl-­‐tk	
  
•  Modo	
  gráfico	
  	
  
    –  basHlle	
  –x	
  
•  Modo	
  Texto	
  
    –  BasHlle	
  –c	
  
•  hYp://www.csirt.pop-­‐mg.rnp.br/docs/
   hardening/linux.html	
  
                                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  VSTPD	
  
•  Escondendo	
  Banner	
  
    Œpd_banner=Servidor	
  FTP	
  
•  Não	
  permiHndo	
  login	
  anonimo	
  
    anonymous_enable=NO	
  
•  PermiHndo	
  usuários	
  do	
  SO	
  	
  
    local_enable=YES	
  
•  PermiHndo	
  gravar	
  no	
  servidor	
  (anonimo	
  não)	
  
    write_enable=YES	
  

                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  VSTPD	
  
•  Autorizando	
  usuários	
  a	
  usarem	
  o	
  servidor	
  
   userlist_deny=NO	
  
   userlist_enable=YES	
  
   userlist_file=/etc/vsŒpd.allowed_users	
  
   –  Crie	
  o	
  arquivo	
  /etc/vsŒpd.allowed_users	
  e	
  
      escreva	
  um	
  por	
  linha	
  quem	
  pode	
  usar	
  o	
  Œp	
  
•  Enjaulando	
  usuários	
  
   chroot_local_user=YES	
  


                                                      Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  VSTPD	
  
•  Habilitando	
  Œp	
  com	
  ssl	
  
     –  Criar	
  o	
  cerHficado	
  auto-­‐assinado	
  
     –  #	
  cd	
  /etc/ssl/private	
  
        #	
  /usr/bin/openssl	
  req	
  -­‐x509	
  -­‐nodes	
  -­‐days	
  365	
  -­‐
        newkey	
  rsa:1024	
  -­‐keyout	
  vsŒpd.pem	
  -­‐out	
  
        vsŒpd.pem	
  
•  Lab	
  –	
  debian	
  server	
  e	
  ubuntu	
  cliente	
  
hYp://www.cyberciH.biz/Hps/configure-­‐vsfptd-­‐secure-­‐connecHons-­‐via-­‐ssl-­‐tls.html	
  
hYp://dailson.blogspot.com/2009/11/implementando-­‐um-­‐servidor-­‐Œp-­‐com-­‐o.html	
  



                                                              Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  VSTPD	
  
•  Editar	
  o	
  arquivo	
  /etc/vsŒpd.conf	
  e	
  incluir	
  
    ssl_enable=YES	
  
    allow_anon_ssl=YES	
  
    force_local_data_ssl=YES	
  
    force_local_logins_ssl=YES	
  
    ssl_tlsv1=YES	
  
    ssl_sslv2=NO	
  
    ssl_sslv3=NO	
  
    rsa_cert_file=/etc/ssl/private/vsŒpd.pem	
  
                                              Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  VSTPD	
  
•  Teste	
  com	
  Œp-­‐ssl	
  e	
  filezilla	
  
    #	
  apt-­‐get	
  install	
  Œp-­‐ssl	
  
    #	
  Œp-­‐ssl	
  172.16.50.10	
  
    Connected	
  to	
  172.16.50.10.	
  
    220	
  versao	
  
    Name	
  (172.16.50.10:cassio):	
  cassio	
  
    234	
  Proceed	
  with	
  negoHaHon.	
  
    [SSL	
  Cipher	
  DES-­‐CBC3-­‐SHA]	
  
    331	
  Please	
  specify	
  the	
  password.	
  
    Password:	
  

                                                       Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  O	
  serviço	
  SSH	
  é	
  muito	
  úHl	
  para	
  um	
  
   administrador	
  de	
  sistemas	
  
    –  Ele	
  permite	
  acesso	
  remoto	
  a	
  maquina	
  
    –  Confidencialidade	
  
    –  AutenHcidade	
  
    –  AutomaHzação	
  de	
  aHvidades	
  
    –  	
  Os	
  arquivos	
  de	
  configuração	
  normalmente	
  ficam	
  
       em:	
  /etc/ssh	
  
•  hYp://www.hardware.com.br/tutoriais/dominando-­‐ssh/	
  
                                                    Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Configuração	
  do	
  Servidor	
  
   –  /etc/ssh/sshd_config	
  
•  Configuração	
  do	
  Cliente	
  
   –  /etc/ssh/ssh_config	
  
•  Por	
  padrão	
  permite	
  acesso	
  por	
  qualquer	
  conta	
  
   –  ssh	
  –l	
  bob	
  172.16.49.144	
  
   –  ssh	
  –X	
  –l	
  bob	
  172.16.49.144	
  	
  


                                                        Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Chaves	
  de	
  verificação	
  geradas	
  na	
  instalação	
  
    –  /etc/ssh/	
  
    –  Salve	
  esses	
  arquivos	
  
•  Verificação	
  do	
  Servidor	
  
    –  Vrf	
  idenHdade	
  do	
  servidor	
  
    –  Servidor	
  envia	
  chave	
  pública	
  ao	
  cliente	
  na	
  primeira	
  
       conexão	
  (.ssh/known_hosts)	
  
    –  ssh	
  cliente	
  passa	
  a	
  enviar	
  desafio	
  para	
  o	
  servidor	
  
    –  	
  Lab	
  –	
  server	
  Ubuntu,	
  cliente	
  Debian	
  

                                                       Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Verificação	
  do	
  Servidor	
  –	
  conexão	
  inicial	
  
    –  Ver	
  fingerprint	
  	
  
    –  ssh-­‐keygen	
  –l	
  
        •  /etc/ssh/ssh_host_rsa_key.pub	
  (no	
  servidor)	
  
        •  No	
  cliente	
  -­‐	
  ssh	
  –l	
  usuario	
  ip	
  (confere	
  fingerprint)	
  




                                                                 Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Verificação	
  do	
  Servidor	
  




•  ssh-­‐keygen	
  –R	
  172.16.49.144	
  ou	
  editar	
  .ssh/
   known_hosts	
  (no	
  cliente)	
  	
  
                                           Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Configurações:	
  
   –  	
  Usar	
  SSH	
  2	
  
         •  	
  PROTOCOL	
  2	
  
   –  Desabilitar	
  login	
  como	
  root	
  
         •  PermitRootLogin	
  no	
  	
  
•  Tcp	
  wappers	
  
   –  	
  /etc/hosts.allow	
  -­‐	
  sshd	
  :	
  127.0.0.	
  1,	
  172.16.49.144	
  
   –  	
  /etc/hosts.deny	
  –	
  sshd	
  :	
  ALL	
  



                                                      Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Controle	
  de	
  usuários	
  
    –  AllowUsers	
  bob	
  alice	
  	
  
    –  DenyUsers	
  maria	
  joao	
  


•  Desabilitar	
  o	
  forward	
  de	
  portas	
  
    –  AllowTcpForwarding	
  no	
  
    –  X11Forwarding	
  no	
  	
  



                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Criar	
  banner	
  customizado	
  
    –  #Banner	
  /etc/ssh/banner.txt	
  
•  Desabilitar	
  o	
  sŒp	
  
    –  #Subsystem	
  sŒp	
  /usr/lib/misc/sŒp-­‐server	
  	
  




                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  AutenHcação	
  Baseada	
  em	
  chaves	
  	
  
   –  No	
  cliente	
  -­‐	
  ssh-­‐keygen	
  –t	
  rsa	
  (especificar	
  senha)	
  
        •  Chmod	
  600	
  .ssh/id_rsa	
  
   –  cat	
  .ssh/id_rsa.pub	
  
   –  Copiar	
  conteudo	
  para	
  .ssh/authorized_keys	
  do	
  
      servidor	
  remoto	
  
        •  PasswordAuthenHcaHon	
  no	
  
        •  UsePam	
  no	
  




                                                       Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Knocking	
  
   –  Após	
  cliente	
  uHlizar	
  sequencia	
  de	
  portas	
  servidor	
  
      abre	
  a	
  porta	
  ssh	
  
   –  Integrado	
  ao	
  iptables	
  
   –  Ao	
  final	
  da	
  conexao	
  a	
  porta	
  é	
  fechada	
  
   –  	
  Editar	
  /etc/default/knockd	
  e	
  deixar	
  as	
  duas	
  linhas	
  
      seguintes:	
  	
  
       •  START_KNOCKD=1	
  
       •  KNOCKD_OPTS="-­‐i	
  eth0"	
  	
  
       	
  	
  /etc/init.d/knockd	
  restart	
  

                                                    Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  SSH	
  
•  Knocking	
  
   –  Abertura	
  
       •  root@ubuntu#	
  knock	
  172.16.49.137	
  7000:tcp	
  8000:tcp	
  9000:tcp	
  
       •  root@ubuntu#	
  ssh	
  -­‐l	
  cassio	
  172.16.49.137	
  	
  

   –  Fechamento	
  
       •  root@ubuntu#	
  knock	
  172.16.49.137	
  9000:tcp	
  8000:tcp	
  7000:tcp	
  
   –  hYp://www.vivaolinux.com.br/arHgos/impressora.php?
      codigo=7734	
  




                                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
SSHFS	
  
•  Montagem	
  de	
  sist	
  de	
  arq	
  remoto	
  
•  #	
  apt-­‐get	
  install	
  sshfs	
  	
  
•  #	
  adduser	
  user	
  fuse	
  
    –  $	
  mkdir	
  /home/user/dir_montagem	
  
    –  $	
  sshfs	
  user@servidor:/home/user/	
  /home/user/
         dir_montagem/	
  
    –  $	
  fusermount	
  –u	
  /home/user/dir_montagem/	
  
•  hYp://www.hardware.com.br/dicas/usando-­‐sshfs.html	
  
•  Lab	
  cliente	
  debian	
  e	
  server	
  Ubuntu	
  


                                       Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
Hardening	
  Linux	
  
•  Bonus	
  
   –  Chave	
  Privada	
  no	
  pendrive	
  
   –  ssh	
  –i	
  path	
  servidor	
  




                                               Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  
PERGUNTAS??	
  

          Pós-­‐Graduação	
  	
  -­‐	
  	
  lato	
  Sensu	
  

More Related Content

What's hot

Instalacao e Configuracao de um Ambiente FreeBSD
Instalacao e Configuracao de um Ambiente FreeBSDInstalacao e Configuracao de um Ambiente FreeBSD
Instalacao e Configuracao de um Ambiente FreeBSDVinícius Zavam
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de redefernandao777
 
Permissões especiais - suid, sgid, sticky - Linux
Permissões especiais - suid, sgid, sticky - LinuxPermissões especiais - suid, sgid, sticky - Linux
Permissões especiais - suid, sgid, sticky - LinuxFábio dos Reis
 
Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivosRobson Ferreira
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks3Way Networks
 
Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1Ivo Calado
 
Sistemas Operacionais - Gnu/Linux Permissões de Arquivos Diretórios
Sistemas Operacionais - Gnu/Linux Permissões de Arquivos DiretóriosSistemas Operacionais - Gnu/Linux Permissões de Arquivos Diretórios
Sistemas Operacionais - Gnu/Linux Permissões de Arquivos DiretóriosLuiz Arthur
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores LinuxJoão Sá
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Marlon Willrich
 
Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Diego Damasceno
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux DayFábio Albuquerque
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores LinuxAlessandro Silva
 
Firewall Definitivo - William Souza
Firewall Definitivo - William SouzaFirewall Definitivo - William Souza
Firewall Definitivo - William SouzaTchelinux
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linuxDario Nakazima
 
FreeBSD, Jails &amp; Segurança
FreeBSD, Jails &amp; SegurançaFreeBSD, Jails &amp; Segurança
FreeBSD, Jails &amp; SegurançaVinícius Zavam
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxKalanzans
 
Linux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way NetworksLinux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way Networks3Way Networks
 

What's hot (19)

Instalacao e Configuracao de um Ambiente FreeBSD
Instalacao e Configuracao de um Ambiente FreeBSDInstalacao e Configuracao de um Ambiente FreeBSD
Instalacao e Configuracao de um Ambiente FreeBSD
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
 
Permissões especiais - suid, sgid, sticky - Linux
Permissões especiais - suid, sgid, sticky - LinuxPermissões especiais - suid, sgid, sticky - Linux
Permissões especiais - suid, sgid, sticky - Linux
 
Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivos
 
Linux - Partições e Raid
Linux - Partições e RaidLinux - Partições e Raid
Linux - Partições e Raid
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks
 
Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1
 
Sistemas Operacionais - Gnu/Linux Permissões de Arquivos Diretórios
Sistemas Operacionais - Gnu/Linux Permissões de Arquivos DiretóriosSistemas Operacionais - Gnu/Linux Permissões de Arquivos Diretórios
Sistemas Operacionais - Gnu/Linux Permissões de Arquivos Diretórios
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
 
Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011Slide minicursocalourosufpa2011
Slide minicursocalourosufpa2011
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores Linux
 
Firewall Definitivo - William Souza
Firewall Definitivo - William SouzaFirewall Definitivo - William Souza
Firewall Definitivo - William Souza
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linux
 
FreeBSD, Jails &amp; Segurança
FreeBSD, Jails &amp; SegurançaFreeBSD, Jails &amp; Segurança
FreeBSD, Jails &amp; Segurança
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linux
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
 
Linux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way NetworksLinux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way Networks
 

Similar to Linux Segurança

Palestra latinoware - Hardening Linux
Palestra latinoware - Hardening LinuxPalestra latinoware - Hardening Linux
Palestra latinoware - Hardening Linuxhdoria
 
(04) permissãµes, usuarios, grupos e quotas[1]
(04) permissãµes, usuarios, grupos e quotas[1](04) permissãµes, usuarios, grupos e quotas[1]
(04) permissãµes, usuarios, grupos e quotas[1]Anderson Lago
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxImpacta Eventos
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxguest7a481e8
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosAlexandre Almeida
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Leo Amorim
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1Leo Amorim
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e HardeningBruna Griebeler
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxSoftD Abreu
 
Arquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxArquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxIvani Nascimento
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Renan Aryel
 
PHP, Gearman e Memcache
PHP, Gearman e MemcachePHP, Gearman e Memcache
PHP, Gearman e MemcacheAndre Golvea
 
Slack4security
Slack4securitySlack4security
Slack4securityDaniel
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Diego Damasceno
 

Similar to Linux Segurança (20)

Palestra latinoware - Hardening Linux
Palestra latinoware - Hardening LinuxPalestra latinoware - Hardening Linux
Palestra latinoware - Hardening Linux
 
(04) permissãµes, usuarios, grupos e quotas[1]
(04) permissãµes, usuarios, grupos e quotas[1](04) permissãµes, usuarios, grupos e quotas[1]
(04) permissãµes, usuarios, grupos e quotas[1]
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
IntroduçãO Ao Linux
IntroduçãO Ao LinuxIntroduçãO Ao Linux
IntroduçãO Ao Linux
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutos
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e Hardening
 
Dispositivos de Bloco
Dispositivos de BlocoDispositivos de Bloco
Dispositivos de Bloco
 
Hardening Unix
Hardening UnixHardening Unix
Hardening Unix
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Arquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxArquivos de Inicialização do Linux
Arquivos de Inicialização do Linux
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04
 
PHP, Gearman e Memcache
PHP, Gearman e MemcachePHP, Gearman e Memcache
PHP, Gearman e Memcache
 
Slack4security
Slack4securitySlack4security
Slack4security
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Curso Linux
Curso LinuxCurso Linux
Curso Linux
 
Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010Slide minicursocalourosufpa2010
Slide minicursocalourosufpa2010
 

More from Cassio Ramos

More from Cassio Ramos (20)

3 scanning-ger paoctes-pub
3  scanning-ger paoctes-pub3  scanning-ger paoctes-pub
3 scanning-ger paoctes-pub
 
2 netcat enum-pub
2 netcat enum-pub2 netcat enum-pub
2 netcat enum-pub
 
Aula Inaugural
Aula InauguralAula Inaugural
Aula Inaugural
 
Redes de Banda Larga
Redes de Banda LargaRedes de Banda Larga
Redes de Banda Larga
 
Block disp-entrada e saida
Block disp-entrada e saidaBlock disp-entrada e saida
Block disp-entrada e saida
 
Trabalho sobre truecrypt
Trabalho sobre truecryptTrabalho sobre truecrypt
Trabalho sobre truecrypt
 
Gpo
GpoGpo
Gpo
 
Tunneling
TunnelingTunneling
Tunneling
 
Truecrypt
TruecryptTruecrypt
Truecrypt
 
Endian firewall
Endian firewallEndian firewall
Endian firewall
 
GnuPG
GnuPGGnuPG
GnuPG
 
Exemplo de Script Iptables
Exemplo de Script IptablesExemplo de Script Iptables
Exemplo de Script Iptables
 
RFID - Parte 2
RFID - Parte 2RFID - Parte 2
RFID - Parte 2
 
RFID - Parte 1
RFID - Parte 1RFID - Parte 1
RFID - Parte 1
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Anonimato na Web
Anonimato na Web Anonimato na Web
Anonimato na Web
 
Engenharia Social
Engenharia SocialEngenharia Social
Engenharia Social
 
Tutorial Maltego
Tutorial MaltegoTutorial Maltego
Tutorial Maltego
 
Curso hacking com BT5
Curso hacking com BT5Curso hacking com BT5
Curso hacking com BT5
 
Topologia lab
Topologia labTopologia lab
Topologia lab
 

Linux Segurança

  • 1. BEM-VINDO À DISCIPLINA DE: Segurança Linux Prof: Cássio Alexandre Ramos cassioaramos (at) gmail (dot) com http://cassioaramos.blogspot.com http://www.facebook.com/cassioaramos Pós-­‐Graduação    -­‐    lato  Sensu  
  • 2. Segurança  Linux   •  Introdução   •  Hardening  de  SO   •  Hardening  de  Rede   •  Tunning  de  Kernel   •  Criptografia   •  Hardening  de  Serviços  –  FTP  e  SSH   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 3. Introdução   •  Hardening   –  Endurecimento   –  Fortalecimento   •  Tipos   –  S.O   –  AplicaHvos   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 4. Hardening  de  SO   •  Instalação   –  UHlizar  distribuição  “Confiável”,  com  atualizações   regulares,  bom  suporte  a  disposiHvos,  possibilidade  de   suporte  técnico  etc   –  Reduzir  o  número  de  pacotes  ao  estritamente  necessário   –  ParHcionamento  de  disco   •  Diminui  tempo  de  acesso  ao  dado   •  ParHção  separada  para  o  sistema,  facilita  recuperação  de   desastres,  reinstalação  etc   •  Evita  a  parada  do  sistema  (parHção  /  cheia)   •  Segurança  extra  contra  o  consumo  e  disco   •  Isolar  parHção  /tmp  e  usar  atributos  nosuid  e  noexec   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 5. Hardening  de  SO   •  ParHcionamento  de  disco   –  hYp://www.vivaolinux.com.br/arHgos/impressora.php? codigo=5116   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 6. Hardening  de  SO   •  Verificação  de  pacotes  instalados  no  Sistema   –  dpkg  -­‐l   –  dpkg  -­‐l  |  awk  '{print  $2,$3}'  |  sed  '1,5d'  >  /root/ aula_linux/pacotes.txt   •  segunda  e  terceira  coluna  ($2,$3)  -­‐  nomes  dos  programas  e  suas   versões.     •  sed  remove  5  primeiras  linhas  -­‐  info  não  relevantes.  Direciona  o   resultado  para  o  arquivo  pacotes.txt  dentro  de  /root/aula_linux.   •  Desinstalação  de  pacotes   –  apHtude  purge  wget   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 7. Hardening  de  SO   •  Permissão  Suid   –  Suid  Bit  (4):  Quando  setada,  permite  que  qualquer  usuário   execute  determinado  binário  ou  programa,  como  se  fosse   o  usuário  dono   –  Sgid  Bit  (2):  Quando  setada,  permite  manter  padrões  de   criação  de  arquivos  e  diretórios,  possibilitando  que   qualquer  arquivo  ou  diretório  criado  assuma  o  grupo  dono   do  diretório  pai  como  grupo  padrão.   –  SHcky  Bit  (1):  Quando  setada,  impede  que  um  usuário   apague  o  arquivo  ou  diretório  do  outro,  mesmo  que  o   diretório  pai  tenha  permissões  que  permitam  a  exclusão.   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 8. Hardening  de  SO   •  Permissão  Suid   –  Encontrar  arquivos  com  permissão   •  find  /  -­‐perm  -­‐4000  >  /root/aula_linux/suid.txt   –  Remover  permissão   •  chmod  -­‐s  <caminho-­‐aquivo>   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 9. Hardening  de  SO   •  Sugestão   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 10. Hardening  de  SO   •  Lab  –  Permissão  Suid   –  Como  root   #cp  /bin/*sh*  /tmp      ##  /tmp  em  parHção  separada   #chmod  4755  /tmp/*sh*   –  Como  usuário  comum  (em  outro  terminal)   $  cd  /tmp   $  ./sh   #  whoami   #  exit     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 11. Hardening  de  SO   •  Lab  –  Permissão  Suid   –  Resolvendo  o  problema   #  mount  -­‐o  remount,rw,nosuid  /tmp   –  RepeHr  procedimento  como  usuário  comum   $  cd  /tmp   $  ./sh   $  whoami   $  exit   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 12. Hardening  de  SO   •  chaYr  e  lsaYr   –  Comandos  servem  para  incrementar  segurança   em  arquivos   –  Usa  atributos  e  não  permissões   –  hYp://www.vivaolinux.com.br/dicas/impressora.php?codigo=11152   #  chaYr  +ia  arquivo   #  rm  –rf  arquivo   #  lsaYr  arquivo     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 13. Hardening  de  SO   •  Permissões  de  Arquivos  e  DiretóHos   –  Leitura  (r)   –  Escrita  (w)   –  Execução  (x)   ubuntu$ ls -l passwd shadow   -rw-r--r-- 1 root root 5244 Jan 26 10:24 passwd   -rw-r----- 1 root shadow 5244 Jan 26 10:24 shadow   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 14. Hardening  de  SO   •  Usuários  e  Grupos   –  Useradd,  userdel,  usermod,  passwd,   groupadd,groupdel,  groupmod   –  #  groupadd  adm-­‐teste   #  adduser  user1;  adduser  user1  adm-­‐teste   #  adduser  user2;  adduser  user2  adm-­‐teste   #  mkdir  comparHlhado   #  chown  root:adm-­‐teste  comparHlhado     #  chmod  750  comparHlhado   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 15. Hardening  de  SO   •  Desabilitando  “ctrl+alt+del”   –  /etc/iniYab   #ca:12345:ctrlaltdel:/sbin/shutdown  -­‐t1  -­‐a  -­‐r  now   ca:12345:ctrlaltdel:/bin/echo  ”Recurso  desabilitado”   #  init  q            ###  atualiza  o  iniYab   •  Default  runlevel   –  /etc/iniYab   #  The  default  runlevel.   id:2:initdefault:   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 16. Hardening  de  SO   •  Bloqueio  de  Terminal   –  Administrador  sai  da  sessão  sem  logout   •  configurar  a  variável  chamada  "TMOUT"  com   um  tempo  (em  segundos   Manual  –  TMOUT=10   No  login  (vi  /etc/profile)  -­‐  TMOUT=10   Por  usuário  -­‐  Configurar  variável  no  .bashrc   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 17. Hardening  de  SO   •  Bloqueio  de  Console  para  o  root   –  Impede  que  o  root  faça  login  nos  terminais  Yy1  a   Yy6  (vinculado  ao  PAM)   –  /etc/secureYy   #Yy1   #Yy2   #Yy3   #Yy4   #Yy5   #Yy6   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 18. Hardening  de  SO   •  PAM  –  Módulos  de  autenHcação  Plugáveis   –  trazer  novas  funcionalidades  para  um  programa   –  Ex.  Login.  A  função  dele  é  somente  checar  usuário   e  senha,  verificar  se  estão  cadastrados  no  sistema   •  E  se  desejarmos  que,  para  o  login  de  um  usuário,além   da  senha  seja  checado  se  naquele  dia  e  horário  ele   pode  logar   •  definir  somente  alguns  grupos  que  podem  fazer  su   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 19. Hardening  de  SO   •  PAM  –  Módulos  de  autenHcação  Plugáveis   –  Módulos  podem  ser  usados  para  qualquer   aplicação  com  suporte  a  PAM   root@debian:/#  ldd  /bin/login   linux-­‐gate.so.1  =>    (0xb7745000)   libpam.so.0  =>  /lib/libpam.so.0  (0xb7728000)   libpam_misc.so.0  =>  /lib/libpam_misc.so.0   (0xb7725000)   libc.so.6  =>  /lib/i686/cmov/libc.so.6  (0xb75de000)     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 20. Hardening  de  SO   •  PAM  –  Módulos  disponíveis   #  ls  –l  /lib/security   •  PAM  –  arquivos  de  configuração   #  ls  –l  /etc/pam.d     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 21. Hardening  de  SO   •  PAM  –  UHlização   –  <Hpos  de  módulo>  <controle>  <módulo>  <argumentos  do  módulo>   •  Módulos   –  Account   –  Auth   –  Password   –  Session   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 22. Hardening  de  SO   •  PAM  –  UHlização   –  <Hpos  de  módulo>  <controle>  <módulo>  <argumentos  do  módulo>   •  Controle   –  Required   –  Requisite   –  Sufficient   –  OpHonal   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 23. Hardening  de  SO   •  PAM  –  Limitar  horários  de  login   –  AHvar  módulo  na  aplicação   #  vim  /etc/pam.d/login   account  requisite  pam_Hme.so   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 24. Hardening  de  SO   •  PAM  –  Limitar  horários  de  login   #  vi  /etc/security/Hme.conf   –  login;*;usuario;Al0800-­‐1800     –  login;*;usuario;!SaSu0000-­‐240   •  login:  É  o  nome  do  serviço  onde  o  pam_Hme.so  está   aHvado   •  *:  Indica  os  terminais  texto  (Yy)  onde  a  políHca  será   aplicada.  Nesse  caso  são  todos  os  terminais   •  Usuário  –  usuário  onde  a  políHca  será  aplicada   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 25. Hardening  de  SO   •  PAM  –  Limitar  horários  de  login   #  vi  /etc/security/Hme.conf   –  login;*;usuario;Al0800-­‐1800     –  login;*;usuario;!SaSu0000-­‐240   •  Al0800-­‐1800:  Indica  os  dias  que  o  usuário  poderá  logar.   Todos  os  dias  (Al)  das  8  às  18  horas  (0800-­‐1800)   •  !SaSu0000-­‐2400:  todos  os  dias  com  exceção  (!)  dos   sábados  e  domingos  (SaSu)  o  dia  inteiro  (0000-­‐2400)   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 26. Hardening  de  SO   •  PAM  –  Limitar  logins  consecuHvos   #  vi  /pam.d/login   Session      required  pam_limits.so   #  vi  /etc/security/limits.conf   usuario    hard    maxlogins    2   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 27. Hardening  de  SO   •  PAM  –  Limitar  su   #  groupadd  adm-­‐teste   #  adduser  cassio  adm-­‐teste   #  passwd  cassio   #  vi  /pam.d/su   auth  required  pam_wheel.so    group=adm-­‐teste   •  Habilitar  log   #  vim  /etc/login.defs     SULOG_FILE  /var/log/sulog   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 28. Hardening  de  SO   •  PAM  –  segurança  de  senhas   #  apHtude  install  libpam-­‐cracklib   #  vim  /etc/pam.d/common-­‐password   Comentar   #  password  required  pam_unix.sonullok  obscure  min=4  max=8  md5   Descomentar   password  required  pam_cracklib.so  retry=3  minlen=8  difok=3   password  required  pam_unix.so  use_authok  nullok  md5     retry=3  (tentaHvas  de  mudança  de  senha),  minlen=8  (no  mínimo  8   caracteres)  difok=3:  (diferença  de  pelo  menos  3  letras  da  anHga)   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 29. Hardening  de  SO   •  Verificar  senhas  fracas   #  apHtude  install  john   #  cd  /usr/share/john   #  cat  password.lst  (arquivo  de  senhas)   #  cp  /etc/shadow  /root/senhas   •  UHlização   #  ./john  /root/senhas  (ou)   #  john  -­‐-­‐wordlist:/root/meu_dicionario  /root/ senhas     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 30. Hardening  de  SO   •  Segurança  Física  -­‐  Gerenciador  de  boot   –  No  prompt  do  grub,  e  (edit)   Subs0tuir   “ro  quiet”   Por     “rw  init=/bin/bash”   Para  reiniciar   contrl  +  x   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 31. Hardening  de  SO   •  Gerenciador  de  boot  –  Correção   h4p://ubuntuforum-­‐br.org/index.php?topic=65572.0   –  Editar  o  arquivo  /etc/grub.d/00_header  e  colocar   no  final  do  mesmo   cat  <<  EOF   set  superusers="user1"   password  user1  password1   EOF   Após  isso,  para  gerar  novo  /boot/grub/grub.cfg     #  update-­‐grub     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 32. Hardening  de  SO   •  Gerenciador  de  boot  –    com  senha  cripto   #  grub-­‐mkpasswd-­‐pbkdf2  (gera  hash  da  senha)   –  Editar  o  arquivo  /etc/grub.d/00_header  e  colocar   no  final  do  mesmo   cat  <<  EOF   set  superusers="user1"   password_pbkdf2  user1  grub.pbkdf2.sha512.10000.long_number   EOF   Após  isso,  para  gerar  novo  /boot/grub/grub.cfg     #  update-­‐grub   Pós-­‐Graduação    -­‐    lato  Sensu    
  • 33. Hardening  de  SO   •  Segurança  Física  -­‐  Boot  por  DVD/pendrive   Dar  o  boot  pelo  DVD   #  fdisk  -­‐l  (para  ver  aonde  esta  o  raíz)   #  mkdir  /media/teste   #  mount  /dev/sda1  /media/teste   #  chroot  /media/teste   basta  trocar  a  senha   #  passwd     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 34. Hardening  de  SO   •  SUDO  -­‐  Super  user  do   –  Arq  Configuração  -­‐  /etc/sudoers  (visudo)   –  %admin  ALL=(ALL)NOPASSWD  /usr/bin/apt-­‐get   •  %admin  –  grupo  admin   •  ALL=  -­‐  qualquer  host/IP     •  (ALL)  –  qualquer  usuário   •  NOPASSWD  –  sem  senha   •  :/usr/bin/apt-­‐get  –  comando   •  %admin  ALL=(ALL)  ALL       •  Lab  Ubuntu  (Log  -­‐  /var/log/auth.log)   •  hYp://ubuntuforums.org/showthread.php?t=1132821   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 35. Hardening  de  SO   Segurança do Login # vim /etc/login.defs LOGIN_RETRIES: Definição do número de tentativas de login LOGIN_TIMEOUT: Tempo de espera para nova tentativa de login, caso tenha errado senha/user PASS_MIN_LEN: Tamanho da senha, minimo por padrão é 5. LOG_UNKFAIL_ENAB: Grava no arquivo de log /var/log/faillog os usuários desconhecidos que tentarem se logar sem sucessso LOG_OK_LOGINS: Ativa log dos logins com sucesso Pós-­‐Graduação    -­‐    lato  Sensu  
  • 36. Hardening  de  SO   Password Aging Pós-­‐Graduação    -­‐    lato  Sensu  
  • 37. Hardening  de  SO   Password  Aging     Quando uma conta e criada no linux os seguintes campos são passados ao arquivo /etc/shadow: Pós-­‐Graduação    -­‐    lato  Sensu  
  • 38. Hardening  de  SO   •  Contas   –  Data  de  expiração   –  Chage   •  Modifica  os  parametros  de  /etc/shadow    #  chage  –l  usuário    #  chage  -­‐E  AAAA-­‐MM-­‐DD  usuario    #  chage  -­‐M  30  -­‐W  5  -­‐I  2  usuario    M  -­‐  Tempo  máximo  de  validade  da  conta    W  -­‐  Tempo  de  aviso    I  -­‐  Tempo  antes  da  conta  ser  desaHvada   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 39. Hardening  de  SO   Desabilite todas as contas especiais apagar usuários padrões e contas de grupo que você não utilize em seu sistema como: lp, news, uucp, operator, games, gopher etc Para apagar uma conta de usuário: [root@bt /]# userdel LP Para apagar um grupo: [root@bt /]# groupdel LP Pós-­‐Graduação    -­‐    lato  Sensu  
  • 40. Hardening  de  Rede   •  Verificar  serviços  aHvos  TCP   root@debian:/#  netstat  -­‐natp   Conexões  Internet  AHvas  (servidores  e  estabelecidas)   Proto  Recv-­‐Q  Send-­‐Q  Endereço  Local                    Endereço  Remoto                  Estado       PID/Program  name   tcp                0            0  0.0.0.0:22                            0.0.0.0:*                              OUÇA              1439/sshd                 tcp                0            0  127.0.0.1:631                      0.0.0.0:*                              OUÇA              1770/cupsd     tcp6              0            0  :::22                                      :::*                                        OUÇA              1439/sshd                 tcp6              0            0  ::1:631                                  :::*                                        OUÇA              1770/cupsd               tcp6              0            0  :::80                                      :::*                                        OUÇA              1210/apache2   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 41. Hardening  de  Rede   •  Verificar  serviços  aHvos  UDP   root@debian:/#  netstat  -­‐naup   Conexões  Internet  AHvas  (servidores  e  estabelecidas)   Proto  Recv-­‐Q  Send-­‐Q  Endereço  Local                    Endereço  Remoto                  Estado       PID/Program  name   udp                0            0  0.0.0.0:631                          0.0.0.0:*                                                      1770/cupsd               udp                0            0  0.0.0.0:514                          0.0.0.0:*                                                      1118/rsyslogd         Pós-­‐Graduação    -­‐    lato  Sensu  
  • 42. Hardening  de  Rede   •  Verificar  serviços  aHvos   –  Instalar  nmap  –  network  mapper   #  apHtude  install  nmap   #  nmap  192.168.200.X   #  nmap  -­‐sU  192.168.200.X   #  nmap  -­‐sV  -­‐p  1-­‐100  192.168.200.X   #  nmap  -­‐O  192.168.200.X     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 43. Hardening  de  Rede   •  DesaHvar  Serviços  desnecessários   #  update-­‐rc.d  -­‐f  portmap  remove     #  update-­‐rc.d  -­‐f  exim4  remove     #  netstat  –natpu   •  rcconf   #  apt-­‐get  install  rcconf   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 44. Hardening  de  Rede   •  TCP  Wrappers   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 45. Hardening  de  Rede   •  TCP  Wrappers   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 46. Hardening  de  Rede   •  TCP  Wrappers   –  Usado  para  autorizar  ou  negar  acesso  a  serviços   controlados  pelo  wrapper   root@ubuntu:˜#  ldd  /usr/sbin/sshd  |  grep  libwrap   libwrap.so.0  =>  /lib/libwrap.so.0  (0x009b9000)   root@ubuntu:~#  strings  -­‐f  /usr/sbin/sshd  |  grep  hosts_access   /usr/sbin/sshd:  hosts_access   –  A  configuração  dos  serviços  com  TCP  wrappers  deve  ser   efetuada  através  dos  seguinte  arquivos     •  /etc/hosts.allow   •  /etc/hosts.deny   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 47. Hardening  de  Rede   •  TCP  Wrappers   –  Sintaxe   daemon  :  cliente  [:opção1:opção2:...]   vsŒpd  :  192.168.1.  ,  .abc.com.in  :  spawn  /bin/echo  ‘/bin/date’  dennied  >>  /var/log/vsŒp.log     (/etc/hosts.deny)   –  Lab  –  servidor  ubuntu,  cliente  BT  novo   •  log  /var/log/auth.log   –  hYp://segurancalinux.com/arHgos/ impressora.php?codigo=10311   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 48. Criptografia   •  Tipos   –  De  SO   –  De  ParHção     –  De  arquivos  e  pastas   •  Criptografia     •  Assinatura  digital   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 49. Criptografia   •  Openssl   –  Criptografar   #  openssl  enc  -­‐e  -­‐aes256  -­‐in  arq1.txt  -­‐out  arq1_cripto.txt   –  Decriptografar   #  openssl  enc  -­‐aes256  –d  -­‐in  arq1_cripto.txt  -­‐out  arq1.txt   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 50. Criptografia   •  Openssl  –  script  para  criptografar  (ext  .enc)   #!/bin/bash     if  [  $#  -­‐lt  1  ]      then      echo  "UHlização:  $0  arquivo-­‐a-­‐ser-­‐criptografado”      exit  1     fi     openssl  enc  -­‐e  -­‐aes256  -­‐in  "$1"  -­‐out  "$1".enc     U0lizaçao:  ./script      arq_a_ser_cripto   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 51. Criptografia   •  Openssl  –  script  para  decriptografar   #!/bin/bash     if  [  $#  -­‐lt  2  ]      then      echo  "UHlização:  $0  novo-­‐nome-­‐do-­‐arquivo-­‐criptografado”      exit  1     fi     openssl  enc  -­‐d  -­‐aes256  -­‐in  "$1"  -­‐out  ”$2”     U0lizaçao:  ./script      arq_cripto      novo_nome_de_arquivo     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 52. Criptografia  EncFs   •  #  apt-­‐get  install  encfs  fuse-­‐uHls  libfuse2       •  #  adduser  <usuário>  fuse     •  $  mkdir  ~/.criptografado  ~/texto_claro     –  ˜/.criptografado  -­‐  dados  criptografados,   –  ˜/texto_claro  -­‐  dados  em  claro   •  Para  aHvar  a  criptografia:     •  $  encfs  ~/.criptografado/  ~/texto_claro/   •  ?>p   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 53. Criptografia  EncFs   •  Para  desmontar:   $  fusermount  -­‐u  ~/texto_claro   •  Enviar  para  host  remoto   $  rsync  -­‐av  /home/cassio/.criptografado/   cassio@172.16.49.137:/home/cassio/   •  Lab  –     –  Debian  e  Ubuntu   –  rsync  cliente  debian  e  server  Ubuntu   •  hYp://www.vivaolinux.com.br/arHgos/impressora.php?codigo=6642   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 54. Escondendo  Banner   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 55. Escondendo  Banner   http://www.vivaolinux.com.br/artigos/impressora.php?codigo=985 Pós-­‐Graduação    -­‐    lato  Sensu  
  • 56. Descobrindo  OS   Banners  -­‐  OsGuessing   /proc/sys/net/ipv4/ip_default_ttl Pós-­‐Graduação    -­‐    lato  Sensu  
  • 57. Kernel  Tuning   Os parâmetros do kernel são configurados no arquivo /etc/ sysctl.conf O comando sysctl –p ativa os parâmetros configurados neste arquivo Pós-­‐Graduação    -­‐    lato  Sensu  
  • 58. Kernel  Tuning   •  Sysctl  –w  (write)  grava  a  alteração   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 59. Kernel  Tuning   TCP SYN Cookie Protection Tenta evitar o SYN ATAQUE que causa uma negação de serviço net.ipv4.tcp_syncookies = 1 Pós-­‐Graduação    -­‐    lato  Sensu  
  • 60. Kernel  Tuning   •  Ignoring to ICMP Requests •  Maquinas param de responder a pacotes ICMP (ping). •  net.ipv4.icmp_echo_ignore_all = 1 •  Desabilita IPV6 •  net.ipv6.conf.all.disable_ipv6 = 1 Pós-­‐Graduação    -­‐    lato  Sensu  
  • 61. Kernel  Tuning   Ignoring Broadcasts Request Ignorar mensagens enviadas para broadcast net.ipv4.icmp_echo_ignore_broadcasts = 1 Pós-­‐Graduação    -­‐    lato  Sensu  
  • 62. BasHlle   •  AplicaHvo  para  Hardening   •  Modo  operação  -­‐  faz  perguntas  e  cria  poliHca   baseado  nas  respostas   •  Modo  auditoria  –  cria  relatório  HTML   •   SO  suportados  Debian,  Fedora,  Gentoo,   Mandriva,  Red  Hat  etc.   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 63. BasHlle   •  Instalação     –  apt-­‐get  install  basHlle   –  apt-­‐get  install  perl-­‐tk   •  Modo  gráfico     –  basHlle  –x   •  Modo  Texto   –  BasHlle  –c   •  hYp://www.csirt.pop-­‐mg.rnp.br/docs/ hardening/linux.html   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 64. Hardening  VSTPD   •  Escondendo  Banner   Œpd_banner=Servidor  FTP   •  Não  permiHndo  login  anonimo   anonymous_enable=NO   •  PermiHndo  usuários  do  SO     local_enable=YES   •  PermiHndo  gravar  no  servidor  (anonimo  não)   write_enable=YES   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 65. Hardening  VSTPD   •  Autorizando  usuários  a  usarem  o  servidor   userlist_deny=NO   userlist_enable=YES   userlist_file=/etc/vsŒpd.allowed_users   –  Crie  o  arquivo  /etc/vsŒpd.allowed_users  e   escreva  um  por  linha  quem  pode  usar  o  Œp   •  Enjaulando  usuários   chroot_local_user=YES   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 66. Hardening  VSTPD   •  Habilitando  Œp  com  ssl   –  Criar  o  cerHficado  auto-­‐assinado   –  #  cd  /etc/ssl/private   #  /usr/bin/openssl  req  -­‐x509  -­‐nodes  -­‐days  365  -­‐ newkey  rsa:1024  -­‐keyout  vsŒpd.pem  -­‐out   vsŒpd.pem   •  Lab  –  debian  server  e  ubuntu  cliente   hYp://www.cyberciH.biz/Hps/configure-­‐vsfptd-­‐secure-­‐connecHons-­‐via-­‐ssl-­‐tls.html   hYp://dailson.blogspot.com/2009/11/implementando-­‐um-­‐servidor-­‐Œp-­‐com-­‐o.html   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 67. Hardening  VSTPD   •  Editar  o  arquivo  /etc/vsŒpd.conf  e  incluir   ssl_enable=YES   allow_anon_ssl=YES   force_local_data_ssl=YES   force_local_logins_ssl=YES   ssl_tlsv1=YES   ssl_sslv2=NO   ssl_sslv3=NO   rsa_cert_file=/etc/ssl/private/vsŒpd.pem   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 68. Hardening  VSTPD   •  Teste  com  Œp-­‐ssl  e  filezilla   #  apt-­‐get  install  Œp-­‐ssl   #  Œp-­‐ssl  172.16.50.10   Connected  to  172.16.50.10.   220  versao   Name  (172.16.50.10:cassio):  cassio   234  Proceed  with  negoHaHon.   [SSL  Cipher  DES-­‐CBC3-­‐SHA]   331  Please  specify  the  password.   Password:   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 69. Hardening  SSH   •  O  serviço  SSH  é  muito  úHl  para  um   administrador  de  sistemas   –  Ele  permite  acesso  remoto  a  maquina   –  Confidencialidade   –  AutenHcidade   –  AutomaHzação  de  aHvidades   –   Os  arquivos  de  configuração  normalmente  ficam   em:  /etc/ssh   •  hYp://www.hardware.com.br/tutoriais/dominando-­‐ssh/   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 70. Hardening  SSH   •  Configuração  do  Servidor   –  /etc/ssh/sshd_config   •  Configuração  do  Cliente   –  /etc/ssh/ssh_config   •  Por  padrão  permite  acesso  por  qualquer  conta   –  ssh  –l  bob  172.16.49.144   –  ssh  –X  –l  bob  172.16.49.144     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 71. Hardening  SSH   •  Chaves  de  verificação  geradas  na  instalação   –  /etc/ssh/   –  Salve  esses  arquivos   •  Verificação  do  Servidor   –  Vrf  idenHdade  do  servidor   –  Servidor  envia  chave  pública  ao  cliente  na  primeira   conexão  (.ssh/known_hosts)   –  ssh  cliente  passa  a  enviar  desafio  para  o  servidor   –   Lab  –  server  Ubuntu,  cliente  Debian   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 72. Hardening  SSH   •  Verificação  do  Servidor  –  conexão  inicial   –  Ver  fingerprint     –  ssh-­‐keygen  –l   •  /etc/ssh/ssh_host_rsa_key.pub  (no  servidor)   •  No  cliente  -­‐  ssh  –l  usuario  ip  (confere  fingerprint)   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 73. Hardening  SSH   •  Verificação  do  Servidor   •  ssh-­‐keygen  –R  172.16.49.144  ou  editar  .ssh/ known_hosts  (no  cliente)     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 74. Hardening  SSH   •  Configurações:   –   Usar  SSH  2   •   PROTOCOL  2   –  Desabilitar  login  como  root   •  PermitRootLogin  no     •  Tcp  wappers   –   /etc/hosts.allow  -­‐  sshd  :  127.0.0.  1,  172.16.49.144   –   /etc/hosts.deny  –  sshd  :  ALL   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 75. Hardening  SSH   •  Controle  de  usuários   –  AllowUsers  bob  alice     –  DenyUsers  maria  joao   •  Desabilitar  o  forward  de  portas   –  AllowTcpForwarding  no   –  X11Forwarding  no     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 76. Hardening  SSH   •  Criar  banner  customizado   –  #Banner  /etc/ssh/banner.txt   •  Desabilitar  o  sŒp   –  #Subsystem  sŒp  /usr/lib/misc/sŒp-­‐server     Pós-­‐Graduação    -­‐    lato  Sensu  
  • 77. Hardening  SSH   •  AutenHcação  Baseada  em  chaves     –  No  cliente  -­‐  ssh-­‐keygen  –t  rsa  (especificar  senha)   •  Chmod  600  .ssh/id_rsa   –  cat  .ssh/id_rsa.pub   –  Copiar  conteudo  para  .ssh/authorized_keys  do   servidor  remoto   •  PasswordAuthenHcaHon  no   •  UsePam  no   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 78. Hardening  SSH   •  Knocking   –  Após  cliente  uHlizar  sequencia  de  portas  servidor   abre  a  porta  ssh   –  Integrado  ao  iptables   –  Ao  final  da  conexao  a  porta  é  fechada   –   Editar  /etc/default/knockd  e  deixar  as  duas  linhas   seguintes:     •  START_KNOCKD=1   •  KNOCKD_OPTS="-­‐i  eth0"        /etc/init.d/knockd  restart   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 79. Hardening  SSH   •  Knocking   –  Abertura   •  root@ubuntu#  knock  172.16.49.137  7000:tcp  8000:tcp  9000:tcp   •  root@ubuntu#  ssh  -­‐l  cassio  172.16.49.137     –  Fechamento   •  root@ubuntu#  knock  172.16.49.137  9000:tcp  8000:tcp  7000:tcp   –  hYp://www.vivaolinux.com.br/arHgos/impressora.php? codigo=7734   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 80. SSHFS   •  Montagem  de  sist  de  arq  remoto   •  #  apt-­‐get  install  sshfs     •  #  adduser  user  fuse   –  $  mkdir  /home/user/dir_montagem   –  $  sshfs  user@servidor:/home/user/  /home/user/ dir_montagem/   –  $  fusermount  –u  /home/user/dir_montagem/   •  hYp://www.hardware.com.br/dicas/usando-­‐sshfs.html   •  Lab  cliente  debian  e  server  Ubuntu   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 81. Hardening  Linux   •  Bonus   –  Chave  Privada  no  pendrive   –  ssh  –i  path  servidor   Pós-­‐Graduação    -­‐    lato  Sensu  
  • 82. PERGUNTAS??   Pós-­‐Graduação    -­‐    lato  Sensu