BEM-VINDO À DISCIPLINA DE:Segurança Linux                      Prof: Cássio Alexandre Ramos                      cassioara...
Segurança	  Linux                                     	  •  Introdução	  •  Hardening	  de	  SO	  •  Hardening	  de	  Rede...
Introdução	  •  Hardening	      –  Endurecimento	      –  Fortalecimento	  •  Tipos	      –  S.O	      –  AplicaHvos	     ...
Hardening	  de	  SO	  •  Instalação	     –  UHlizar	  distribuição	  “Confiável”,	  com	  atualizações	        regulares,	 ...
Hardening	  de	  SO	  •  ParHcionamento	  de	  disco	     –  hYp://www.vivaolinux.com.br/arHgos/impressora.php?      codig...
Hardening	  de	  SO	  •  Verificação	  de	  pacotes	  instalados	  no	  Sistema	     –  dpkg	  -­‐l	     –  dpkg	  -­‐l	  |...
Hardening	  de	  SO	  •  Permissão	  Suid	     –  Suid	  Bit	  (4):	  Quando	  setada,	  permite	  que	  qualquer	  usuári...
Hardening	  de	  SO	  •  Permissão	  Suid	     –  Encontrar	  arquivos	  com	  permissão	         •  find	  /	  -­‐perm	  -...
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	  ...
Hardening	  de	  SO	  •  Lab	  –	  Permissão	  Suid	      –  Resolvendo	  o	  problema	      #	  mount	  -­‐o	  remount,rw...
Hardening	  de	  SO	  •  chaYr	  e	  lsaYr	      –  Comandos	  servem	  para	  incrementar	  segurança	         em	  arqui...
Hardening	  de	  SO	  •  Permissões	  de	  Arquivos	  e	  DiretóHos	     –  Leitura	  (r)	     –  Escrita	  (w)	     –  Ex...
Hardening	  de	  SO	  •  Usuários	  e	  Grupos	     –  Useradd,	  userdel,	  usermod,	  passwd,	        groupadd,groupdel,...
Hardening	  de	  SO	  •  Desabilitando	  “ctrl+alt+del”	     –  /etc/iniYab	     #ca:12345:ctrlaltdel:/sbin/shutdown	  -­‐...
Hardening	  de	  SO	  •  Bloqueio	  de	  Terminal	     –  Administrador	  sai	  da	  sessão	  sem	  logout	         •  con...
Hardening	  de	  SO	  •  Bloqueio	  de	  Console	  para	  o	  root	      –  Impede	  que	  o	  root	  faça	  login	  nos	 ...
Hardening	  de	  SO	  •  PAM	  –	  Módulos	  de	  autenHcação	  Plugáveis	     –  trazer	  novas	  funcionalidades	  para	...
Hardening	  de	  SO	  •  PAM	  –	  Módulos	  de	  autenHcação	  Plugáveis	     –  Módulos	  podem	  ser	  usados	  para	  ...
Hardening	  de	  SO	  •  PAM	  –	  Módulos	  disponíveis	     #	  ls	  –l	  /lib/security	  •  PAM	  –	  arquivos	  de	  c...
Hardening	  de	  SO	  •  PAM	  –	  UHlização	     –  <Hpos	  de	  módulo>	  <controle>	  <módulo>	  <argumentos	  do	  mód...
Hardening	  de	  SO	  •  PAM	  –	  UHlização	     –  <Hpos	  de	  módulo>	  <controle>	  <módulo>	  <argumentos	  do	  mód...
Hardening	  de	  SO	  •  PAM	  –	  Limitar	  horários	  de	  login	      –  AHvar	  módulo	  na	  aplicação	      #	  vim	...
Hardening	  de	  SO	  •  PAM	  –	  Limitar	  horários	  de	  login	      #	  vi	  /etc/security/Hme.conf	      –  login;*;...
Hardening	  de	  SO	  •  PAM	  –	  Limitar	  horários	  de	  login	      #	  vi	  /etc/security/Hme.conf	      –  login;*;...
Hardening	  de	  SO	  •  PAM	  –	  Limitar	  logins	  consecuHvos	     #	  vi	  /pam.d/login	     Session	  	   	  require...
Hardening	  de	  SO	  •  PAM	  –	  Limitar	  su	      #	  groupadd	  adm-­‐teste	      #	  adduser	  cassio	  adm-­‐teste	...
Hardening	  de	  SO	  •  PAM	  –	  segurança	  de	  senhas	     #	  apHtude	  install	  libpam-­‐cracklib	     #	  vim	  /...
Hardening	  de	  SO	  •  Verificar	  senhas	  fracas	     #	  apHtude	  install	  john	     #	  cd	  /usr/share/john	     #...
Hardening	  de	  SO	  •  Segurança	  Física	  -­‐	  Gerenciador	  de	  boot	      –  No	  prompt	  do	  grub,	  e	  (edit)...
Hardening	  de	  SO	  •  Gerenciador	  de	  boot	  –	  Correção	     h4p://ubuntuforum-­‐br.org/index.php?topic=65572.0	  ...
Hardening	  de	  SO	  •  Gerenciador	  de	  boot	  –	  	  com	  senha	  cripto	      #	  grub-­‐mkpasswd-­‐pbkdf2	  (gera	...
Hardening	  de	  SO	  •  Segurança	  Física	  -­‐	  Boot	  por	  DVD/pendrive	     Dar	  o	  boot	  pelo	  DVD	     #	  fd...
Hardening	  de	  SO	  •  SUDO	  -­‐	  Super	  user	  do	       –  Arq	  Configuração	  -­‐	  /etc/sudoers	  (visudo)	      ...
Hardening	  de	  SO	                   Segurança do Login# vim /etc/login.defsLOGIN_RETRIES: Definição do número de tentat...
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 cam...
Hardening	  de	  SO	  •  Contas	     –  Data	  de	  expiração	     –  Chage	         •  Modifica	  os	  parametros	  de	  /...
Hardening	  de	  SO	        Desabilite todas as contas especiaisapagar usuários padrões e contas de grupo que você não uti...
Hardening	  de	  Rede	  •  Verificar	  serviços	  aHvos	  TCP	     root@debian:/#	  netstat	  -­‐natp	     Conexões	  Inter...
Hardening	  de	  Rede	  •  Verificar	  serviços	  aHvos	  UDP	     root@debian:/#	  netstat	  -­‐naup	     Conexões	  Inter...
Hardening	  de	  Rede	  •  Verificar	  serviços	  aHvos	     –  Instalar	  nmap	  –	  network	  mapper	     #	  apHtude	  i...
Hardening	  de	  Rede	  •  DesaHvar	  Serviços	  desnecessários	      #	  update-­‐rc.d	  -­‐f	  portmap	  remove	  	     ...
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	        co...
Hardening	  de	  Rede	  •  TCP	  Wrappers	     –  Sintaxe	     daemon	  :	  cliente	  [:opção1:opção2:...]	     vsŒpd	  :	...
Criptografia	  •  Tipos	      –  De	  SO	      –  De	  ParHção	  	      –  De	  arquivos	  e	  pastas	          •  Criptogr...
Criptografia	  •  Openssl	     –  Criptografar	         #	  openssl	  enc	  -­‐e	  -­‐aes256	  -­‐in	  arq1.txt	  -­‐out	  ...
Criptografia	  •  Openssl	  –	  script	  para	  criptografar	  (ext	  .enc)	      #!/bin/bash	  	      if	  [	  $#	  -­‐lt	...
Criptografia	  •  Openssl	  –	  script	  para	  decriptografar	     #!/bin/bash	  	     if	  [	  $#	  -­‐lt	  2	  ]	  	    ...
Criptografia	  EncFs                                        	  •  #	  apt-­‐get	  install	  encfs	  fuse-­‐uHls	  libfuse2	...
Criptografia	  EncFs                                      	  •  Para	  desmontar:	     $	  fusermount	  -­‐u	  ~/texto_clar...
Escondendo	  Banner	                    Pós-­‐Graduação	  	  -­‐	  	  lato	  Sensu	  
Escondendo	  Banner	  http://www.vivaolinux.com.br/artigos/impressora.php?codigo=985                                      ...
Descobrindo	  OS	   Banners	  -­‐	  OsGuessing	  /proc/sys/net/ipv4/ip_default_ttl                                    Pós-...
Kernel	  Tuning	  Os parâmetros do kernel são configurados no arquivo /etc/sysctl.confO comando sysctl –p ativa os parâmet...
Kernel	  Tuning	  •  Sysctl	  –w	  (write)	  grava	  a	  alteração	                                                   Pós-...
Kernel	  Tuning	  TCP SYN Cookie Protection  Tenta evitar o SYN ATAQUE que causa uma negação  de serviço  net.ipv4.tcp_syn...
Kernel	  Tuning	  •  Ignoring to ICMP Requests   •  Maquinas param de responder a pacotes ICMP (ping).   •  net.ipv4.icmp_...
Kernel	  Tuning	  Ignoring Broadcasts Request   Ignorar mensagens enviadas para broadcast   net.ipv4.icmp_echo_ignore_broa...
BasHlle	  •  AplicaHvo	  para	  Hardening	  •  Modo	  operação	  -­‐	  faz	  perguntas	  e	  cria	  poliHca	     baseado	 ...
BasHlle	  •  Instalação	  	      –  apt-­‐get	  install	  basHlle	      –  apt-­‐get	  install	  perl-­‐tk	  •  Modo	  grá...
Hardening	  VSTPD	  •  Escondendo	  Banner	      Œpd_banner=Servidor	  FTP	  •  Não	  permiHndo	  login	  anonimo	      an...
Hardening	  VSTPD	  •  Autorizando	  usuários	  a	  usarem	  o	  servidor	     userlist_deny=NO	     userlist_enable=YES	 ...
Hardening	  VSTPD	  •  Habilitando	  Œp	  com	  ssl	       –  Criar	  o	  cerHficado	  auto-­‐assinado	       –  #	  cd	  /...
Hardening	  VSTPD	  •  Editar	  o	  arquivo	  /etc/vsŒpd.conf	  e	  incluir	      ssl_enable=YES	      allow_anon_ssl=YES	...
Hardening	  VSTPD	  •  Teste	  com	  Œp-­‐ssl	  e	  filezilla	      #	  apt-­‐get	  install	  Œp-­‐ssl	      #	  Œp-­‐ssl	 ...
Hardening	  SSH	  •  O	  serviço	  SSH	  é	  muito	  úHl	  para	  um	     administrador	  de	  sistemas	      –  Ele	  per...
Hardening	  SSH	  •  Configuração	  do	  Servidor	     –  /etc/ssh/sshd_config	  •  Configuração	  do	  Cliente	     –  /etc/...
Hardening	  SSH	  •  Chaves	  de	  verificação	  geradas	  na	  instalação	      –  /etc/ssh/	      –  Salve	  esses	  arqu...
Hardening	  SSH	  •  Verificação	  do	  Servidor	  –	  conexão	  inicial	      –  Ver	  fingerprint	  	      –  ssh-­‐keygen...
Hardening	  SSH	  •  Verificação	  do	  Servidor	  •  ssh-­‐keygen	  –R	  172.16.49.144	  ou	  editar	  .ssh/   known_hosts...
Hardening	  SSH	  •  Configurações:	     –  	  Usar	  SSH	  2	           •  	  PROTOCOL	  2	     –  Desabilitar	  login	  c...
Hardening	  SSH	  •  Controle	  de	  usuários	      –  AllowUsers	  bob	  alice	  	      –  DenyUsers	  maria	  joao	  •  ...
Hardening	  SSH	  •  Criar	  banner	  customizado	      –  #Banner	  /etc/ssh/banner.txt	  •  Desabilitar	  o	  sŒp	      ...
Hardening	  SSH	  •  AutenHcação	  Baseada	  em	  chaves	  	     –  No	  cliente	  -­‐	  ssh-­‐keygen	  –t	  rsa	  (especi...
Hardening	  SSH	  •  Knocking	     –  Após	  cliente	  uHlizar	  sequencia	  de	  portas	  servidor	        abre	  a	  por...
Hardening	  SSH	  •  Knocking	     –  Abertura	         •  root@ubuntu#	  knock	  172.16.49.137	  7000:tcp	  8000:tcp	  90...
SSHFS	  •  Montagem	  de	  sist	  de	  arq	  remoto	  •  #	  apt-­‐get	  install	  sshfs	  	  •  #	  adduser	  user	  fuse...
Hardening	  Linux	  •  Bonus	     –  Chave	  Privada	  no	  pendrive	     –  ssh	  –i	  path	  servidor	                  ...
PERGUNTAS??	            Pós-­‐Graduação	  	  -­‐	  	  lato	  Sensu	  
Upcoming SlideShare
Loading in …5
×

Segurança Linux

3,235 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,235
On SlideShare
0
From Embeds
0
Number of Embeds
464
Actions
Shares
0
Downloads
151
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Segurança Linux

  1. 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. 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. 3. Introdução  •  Hardening   –  Endurecimento   –  Fortalecimento  •  Tipos   –  S.O   –  AplicaHvos   Pós-­‐Graduação    -­‐    lato  Sensu  
  4. 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. 5. Hardening  de  SO  •  ParHcionamento  de  disco   –  hYp://www.vivaolinux.com.br/arHgos/impressora.php? codigo=5116   Pós-­‐Graduação    -­‐    lato  Sensu  
  6. 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. 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. 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. 9. Hardening  de  SO  •  Sugestão   Pós-­‐Graduação    -­‐    lato  Sensu  
  10. 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. 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. 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. 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:24passwd  -rw-r----- 1 root shadow 5244 Jan 26 10:24shadow   Pós-­‐Graduação    -­‐    lato  Sensu  
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 35. Hardening  de  SO   Segurança do Login# vim /etc/login.defsLOGIN_RETRIES: Definição do número de tentativas de loginLOGIN_TIMEOUT: Tempo de espera para nova tentativa de login, casotenha errado senha/userPASS_MIN_LEN: Tamanho da senha, minimo por padrão é 5.LOG_UNKFAIL_ENAB: Grava no arquivo de log /var/log/faillog osusuários desconhecidos que tentarem se logar sem sucesssoLOG_OK_LOGINS: Ativa log dos logins com sucesso Pós-­‐Graduação    -­‐    lato  Sensu  
  36. 36. Hardening  de  SO   Password Aging Pós-­‐Graduação    -­‐    lato  Sensu  
  37. 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. 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. 39. Hardening  de  SO   Desabilite todas as contas especiaisapagar 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. 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. 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. 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. 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. 44. Hardening  de  Rede  •  TCP  Wrappers   Pós-­‐Graduação    -­‐    lato  Sensu  
  45. 45. Hardening  de  Rede  •  TCP  Wrappers   Pós-­‐Graduação    -­‐    lato  Sensu  
  46. 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. 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. 48. Criptografia  •  Tipos   –  De  SO   –  De  ParHção     –  De  arquivos  e  pastas   •  Criptografia     •  Assinatura  digital   Pós-­‐Graduação    -­‐    lato  Sensu  
  49. 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. 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. 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. 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. 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. 54. Escondendo  Banner   Pós-­‐Graduação    -­‐    lato  Sensu  
  55. 55. Escondendo  Banner  http://www.vivaolinux.com.br/artigos/impressora.php?codigo=985 Pós-­‐Graduação    -­‐    lato  Sensu  
  56. 56. Descobrindo  OS   Banners  -­‐  OsGuessing  /proc/sys/net/ipv4/ip_default_ttl Pós-­‐Graduação    -­‐    lato  Sensu  
  57. 57. Kernel  Tuning  Os parâmetros do kernel são configurados no arquivo /etc/sysctl.confO comando sysctl –p ativa os parâmetros configurados neste arquivo Pós-­‐Graduação    -­‐    lato  Sensu  
  58. 58. Kernel  Tuning  •  Sysctl  –w  (write)  grava  a  alteração   Pós-­‐Graduação    -­‐    lato  Sensu  
  59. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 81. Hardening  Linux  •  Bonus   –  Chave  Privada  no  pendrive   –  ssh  –i  path  servidor   Pós-­‐Graduação    -­‐    lato  Sensu  
  82. 82. PERGUNTAS??   Pós-­‐Graduação    -­‐    lato  Sensu  

×