Disciplina                   Segurança em Sistema                       Operacional Livre                 Prof: Hélio Marq...
Programas    § Sistema de computação e segurança     Introdução    § O ambiente operacional GNU/Linuxs    § Planejamento, ...
Referências bibliográficas   §      Olaf Kirch, "Linux Network Administrator´s Guide", SSC, USA, 1994.   §      Simon Garf...
Agendas       Conteúdo            ð            ð                     Introdução e conceitos            ð                  ...
Introduçãos Sistema de Computação    § ð     Hardware, Software e Peopleware      ð                  Processadores, memóri...
Seguranças Conceitos - ISO 27001 e 27002    § ð    Critérios de segurança      ð                  Disponibilidade         ...
Critérios de seguranças       DoD - U.S. Department of Defense         NSA           - National Securiy Agency         NCS...
Nova classificaçãos    CCITSE          ð          Common Criteria for Information Tecnology Security Evaluation          ð...
Histórico do GNU/Linuxs Bell Labs, USA, 1960       §       § ð Ken Thompson    Multics - GE 645    Unics => PDP-7         ...
Software Livres FSF - Free Software Foundation    §    §    GPL - General Public License    §    LGPL - Lesser General Pub...
Distribuiçãos Meio de distribuição             ð             ð                     Kernel linux             ð             ...
Instalação do GNU/Linuxs    § ð Estaçãoda instalação servidor ? Grid/Cluster ?     Planejamento      Objetivo      ð Quais...
Instalação do GNU/Linuxs       § ð ethernet ? token ring ? wireless ?         Ambiente de rede         Interfaces         ...
Arquitetura do GNU/Linux    F               ..          Nenhuma aplicação acessa o hardware diretamente !(C) 2011 HMarx   ...
Iniciando o GNU/Linuxs O processo de boot(C) 2011 HMarx                     15 / 98
Do init aos processoss Árvore de processos(C) 2011 HMarx                           16 / 98
Sessõess Abertura de sessão / login       §       § ð console, terminal (real ou emulado)    local ou remota (telnet, ssh,...
Autenticaçãos Arquivo         ð /etc/passwd e /etc/shadows      Bases         ð NIS         ð LDAPs      PAM - Pluggable A...
Sistema de arquivoss Estrutura hierárquica distribuída            Ä diretórios, arquivos, dispositivos            Ä root f...
Linux VFSs Camada de abstração do sistema de arquivos(C) 2011 HMarx                                 20 / 98
Dispositivoss Volumes  § ð locais    dispositivos de armazenamento      Ä         ð Ä volumes exportados (NFS, Samba, NCP,...
Montagems           ð /etc/fstab            Montagem durante o boot (init)            ð / (raiz)            ð Ä locais ou ...
Visão para as aplicações                                   w                                   Possibilidades             ...
Atributos dos arquivoss Diretórios      ð nomes    § ð atributos, permissões      Inodos      ð blocos de dadoss drwxrwxrw...
Permissõess Representação numérica    § ð                                    ð                                       000 ð...
Exercícioss Permissões de acesso  Exercício #2       Seja uma empresa com gerentes de diversas áreas. Um funcionário pode ...
Hard links e soft linkss Estrutura dos diretórios                  Ä                  Ä                      Dados do arqu...
ACLss ACLs - Access Control Lists                  Ä           ð                      Controle granular das permissões rwx...
Exercício   Exercício #3      Compare o esquema de proteção padrão utilizando apenas os bits rwx com o uso    das ACLs. Qu...
SELinuxs Security Enhanced Linux    § ð    DoD - NSA - NCSC                  TCSEC, TCB, CC      ð           GPL em 2002, ...
A interface gráfica XWindow                                             s Componentes                                     ...
Componentes do XWindows X Server              ð      xorgs Desktop manager       § ð xdm, gdm, kdm, ...    controle de ses...
O kdm e o desktop KDE    openSuSE    kdm e KDE(C) 2011 HMarx                    33 / 98
Uma interface típica   botões de controle   barra do título   botões de controle     menu e sticky                        ...
Algumas aplicações gráficas                 Aplicações X e KDE(C) 2011 HMarx                        35 / 98
Padrão de interface gráficas CUA - Common User Access   §   §          Publicado pela IBM, 1987          Utilizado por Uni...
O Bourne Again Shell - Bashs Interpretador de comandoss Linguagem de programação completa     §     scripts : comandos int...
Ajuda on-lines Aplicativos    §    §    comando --help    §    comando -h    §    man opções [ sessão ] comando    info op...
Elementos da linguagem bashs Variáveis      § ð variável=valor    Atribuição                  NOME="Helio Marques"        ...
Metacaracteress Sequência de caracteres especiais    §    São tratados pelo shell e substituidos antes de    § ð Exemplos ...
Usando Metacaracteress Comando echo    §    §    echo [ -n ]  texto ...    Imprime na saída padrão os argumentos   Exercíc...
Ambientes ~ é o diretório pessoal    §~jose é /home/joses conteúdo    § ð .* "nomes ocultos" no ls     arquivos e diretóri...
Comandos do Bashs Comandos internos           ð      alias, cd, fg, bg, echo, eval, exit, export, history,                ...
Operadores do bashs Separador de comandoss ;  $ date; pwd; uname -r              Sat Mar 19 19:30:19 BRT 2011             ...
Operadores do bashs       §         Pipe              comando1 | comando2 | ...                $ echo "Maria da Silva" | r...
Operadores do bashs       §         Substituição de comando       §              ‘comando‘              $(comando)        ...
Operadores do bashs       § ð operadores ]]         Expressões lógicas         [[ expressão            Ä                  ...
Exemplos de comandoss       Comandos iterativos e condicionais      i=0                                   ð               ...
Mais alguns comandos$ lsbash             dostextfile foto.jpg image.gif   image.png unixtextfile$ file *bash:         ELF ...
GNU/Linux em Redess Topologias     §    barramentos, estrela, wireless, ...s Arquitetura     §    internas, externas, loca...
IPv4s Número de 32 bits   §                                                              R            H    formato x.y.z.w...
IPv4s Blocks privados                                     }                                              Network Address T...
IPv4 - subclasses                 R                        H                                                             R...
Praticando ...  Exercício #7      Identifique para os endereços abaixo: a classe (A, B ou C), o número    de IPs disponíve...
Roteamentos Tabela de roteamento    § ð destino gateway máscara métrica interface    route -n ou netstat -rn    § ð Para c...
Multiplas redess Redes locais e remotas(C) 2011 HMarx                     56 / 98
Práticando ...s Cálculo de sub-redes  Exercício #8     Considere um provedor detentor do bloco 190.180.128.0/17.  Ele quer...
IPv6  s Números de 128 bits        §        §      representados em hexadecimal      bits de mais alta ordem : prefixo  Ti...
IPv6 - exemploseth0       Link encap:Ethernet HWaddr 00:00:E8:4D:4F:A7           inet addr:201.17.146.157 Bcast:201.17.146...
Serviçoss Conexão / Comunicação         ð Ä portosUDP, sockets            TCP, IP,         ð Arquivos                     ...
Servidor de nomess DNS - Domain Name System          ð Ä resoluçãoIPs IPs de domínios e máquinas            domínios e    ...
Resolvendo nomes e IPss Aplicativos    §    §    host    §    dig    nslookup    # host 201.17.146.157    157.146.17.201.i...
E-mails Componentes    §    MUA - Mail User Agent              Ä kmail, mutt, thunderbird, webmails, ...    §      MTA - M...
Protocolo SMTPs Conversa SMTP simplificada(C) 2011 HMarx                    64 / 98
Segurança do e-mails Autenticidade       § ð    Endereços de origem e destino                     To e From               ...
Segurança do e-mail Exercício #9     Porque a resolução dos nomes no DNS é importante para a   segurança do sistema de e-m...
Sambas Servidor    §    §    Autenticação de usuários    §    Compartilhamentos    Server, PDC, BDCs Cliente    §    §    ...
Ataquess Formas de ataque     §     §    Man in the middle     §    Denial of service    IP spoofings Ferramentas     §   ...
Firewall - organizaçãos Pacotes     §     §    endereços de origem e destino    protocolos de sessão e aplicaçãos Encapsul...
Modelo OSI da ISOs                   F    Open Systems Interconnection Model                modelo de referência          ...
Firewall - Filtross Regras     §     §    Direção : Inbound, Outbound, Either     §    Endereco de origem     §    Endereç...
Software iptabless Manipulação das tabelas de regras de filtros Organização     §     §    Tables - Tabelas que são compos...
Fluxo de pacotes            pkt           Firewall                                        pkt            interface        ...
iptables - utilizaçãoss        tabela : especifica a que tabela o comando se aplica        cadeia : especifica a que cadei...
iptables - utilização  # iptables [ -t tabela ] -P cadeia política [ opções ]  Define a política padrão para cadeia       ...
iptabless Algumas opções          ð      -v                 Ä modo verboso          ð      -n                 Ä saída na f...
iptabless       Especificações              -p [ ! ] protocolo              Especifica o protocolo: tcp, udp, icmp ou all ...
iptabless       Especificações              --source-port { [, porto ] }*              Especifica até 15 portos de origem ...
iptabless       Especificações              --uid-owner userid              Especifica o Id do usuário do processo que cri...
iptabless       Especificações              -i [ ! ] interface              Especifica a interface de entrada (de onde vei...
iptabless     Especificações         --tcp-flags [ ! ] máscara ativos         Especifica a lista de flags TCP. A máscara c...
iptabless      Especificações       -j   alvo          Especifica o que fazer com o pacote. Poder ser uma cadeia      §   ...
iptabless      Opções do destino MARK       --set-mark marcas      Opções do destino REJECT       --reject-with tipo      ...
iptabless    Especificações     --state state { [, state ] }*s    Especifica o(s) estado(s) da conexão ao(s) qual(is) o pa...
iptabless     Especificações    --ttl ttl          Especifica o TTL do pacote    --ttl-set ttl          Estabelece novo TT...
iptabless     Especificaçõess     Opções do destino SNAT      --to-source endereço [- endereço ] [ :porto [- porto ]]s    ...
Exemploss Tabelas sem regras           # iptables -L -n           Chain INPUT (policy ACCEPT)           target prot opt so...
Cadeia com algumas regras # iptables -L PREROUTING -t nat -nChain PREROUTING (policy ACCEPT)target prot opt source     des...
VPNs Virtual Private Network    §    §    autenticação e criptografia    IPsec - IP security                  Ä   /etc/ips...
Logss Registro de ocorrências    §    §    evento e instante    kernel, serviços e aplicativoss Acompanhamento    §    §  ...
Logs do firewallMar 27 11:48:18 thor kernel: SFW2-INext-ACC-TCP IN=eth0 OUT=   MAC=00:00:e8:4d:4f:a7:00:13:5f:05:67:05:08:...
Log de sessões e tentativas  Jan 29 05:18:53 thor sshd[5032]: Invalid user testuser from 213.232.110.135  Feb 3 13:01:06 t...
Logs de e-mailsMar 24 17:07:27 thor sendmail[20124]: p2OK7JCw020124:   from=<goncalves@fgr.org.br>, size=269275, class=0, ...
Sumário das ferramentass Sessões, conexões e transações segura       § ssh, scp, sftp       § VPN       § https       § ce...
Ferramentas para gerenciamentos Monitoração de tráfego de rede    § iptraf    § tcpdump    § snort    § ethereal / wiresha...
Conclusões   § ð Configuração dos serviços     Planejamento   § ð usuários e root     Confiança                 Ä         ...
Dúvidas                           ?                 Curiosidades(C) 2011 HMarx                  97 / 98
Obrigado !                 Hélio Marques Sobrinho                      hmarx@linuxtech.com.br(C) 2011 HMarx               ...
Próximos SlideShares
Carregando em…5
×

Seguranca Software Livre

1.690 visualizações

Publicada em

Segurança em Sistema Operacional Livre

0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.690
No SlideShare
0
A partir de incorporações
0
Número de incorporações
12
Ações
Compartilhamentos
0
Downloads
83
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Seguranca Software Livre

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

×