• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Seguranca Software Livre
 

Seguranca Software Livre

on

  • 1,560 views

Segurança em Sistema Operacional Livre

Segurança em Sistema Operacional Livre

Statistics

Views

Total Views
1,560
Views on SlideShare
1,554
Embed Views
6

Actions

Likes
1
Downloads
78
Comments
0

1 Embed 6

http://www.linkedin.com 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Seguranca Software Livre Seguranca Software Livre Presentation Transcript

    • Disciplina Segurança em Sistema Operacional Livre Prof: Hélio Marques Sobrinho hmarx@linuxtech.com.br(C) 2011 HMarx 1 / 98
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Arquitetura do GNU/Linux F .. Nenhuma aplicação acessa o hardware diretamente !(C) 2011 HMarx 14 / 98
    • 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, ...) 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
    • 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
    • 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
    • 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, ...) 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
    • 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
    • Visão para as aplicações w Possibilidades w Ä Local Remoto w NFS, SMB, ... DRBD(C) 2011 HMarx 23 / 98
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • O kdm e o desktop KDE openSuSE kdm e KDE(C) 2011 HMarx 33 / 98
    • Uma interface típica botões de controle barra do título botões de controle menu e sticky minimiza, maximiza, ordem, fechar menu texto menu com iconesárea doaplicativo:textos,diálogos, barras de rolagembotões,canvas, ... barra de status KDE - kwrite (C) 2011 HMarx 34 / 98
    • Algumas aplicações gráficas Aplicações X e KDE(C) 2011 HMarx 35 / 98
    • Padrão de interface grá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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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 fornecer subclasses com 16 IPs fixos para seus clientes. a) Quantos clientes ele pode atender com o bloco ? b) Exemplifique com algumas subclasses fornecidas. c) Cite algumas consequências de configurações inadequadas ou erradas de parâmetros de redes em termos de segurança. (C) 2011 HMarx 57 / 98
    • IPv6 s Números de 128 bits § § representados em hexadecimal bits de mais alta ordem : prefixo Tipo de endereço Prefixo Fração do espaço de endereçamento reservado 0000 0000 1/256 não assinalado 0000 0001 1/256 reservado para NSAP 0000 001 1/128 reservado para 0000 010 1/64 não assinalado 0000 011 1/32 não assinalado 0000 1 1/16 não assinalado 0001 1/8 endereços de unicast global agregáveis 001 1/8 não assinalado 010 1/8 não assinalado 011 1/8 não assinalado 100 1/8 não assinalado 101 1/8 não assinalado 110 1/8 não assinalado 1110 1/16 não assinalado 1111 0 1/32 não assinalado 1111 10 1/64 não assinalado 1111 110 1/128 não assinalado 1111 1110 1/512 endereços de unicast de link local 1111 1110 10 1/1024 endereços de unicast de site local 1111 1110 11 110248 endereços de multicast 1111 1111 1/256(C) 2011 HMarx 58 / 98
    • IPv6 - 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
    • 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
    • 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
    • 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
    • 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
    • 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 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Fluxo de pacotes pkt Firewall pkt interface interface forward ? externa interna masquerade ? drop ? pkt reject ? pkt(C) 2011 HMarx 73 / 98
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Log de sessões e tentativas Jan 29 05:18:53 thor sshd[5032]: Invalid user testuser from 213.232.110.135 Feb 3 13:01:06 thor sshd[11171]: reverse mapping checking getaddrinfo for 18983144228.user.veloxzone.com.br [189.83.144.228] failed - POSSIBLE BREAK-IN ATTEMPT! Mar 4 13:37:51 thor sshd[31452]: Accepted keyboard-interactive/pam for hmarx from 186.213.97.125 port 44418 ssh2 Mar 7 19:17:11 thor sshd[10687]: User walter from (null) not allowed because none of user’s groups are listed in AllowGroups Mar 8 12:17:58 thor sshd[26745]: Failed password for invalid user denied from ::ffff:121.83.254.19 port 60428 ssh2 Mar 9 07:53:31 thor sshd[29212]: Invalid user zorro from ::ffff:78.153.209.71 Mar 9 08:17:19 thor login[29821]: FAILED LOGIN 1 FROM /dev/tty1 FOR hmarx, Authentication failure(C) 2011 HMarx 92 / 98
    • Logs de e-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
    • 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
    • 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
    • Conclusões § ð Configuração dos serviços Planejamento § ð usuários e root Confiança Ä ! Senhas fortes F § Troca periódica Software Livre é seguro(C) 2011 HMarx 96 / 98
    • Dúvidas ? Curiosidades(C) 2011 HMarx 97 / 98
    • Obrigado ! Hélio Marques Sobrinho hmarx@linuxtech.com.br(C) 2011 HMarx 98 / 98