Você está na página 1de 234

LC315

Sistemas Baseados em

Red Hat Enterprise Linux 5


Fundamentos Avanados, Segurana e Servios de Internet
Contedo Compatvel RHCE e LPIC2

ATENO

Todos os direitos sobre este material didtico esto reservados a LinuxClass (2009). A propriedade intelectual deste trabalho protegida por lei de direitos autorais (copyright) em sua ntegra, fica proibida a reproduo completa ou parcial ou qualquer outra forma de utilizao e/ou exposio individual ou coletiva. Nenhuma instituio comercial ou sem fins lucrativos autorizada a utilizar este material sob nenhuma forma, configurando crime previsto no cdigo penal. Se voc acredita que este material esta sendo utilizado de forma indevida, denuncie anonimamente pelo telefone 048-3024-0276, ou mandando e-mail para linuxclass@linuxclass.com.br O objetivo deste material didtico no fornecer um manual em portugus para sistemas baseados em Red Hat Enterprise Linux detalhando todos os comandos e funes, nem mesmo ser um guia rpido para consultas. Esta apostila tem com objetivo servir apenas de acompanhamento para as aulas presenciais e explicaes dos instrutores. Todo material fornecido neste treinamento entregue sem nenhum tipo de garantia ou responsabilidade contra qualquer tipo de danos ou mal uso.

Rua Jornalista Manoel Menezes 149, Conj 402 Florianpolis SC CEP 88034-060
Fone/Fax +55 (48) 3024-0276 - linuxclass@linuxclass.com.br

Treinamento Profissional Linux Red Hat Enterprise 5

TabeladeContedos

O Red Hat Enterprise Linux Introduo Listas de compatibilidade de Hardware Listas de compatibilidade de Software Suporte a CPUs SLAs de Suporte SLAs de suporte da Red Hat Verses do Red Hat Enterprise Linux Kernels Disponibilizados Aplicativos Populares Suportados O Linux Kernel Mdulos Dinmicos Carregveis Dispositivos e Processos Arquivos de Dispositivos Dispositivos de caractere Dispositivos de bloco Pseudo-dispositivos Outros tipos de Arquivos Criando dispositivos Identificando e listando os dispositivos PCI Bus Suporte Hotplug Instalando o Red Hat Enterprise Linux Primeiro Estgio Segundo Estgio Durante a Instalao Firstboot, Configuraes Bsicas Aps a Instalao Configuraes Gerais do Sistema Particionamento Particionamento dos Sistemas de Arquivos durante a Instalao

01 01 01 01 01 02 02 02 03 03 04 04 04 05 05 05 06 06 06 07 07 07 08 08 09 09 10 10 11 11

Software RAID, Hardware RAID, Nveis de RAID RAID Hardware e RAID Software RAID Via Hardware Tipos de Hardware RAID Via Software Controlador de Mltiplos Dispositivos (MD) Nveis de RAID RAID-linear RAID-0 RAID-1 RAID-2 e RAID-3 RAID-4 RAID-5 Tipos de RAID Hbridos Tabela de Comparao dos Nveis de RAID LVM, Gerenciador de Volumes Lgicos Apresentao do LVM Terminologia do LVM Desenhos Ilustrativos do LVM Registrando o RHEL5 na RHN, rhn_register YUM, Yellowdog Updater Modified YUM RHNPlugin Instalando novos repositrios no YUM Registrando o RHEL4 na RHN, up2date Atualizando e instalando software no RHEL4, up2date Kickstart Kickstart por Disquete Kickstart por Rede Ajuda para Kickstart On-line Construindo seu arquivo Kickstart Diretivas de utilitrios Diretivas de Particionamento de disco Outras diretivas do Kickstart Diretivas de Instalao de Pacotes Diretiva %pre Diretiva %post

12 12 12 13 13 14 14 15 15-16-17 17-18 18-19-20 20-21 21-22 22-23 23-24 25 25 26 27-28 29 29-30 30 30-31 31-32 32 33 33 33 33 34 34 34 34 35 35 36

A Red Hat Network (RHN) RHNSD Mdulos Comerciais da RHN Mdulo Management Mdulo Provisioning Mdulo Monitoring Satellite Server Proxy Server Ajuda da RHN On-line Resumo do Processo de Boot do Sistema GRUB Outras opes do GRUB Linha de comandos do GRUB Re-fazendo o Primeiro Estgio do GRUB Inicializao do Kernel Inicializao do Init Script /etc/rc.d/rc.sysinit Script /etc/rc.d/rc System V run-levels Script /etc/rc.d/rc.local Controlando e Configurando os Servios de Inicializao System V Laboratrio GRUB, Recuperao do sistema e Troubleshooting Recuperao do Sistema Sistema de arquivos ext3 e ext2 Funcionamento padro dos sistemas de arquivos em Linux Erros e corrompimento do sistema de arquivos Journaling Sistema de arquivos ext3 Tipos de Journaling: Journal,Ordered,Writeback Particionamento: fdisk, sfdisk, parted Particionamento On-Line: partprobe Criando Sistemas de Arquivos: mkfs Convertendo um filesystem ext2 para ext3 Montando Filesystems Remontando Filesystems

37 37 38 38 39 40 41 41 41 42 43-44-45-46 46-47 47 47 48 48 49 49 49 50 50 51 51 52 52 52 53 53-54 54 55 55 55-56 56 56-57 57

Nomes de Volumes fstab Montando Todos os Dispositivos do fstab Automounter Documentao On-line do Automounter Atributos Extendidos do Filesystem Filesystem ACLs Quotas Implementao de quotas Laboratrio QUOTAS, cenrio de configurao Teste de implementao/Validao Soluo do laboratrio QUOTAS SELinux Strict, Targeted Policys Contextos dos Objetos Configuraes Bsicas do SELinux Visualizando Objetos e Processos SELinux Implementando o Software RAID Configurando o software RAID com mdadm Otimizao do RAID Verificando o RAID Software RAID Recovery Laboratrio RAID, cenrio de configurao Teste de Implementao/Validao Soluo do laboratrio RAID Implementando LVM Criando Volumes Lgicos Otimizao do LVM Redimensionando Volumes Lgicos On-line Gerenciando Volumes Lgicos Convertendo LVM1 em LVM2 Introduo ao GFS

57 58 58 59 59 60 60 61 61 62 62 63 64 64 64-65 65 66 67 67 67 68 68 69 69 70 71 71 71 71 72 72 73

Ilustrao da Aplicao do GFS com Oracle Laboratrio LVM, cenrio de configurao Teste de Implementao/Validao Soluo do laboratrio LVM Gerenciamento de Contas e Grupos do Sistema Umask Setgid Scripts de Inicializao de Ambiente Gerenciamento de Pacotes com RPM Objetivos de Desenvolvimento do RPM Usando o RPM Instalando Pacotes Pacotes J Instalados Arquivos Conflitantes Dependncia No-resolvida Desinstalando Pacotes Atualizando (Update) Recarregando (Freshen) Busca (Query: Verificando Importando Chaves Verificando a Assinatura de Pacotes Autenticao PAM Configurao da PAM Principais Mdulos da PAM Analizando a Configurao da PAM por exemplos Name Service Switch (NSS) Configurando Autenticao LDAP Cliente Gerenciando as interfaces de Rede

74 75 75 76 77-78 78 78 79 80 80-81 81 81 82 82-83 83 84 84-85 85 86 87-88 88 88 89 89-90 91 92-93 94 95 96

Gerenciando os LOGs do Sistema: syslogd, klogd Facilidades Nveis de prioridade Destinos Exemplos de Configuraes do Syslog Importantes arquivos de Logs do Sistema Manuteno e Rotao dos Logs Monitorando os Logs CUPS CRON Exemplo de Evento no CRON ATD Gerenciamento dos Mdulos do Kernel Kernel Tainting Modprobe, modprobe.conf, modinfo, lsmod Dependncia de Mdulos Initrd, Imagem de Ramdisk /proc Filesystem /proc/sys Filesystem Sysctl, Ajustes de parmetros no Kernel NFS Introduo Instalando Pacotes/Softwares Necessrios Opes de Montagem do NFS Usando o automounter para montar NFS Laboratrio NFS, cenrio de configurao de mdio porte Arquivos de configurao envolvidos Teste de Implementao/Validao Configurao do Servio (Parte do Cliente) FTP Introduo Instalando Pacotes/Softwares Necessrios Configurao do Servio Laboratrio FTP, cenrio de configurao de mdio porte

97-98 98 99 99 100 100 101 101 102 103 104 104 105 105 105-106 106 106 107 107 108 109 109 109 110 111 112 112 113 113 114 114 114 114 114-115

Arquivos de configurao envolvidos Ativando o Servio na Inicializao do Sistema Teste de Implementao/Validao SAMBA Introduo Instalando Pacotes/Softwares Necessrios Configurao do Servio Autenticao no Samba Arquivos de configurao envolvidos Ativando o Servio na Inicializao do Sistema Gerenciando Contas de Usurios no Samba Montando Automaticamente Compartilhamentos Samba no fstab Teste de Implementao/Validao (Samba Clients) Laboratrio Samba, cenrio de configurao de mdio porte Teste de Implementao/Validao Soluo do laboratrio Samba APACHE Introduo Instalando Pacotes/Softwares Necessrios Configurao do Servio Arquivos de configurao envolvidos Configurao de Acesso Diretrios e Arquivos Laboratrio APACHE, cenrio de configurao para Virtual Hosts Ativando o Servio na Inicializao do Sistema Teste de Implementao/Validao SQUID Introduo Instalando Pacotes/Softwares Necessrios Configurao do Servio Laboratrio SQUID, cenrio de configurao de pequeno porte Arquivos de configurao envolvidos Ativando o Servio na Inicializao do Sistema Teste de Implementao/Validao

115 115 115 116 116 116-117 117-118 118-119 119 119 120 120 121 122 122 123-124-125 126 126 126 127 127 128 129-130 130 130 131 131 131 132 133 133 133 134

MUAs, MTAs, MDAs Escolhendo o MTA no RHEL com alternatives POSTFIX Introduo Instalando Pacotes/Softwares Necessrios Ativando o Servio na Inicializao do Sistema Configurao do Servio Aliases, Virtual, Access Arquivos de configurao envolvidos Domnios Virtuais DOVECOT Introduo Instalando Pacotes/Softwares Necessrios Configurao do Servio Criando o certificado PEM para utilizao do IMAPS Arquivos de configurao envolvidos Ativando o Servio na Inicializao do Sistema Teste de Implementao/Validao Laboratrio POSTFIX-DOVECOT, cenrio de configurao de pequeno porte Teste de Implementao/Validao OpenSSH Introduo Instalando Pacotes/Softwares Necessrios Configurao do Servio Arquivos de configurao envolvidos Gerando chaves pblicas e privadas Autenticao baseada em hosts Ativando o Servio na Inicializao do Sistema Laboratrio OpenSSH, cenrio de configurao de mdio porte Teste de Implementao/Validao Soluo do laboratrio OpenSSH DHCP Introduo Instalando Pacotes/Softwares Necessrios

135 136 137 137 138 138 138-139 139 140 140 141 141 141 142 143-144 144 144 144 145-146-147 147 148 148 148 149 150 150 150 150 151 151 152 153 153 153

Configurao do Servio Configurao do Cliente DHCP Arquivos de configurao envolvidos Ativando o Servio na Inicializao do Sistema XINETD Introduo Instalando Pacotes/Softwares Necessrios XINETD Configurao Padro dos Servios XINETD Configurao Particular dos Servios Arquivos de configurao envolvidos Ativando o Servio na Inicializao do Sistema TCP WRAPPERS Introduo Especificao do Daemon (Servidores) Especificao do Clientes Sintaxes Complexas Cenrio de Exemplos Laboratrio XINETD-TCP WRAPPERS, cenrio de configurao Teste de Implementao/Validao Soluo do laboratrio XINETD-TCP WRAPPERS Netfilter Introduo Mdulos Base e Extenses do Netfilter Fluxo dos Pacotes no Netfilter Verificao das Regras Alvo das Regras Chains Definidas por Usurios: Extenses de Chains Operaes Bsicas nas Regras das Chains Operaes com Chains Critrios de verificao das Chains Extenses TCP Extenses UDP Extenses ICMP Checagens de estado dos pacotes

154-155-156 156 156 156 157 157 157 158-159 160 160 160 161 161 161-162 162 162-163 163-164 165 165 166 167 167 167 168-169 169 169 170 170-171 171 171-172 173 174 175 175 175-176

NAT Source NAT Masquerading Destination NAT Redirecionamento Salvando as Regras do Iptables Laboratrio IPTABLES, cenrio de configurao de pequeno porte Teste de Implementao/Validao Soluo do laboratrio IPTABLES Laboratrio IPTABLES-SYSLOG, cenrio de configurao de pequeno porte Teste de Implementao/Validao Soluo do laboratrio IPTABLES-SYSLOG

176-177 178 178 179 179 179 180 180 181 182 182 183

Laboratrio com sequencias explicativas Laboratrio estilo simulao de certificao

RedHatEnterpriseLinux: Introduo:

Focadonomercadocorporativo(AmbientesdeProduo) Agregatecnologiasjtestadas,cdigomaduro.(Fedoraoparquedetestes) Temumciclodevidalongode1218meses. ARedHatmantmegerenciaasatualizaesecorreesdoproduto. ARedHatmantmegerenciaosuporteaoproduto.

ORedHatEnterpriseLinuxdesenvolvidopartirdacomunidadedesoftwarelivre,pormaRedHat tambmagregaperformanceeestabilidadeaoproduto.ARedHatpossuiinmerosprogramadoresde cdigo(core)dacomunidadeemseucorpodefuncionrios,existemclulasdedesenvolvimentoem muitospases. So efetuados tambm testes intensivos em seus produtos, criando e certificando uma lista de compatibilidadedehardwareeSoftwareondeestoosmaioresfabricantesdomercadoatual,taiscomo Dell,IBM,Fujitsu,HPeOracle. VocencontraaslistasdecompatibilidadedeHardwareem: https://hardware.redhat.com/hwcert/index.cgi VocencontraaslistasdecompatibilidadedeSoftwareem: https://www.redhat.com/rhel/com patibility/software Comumciclodevidadeprodutolongoasempresaspodemusufruirdeumaltonveldepadronizao nesta plataforma o que tambm agrega estabilidade e um slido planejamento para migrao e atualizao.

SuporteaCPUs:
Intelx86compatible IntelItanium2 AMD64/IntelEM64T IBMPowerPC(eServers,iSeriesepSeries) IBMMainframe(eServer,zSerieseS/390) 1

SLAsdeSuporte:
ARedHatofereceoGSS(GlobalSupportServices)noBrasilenomundo,engenheiroscertificadose comaltonveldecompetnciaemRedHatEnterpriseLinuxiroajudaloaresolvertodoequalquer problemasuportadopeloseucontrato,ouseja,suaSLA.TodososengenheirosdesuportedaRedHatso certificadosRHCEsprimariamenteparaseuscargos. OsuportedivididoemBasic,StandartePremium,possvelcontratarosuportedaRedHatemat24 Horaspor7Diasnasemanaparaproblemasdeseveridade1,ouseja,problemasgravesqueimpactam diretamente na produo de sua organizao, outrasformasdesuporte almdo telefnico, como o suporteviaWEBtambmestodisponveis. ParaacessarasSLAsdesuportedaRedHatentreem: https://www.redhat.com/support/policy/sla/production/

AsVersesdoRedHatEnterpriseLinux:
AtoreleaseRHEL4oprodutoeradivididonasversesAS,ESeWS.AversoASouAdvancedServer eraaversomaiscompletadestinadaaomercadocorporativodesistemasoperacionaisparaservidores. AversoESofereciaamesmaqualidadedesoftwaredaversoASpormtinhalimitaesquantoa quantidadedememriafsicaequantidadedeCPUssuportadas.AversoWSeradestinadaaosegmento dedesktops. AnovaversoRHEL5veiocommuitasnovidades.OtopodacadeiadeprodutosdeservidoresoRed HatEnterpriseLinuxAdvancedPlatformqueagregatotalsuporteavirtualizao,softwaredeclustere gerenciamento, suporte ao GFS (Global File System), no h limitaes quanto ao nmero de processadoresoumemriafsicaemquinasvirtuais. EnquantooAdvancedPlatformocupaosegmentodemercadodoantigoAS,ochamadoBaseServer ocupaolugardotambmantigoES,asdiferenassoqueoBaseServernoacompanhasuporteao clustersuitenemaoGFSe destinadoamquinascomat2processadores.ParavirtualizaooBase serverrecomendadoparaat4mquinasvirtuais.

KernelsDisponibilizados:
Kernel1CPUat4GBRAM KernelSMP2oumaisCPUsat16GBRAM KernelHugemem1,2oumaisCPUsate64GBRAM ParaPlatafomax86nodisponibilizadooKernelHugemem.

AplicativosPopularesSuportados:
OusodoRedHatEnterpriseLinuxcobretodooambientedeTI,conformeficoudemonstradopelo amplo ecossistemadeaplicativosISVcertificados.Atabelaaseguirapresentabrevemente algumas implementaescomuns:

ExemplodeAplicativos

Benefcios

OfereceserviosdearquivoedeimpressoparaosclientesMicrosoft Windows,comintegraodoActiveDirectoryenovosuporteparaos ServidordeArquivo/Impresso gruposreunidos.Ofereceserviosdeimpressoraedearquivospara osambientesUnix,comsuporteNFSv4eAutoFS,incluindobinds autenticadosemapascompartilhados. ServidorWeb OServidorhttpdaRedHatEnterpriseLinuxbaseadonoApache. Oferecealtaperformance,excelenteseguranaeumvastoconjunto depluginsopcionais. OcontainerApacheTomcatservlet,includonoRedHatEnterprise Linux, referncia em implementao, pois atribui poder aos aplicativoswebdelargaescalaemissocrtica. Escolha dentre os bancos de dados open source MySQL e PostgreSQLincludosnoRedHatEnterpriseLinuxouumprodutode terceirosobtidodevendedorascomoIngres,SybaseeOracle.

Servidordeaplicativos

Servidordobancodedados

Servidor de infraestrutura deORedHatEnterpriseLinuxofereceumcomplementointegral de aplicativosdeserviosderede,incluindoDHCP,DNS,firewall,etc. rede 3

OLinuxKernel:
ControlarosdispositivosdehardwareafuncionalidadeprimriadoKerneldeumsistemaoperacional, isto ,oKernelnamaioriadasvezesfaladiretamentecomohardware.ChamadasparaCPU,Memria RAM,DispositivosemslotsPCIsorealizadasdiretamentepeloKernel.Geralmenteaidentificaoe configuraodessescomponentesetambmdosBridgesdaplacamesorealizadosautomaticamente peloKernel.

MdulosDinmicosCarregveis:
Parasuportaragrandevariedadedeperifricosexistenteshoje,oKernelutilizaosuporteamdulos dinmicos.ParaacessarcadaperifricoemparticularoKernelprecisadeumdriver,ouseja,umblocode cdigodebaixonvelquecontmasins truesparafalarcomesteperifricoemquesto. Os mdulos podem ser compilados estaticamente junto ao Kernel, aumentando o tamanho dele consideravelmente,oucomomdulosdinmicoscarregveis,isto ,quando necessrioutilizartal perifricooKernelcarregaestemduloesuasdependncias,eapsousodesteperifricodescarregao mduloassimotimizandoosrecursosdosistema. FoiatribuidoaoKernelaresponsabilidadedecontrolaroutrasimportantesimplementaesnoLinux, comooNetfilter,queresponsvelpeloFirewall dosistema.

DispositivoseProcessos:
OsdispositivosnoLinuxsorepresentadoslogicamentecomoarquivos,algumasabstraesdevemser consideradas,asinterfacesderedesoumexemplodeabstraonoLinux. Ogerenciamentodosdispositivosatualmente realizadodinamicamentepeloUDEV,ele responsvel porpopularodiretrio/devcomosdispositivospresentesnosistema. OsaplicativosdosusuriosfalamcomoKerneldoLinuxatravsdealgumasfunesprdefinidasda LIBC, essas funes so chamadas de system calls. Um exemplo, a aplicao do user space OpenOfficequandovaigravarumdocumentonoseimportacomosblocosousetoresdodiscorgido,a aplicaofazumasystemcallondeoKernelrealizaestaoperao. Aintercomunicaoentreosprocessosocorrepormeiodossignals,mensagemprdefinidasso enviadasaosprocessosquandoalgumeventoocorre.Paraterminarumprocessoexisteumsignal especificoparaestafunoporexemplo.

ArquivosdeDispositivos:
ComoobservamosoUDEVresponsvelporpopularodiretrio/devcomosdispositivospresentesem nossosistema.NoLinuxosdispositivossoacessadosdiretamentepelosseusarquivoscorrespondentes geralmentenestediretrio.Podemosenviardadosparasadadaimpressorafacilmentedestaforma: cat/etc/passwd>/dev/lp0

Dispositivosdecaractere:
Os"dispositivosdecaractere"ou"arquivosespeciaisdecaractere"sousadoscomocorrespondentesde dispositivos cujos dados so transmitidos na forma de um caractere por vez. Estes dispositivo so frequentementeutilizadosnacomunicaoserialparamquinasdeteletipo,terminaisvirtuaisemodens seriais. Namaioriadasimplementaes,osdispositivosdecaractereutilizamrotinasdeI/Onobuferizadas", isto,cadacaracterelidoeescritonodispositivoimediatamente.

Dispositivosdebloco:
"Dispositivos de bloco" ou "arquivos especiais de bloco" so utilizados como correspondentes de dispositivosnosquaisosdadossotransmitidosnaformadeblocos.Osdispositivosdeblocosmais comunssodiscosrgidosedrivesdeCDROM. Amaiordiferenaentreosdispositivosdeblocoedecaractereest nofatodosdispositivosdebloco utilizaremrotinasdeI/O"bufferizadas".Osistemaoperacionalalocaumbufferparamanipularumnico blocoparacadaentradaesaida.Quandoumprogramaenviaumarequisiodeleitura,ouescrita,para umdispositivo,cadacaracterededadoarmazenadono bufferapropriado.Quandoobufferficacheioe umblococompletoobtido,aoperaodeI/Orealizadaeobufferesvaziado.

Pseudodispositivos:
OsnsdedispositivonossistemasoperacionaisdotipoUnix,nonecessariamentetemumdispositivo fsicocorrespondente.Osnsquenotmestacorrespondnciasochamadosde"pseudodispositivos". Elessoutilizadosemvriasfunesesogerenciadospelosistemaoperacional.Ospseudodispositivos maiscomunsso:

/dev/null Aceitaedescartatodaentrada.Noproduzsada. /dev/random Produzumfluxodetamanhovarivelcontendocaracter espseudoaleatrios. /dev/zero Produzumfluxocontnuodenulls(zeros).

OutrostiposdeArquivos:
OutrostiposdearquivostambmpodemserobservadosnoLinux,existemosarquivostiposocketque efetuamaintercomunicaoentreprocessosearquivostipo pipe queefetuamfluxosdedadosentre processos.Raramenteumadministradorprecisarcriararquivosdestestiposmanualmente.

Criandodispositivos:
Ocomando mknod utilizadoparacriardispositivos,pormcriardispositivos umaprticapouco utilizadaesaconselhvelemcasosmuitoespecficos.Vejaadocumentaodasmanpagesdomknod paraajudarnacriaodearquivosdedispositivos.

Identificandoelistandoosdispositivos:
Observealistagemdocomandolslaabaixo: brwrw1rootdisk22,0Apr2421:04hdc crw1rootroot14,1Apr2421:04sequencer OdispositivohdcaparececomoumdispositivodeBloco(Acessorandomico),jodispositivosequencer aparececomodispositivodeCaracteres(AcessoSequencialouCorrentedeDados).Temostambmo majoreminornumberqueporsuavezsignificamodriveraserutilizadoparaessedispositivoeum parmetroaserutilizadonestedriveremparticular. Nadocumentaodokernelestabelecidoumaajudaderefernciaparaessesnmerosmuitotil, vejaem:/usr/share/doc/MAKEDEV*/devices.txt.

PCIBus:
Atualmenteamaioriadosperifricosnaarquiteturax86soPCI.DispositivosPCIsogeralmentePlug andPlay,vocpoderfazerumaprocuraouscannosslotsPCIdesuamquinacomocomandolspci, utilize lspciv paraumasadamaisdetalhada.Perifricoscomoplacasdesomemodensgeralmente estoatachadosaosslotsPCIdesuamquina.

SuporteHotplug:
DispositivoshotpluggeralmenteestoatachadosaoUSBBus,IEEE1394(FireWire)ouPCMCIA Bus.OcomandolsusbvlistaosdispositivosUSBeosperifricosatachadosaelesetambmmostra diversasinformaesimportantes. AssimcomoosdispositivosUSB,osdispositivosPCMCIAtambmsoimplementadospormdulosdo Kernel. A configurao da controladora PCMCIA pode ser definida em /etc/sysconfig/pcmcia. Os eventoshotswapsomonitoradospelodaemon /sbin/cardmgr. Cartespodemseridentificados pelo comando /sbin/cardctl.Odiretrio /etc/pcmcia contmosarquivos deconfiguraoparamapear os dispositivos PCMCIAe os mdulos do Kernelutilizados.ParainicializarosdispositivosPCMCIA, utilize:servicepcmciastart. 7

InstalandooRedHatEnterpriseLinux:
AinstalaodoRedHatEnterpriseLinuxdivididaemdoisestgios:

PrimeiroEstgio:
Oprimeiroestgiobasicamenteresponsvelpelobooteaescolhadotipodemdiaondeencontramse ospacotesdoRHEL.Noprimeiroestgiotambmpossvelescolhersevocdesejaefetuarainstalao nomodogrfico(InstalaoPadro)ounomodotexto(linuxtext). configuradoaindanoprimeiro estgiooidiomaelayoutdeteclado. Paraforaraescolhademdiause:linuxaskmethod,estodisponveisinstalaesvia: LocalCDROM Hardrive NFS FTP HTTP Paraforaraverificaodemdiause: linuxmediacheck, sempreaconselhvelverificarsetodasas mdiasestoperfeitasantesdeprocederainstalao,porexemplo,sealgumCDapresentarproblemaem qualquermomentodainstalao,todooprocessoestarcomprometidoresultandonumainstalaono confivel. Existemtambmoutrasopesquepodemseracessadasapartirdoprimeiroestgio,paravisualizaro menucomtodasasopestecleF2. VocencontradentrodoCD1doRHELnodiretrio/imagesosarquivos: boot.iso,estearquivo umaimagemdoCDdebootdoRHEL. tilquandovocdesejaefetuaruma instalao,porexemploviaFTPeapenasdesejaqueosistemasejabootadopeloCDROM.Paracriaro CDapartirdestaimagemISO,utilizeoseuaplicativopreferidoparaqueimarCDs. diskboot.img, este arquivo uma imagem de um sistema de arquivosVFAT. destinado para ser utilizadoemumUSBpendriveporexemplo,ouqualqueroutramdiamaiorqueumdisquete.Observe quesuaBIOSdevetersuporteparabootviadispositivosUSB.Estaimagemdeveserescritacomodd. TambmpossvelrealizarobootviaambientePXE,paraistoprocureosarquivosdedocumentao. 8

SegundoEstgio:
Osegundoestgioumavezlocalizadoecarregadopeloprimeiroestgioirinicializaroanacondaque detectarsuaconfiguraodevdeoecontinuarainstalaoemmodogrfico,oumodotexto(Menus). Nosegundoestgiovriasopesprimriasdeconfiguraoserodefinidaspelousurio,soelas: AtivaodosinstallationNumbers ParticionamentodeDisco ConfiguraodeRede ConfiguraodeTimeZone ConfiguraodopassworddousurioRoot SeleoouCustomizaodePacotesouGruposdePacotesparaaInstalao

DuranteaInstalao:
Duranteainstalaopossvelacessarosconsolesvirtuaisparacertificarsequetudoestacorrendobem, abaixoencontramseasteclasdeatalhoeasdescriesparaosconsolesvirtuais: SevocestiverinstalandoemmodogrficovocprecisapressionarasteclasCtrleAltaomesmotempo. AltF1Oprogramadeinstalaoemmodotexto. AltF2UmshellBash(Somenteparaosegundoestgio). AltF3MensagensdeLogdoprogramainstalador. AltF4MensagensdeLogsdoKernel. AltF5Saidadomke2fs(Programaqueformataasparties)edogrub(Bootloader). AltF7Oprogramadeinstalaoemmodogrfico. Depoisdecompletartodooprocessodeinstalaoimportantetambmconferiroslogsdosistemapara detectarpossveisfalharoudetalhesdeconfiguraesquesvezesnosocomunicadaspeloprograma deinstalao.Apsoprimeirobootdeseunovosistema,verifiqueosarquivosdo/var/log.Osprincipais arquivosdelogsso: /var/log/dmesg(Mensagensdobufferdokernel) /var/log/messages(Saidadosyslogd) /root/install.log(Informaesdelogdoprogramainstalador,muitoimportante!)

Nota: Observe cuidadosamente o primeiro boot de seu novo sistema. Qualquer mensagem de erro deve ser cuidadosamenteinvestigadanoslogs.Verifiquetambmaversooficialinstaladaexecutandoocomando: cat/etc/redhatrelease

Firstboot,ConfiguraesBsicasApsaInstalao:
ORHELexecutaumprogramachamadofirstbootapsainstalaocasoseusistemaestiverconfigurado emrunlevel5(InterfaceGrfica).Ofirstbootofereceumasriedeconfiguraesbsicasiniciaisparao seusistema,soelas: Firewall SELinux Kdump(KernelCrashLogger) DataeHora(NTPD). RegistroeAtualizaodePacotes(RHN). CriacontasadicionaisdeUsurios. ConfiguraodaplacadeSom. InstalaSoftware/PacotesAdicionaisdeoutrosCDs(EXTRAS). Pararodarofirstbootnovamentevocprecisaconfigurarocontedodoarquivo/etc/sysconfig/firstboot paraRUN_FIRSTBOOT=YES.Nainterfacegrficaabraumterminaleexecuteocomandofirstboot.

ConfiguraesGeraisdoSistema:
Muitas ferramentasdeconfiguraodaRedHatestodisponveisparaconfigurardiversos itensno RHEL, as ferramentas comeam seu nome com systemconfig*. Decubra todas as ferramentas disponveisdigitandosystemconfigeateclaTABduasvezesemumterminal. Odiretrio/etc/sysconfigconcentradiversosarquivosdeconfiguraesprimriosnoRHEL. Verifique o arquivo de ajuda localizado em: /usr/share/doc/initscripts*/sysconfig.txt. Este arquivo muito til, nele existem todas as TAGs (Opes) de configurao detalhadas dos arquivos do /etc/sysconfig. 10

Particionamento:
Os discos so divididos em parties lgicas, os principais benefcios do particionamento so a independnciadesistemadearquivosesistemasoperacionaisentreaspartiesetambmofatodeque seumapartioficarcheiaistonoafetarasdemaispartiesexistentes. O sistema de particionamento mais comum onde as quatro primeiras parties so chamadas de primrias,sehouvernecessidadedecriarmaispartiesumadaspartiesprimriasirserconvertida empartioestendida,oquepossibilitaracriaodemaispartieslgicas. OprimeirosetordecadadiscochamadodeMBRouMasterBootRecord,suaestruturaaseguinte: 446BytessoparaoBootstrap 64Bytessoparaasentrasdas4partiesprimarias(4x16) 2Bytessoparaaassinatura Nmeromximoparaparties: ParadiscosIDEolimitede63parties. ParadiscosSCSIolimitede15parties. TcnicasavanadasdeparticionamentocomoRAIDouLVMtambmestodisponveis,diversosnveis deconfiguraespodemseralcanadasdeacordocomoseuobjetivoequantidadedediscos.

ParticionamentodosSistemasdeArquivosduranteaInstalao:
Algumasconsideraesimportantesdevemserlevadasemcontanaseodeparticionamentodurantea instalao,soelas: Otamanhodapartiodeswapgeralmente2vezesotamanhodesuamemriafsica(RAM). aconselhvelacriaodeumapartio/bootcomnomnimo100MBparaacomodarnovoskernels. /var ondeosistemaconcentraosarquivosquemudamfreqentemente,comoarquivosdeLOGse tambmfilasdeMail.aconselhvelnomnimo4GBdeespao. /usr onde seroinstaladososprogramaseaplicativosseutamanho varivelpelaquantidade de pacotesquevocdeterminoudurantea instalao. /etc/lib/bin/sbin/devnodevemestarempartiesdiferentes,elasdevemserpartedodiretrio(raiz/), poisnessaspartiesencontramsearquivosindispensveisparaobootdosistema. /tmpondeseroarmazenadosarquivostemporriosdosistema. 11

SoftwareRAID,HardwareRAID,NveisdeRAID:
RAIDacrnimoparaRedundantArrayofInexpensiveDisks.Estearranjousadocomoummeiopara criarumsubsistemadeunidadededisco,rpidoeconfivel,atravsdevriosdiscosindividuais. Apesar do RAID ter sido feito para melhorar a confiabilidade do sistema, atravs da adio de redundncia, pode tambm levar a uma falsa sensao de segurana e confiana quando usado incorretamente.Estafalsaconfianapodeacarretaremgrandesdesastres.Particularmente,oRAID feitoparaprotegerfalhasnodisco,noparaprotegerfalhasdeenergiaouerrosdooperador. Falhasdeenergia, bugs nodesenvolvimentodokernelouerrosdeadministradoresedeoperadores podemdanificarosdadosdeumaformairrecupervel.RAIDno umsubstitutoapropriadopara executarumbackupdoseusistema.Saibaoquevoc est fazendo,faatestes,sejaconhecedore cientedetodososdetalhesqueenvolvemaimplementaodeRAID. RAIDpermitequeocomputadorganhedesempenhonasoperaesdeacessoadisco,edamesmaforma, rpidarecuperaoemcasodeperdadealgumdisco.Otipomaiscomumdearranjodeunidades um sistemaouumacontroladoraquepossibilitaousodemltiplasunidadesdediscorgido,configuradas paraqueosistemaoperacionalsecomportecomoseexistisseapenasumdiscoinstaladonocomputador.

RAIDViaHardwareeViaSoftware:
RAID pode ser implementado por hardware, na forma de controladoras especiaisde disco, ou por software,comoummdulodokernelqueficadivididoentreacontroladoradediscodebaixonveleo sistemadearquivosacimadele.

RAIDViaHardware:
RAIDporhardwaresempreumacontroladoradedisco,isto,umdispositivoquepodeatravsdeum caboconectarosdiscos.Geralmenteelevemnaformadeumaplacaadaptadoraquepodeser"plugada" emumslotISA/EISA/PCI/SBus/MicroChannel.Entretanto,algumascontroladorasRAIDvmnaforma deumacaixaqueconectadaatravsdeumcaboentreosistemacontroladordediscoeosdispositivos dedisco. RAIDspequenospodemserajustadosnosespaosparadiscodoprpriocomputador;outrosmaiores podemsercolocadosemumgabinetedearmazenamentocomseuprprioespaoparadiscoesuprimento deenergia.OhardwaremaisrecentedeRAIDusadocomamaisrecenteerpidaCPUirgeralmente fornecer o melhor desempenho total, porm com um preo significante. Isto porque a maioria das controladorasRAIDvemcomprocessadoresespecializadosnaplacaememriacache,quepodeeliminar uma quantidade de processamento considervel da CPU. As controladoras RAID tambm podem forneceraltastaxasdetransfernciaatravsdocachedacontroladora. 12

RAIDporhardwaregeralmenteno compatvelentrediferentestipos,fabricantesemodelos:seuma controladoraRAIDfalhar,melhorqueelasejatrocadaporoutracontroladoradomesmotipo.Parauma controladora deRAIDviahardwarepoderserusadanoLinuxelaprecisacontarcomutilitriosde configurao e gerenciamento, feitos para este sistema operacional e fornecidos pelo fabricante da controladora.

TiposdeHardware:
Tendovriasopesdecontroladoras,necessriopensarcuidadosamentesobreoquevocquerfazer. DependendodoquequerfazeredonveldeRAIDqueir usar,algumascontroladoraspodemser melhoresqueoutras. Otipoencapsuladoligadodiretamentehabilidadedetroca"quente"[5]daunidadeeaossistemasde advertncia,ouseja,exibeindicaodefalhasdaunidadeequetipodetratamentosuaunidadereceber. Umexemploparaistopodeserrefrigeraoredundanteefornecimentodeenergia.Osencapsulamentos fornecidospelaDPT,HP,IBMeCompaqtrabalhamextremamentebem,mastmumcustoalto tambm.

RAIDViaSoftware:
RAID via software uma configurao de mdulos do kernel, juntamente com utilitrios de administrao que implementam RAID puramente por software, e no requer um hardware especializado.Podeserutilizadoosistemadearquivosext2,ext3,DOSFATououtro. EstetipodeRAID implementadoatravsdosmdulosMDdokerneldoLinuxedasferramentas relacionadas. RAIDporsoftware,portersuanaturezanosoftware,tendeasermuitomaisflexvelqueumasoluo porhardware.OladonegativoqueeleemgeralrequermaisciclosecapacidadedeCPUparafuncionar bem,quandocomparadoaumsistemadehardware.Eleofereceumaimportanteedistintacaracterstica: operasobrequalquerdispositivodeblocopodendoserumdiscointeiro(porexemplo,/dev/sda),uma partio qualquer (por exemplo, /dev/hdb1), um dispositivo de loopback (por exemplo, /dev/loop0)ouqualqueroutrodispositivodeblococompatvel,paracriarum nicodispositivo RAID.IssodivergedamaioriadassoluesdeRAIDviahardware,ondecadagrupojuntaunidadesde discointeirasemumarranjo. Comparandoasduassolues,oRAIDviahardware transparenteparaosistemaoperacional,eisto tendeasimplificarogerenciamento.Viasoftware,hdelongemaisopeseescolhasdeconfiguraes, fazendocomqueoassuntosetornemaiscomplexo. 13

OControladordeMltiplosDispositivos(MD):
OcontroladorMD usadoparaagruparumacoleodedispositivosdebloco,emum nicoegrande dispositivodebloco.Normalmente,umconjuntodedispositivosSCSIeIDEsoconfiguradosemum nicodispositivoMD. As extenses do controlador MD implementam modo linear, RAID0 (stripping), RAID1 (espelhamento), RAID4 e RAID5 por software. Isto quer dizer que, com MD, no necessrio hardwareespecialoucontroladoras dediscoparaobteramaioriadosbenefciosdeRAID. Ateno AadministraodeRAIDnoLinuxno umatarefatrivial,e maisvoltadaparaadministradoresde sistemaexperientes.Ateoriadaoperaocomplexa.Asferramentasdosistemaexigemmodificaes nosscriptsdeinicializao.Erecuperarsedeumafalhanodisconoumatarefasimples,passvelde erros humanos. RAID no para iniciantes, e qualquer benefcio em busca de confiabilidade e desempenhopodeserfacilmenteacrescidodecomplexidadeextra. Certamente,unidadesdediscoevoludassomuitoconfiveis,econtroladoraseCPUsavanadasso muitopotentes.Vocpodeobtermaisfacilmenteosnveisdeconfiabilidadeedesempenhodesejados, comprandohardwaredealtaqualidadeepotncia. OskernelsdoLinuxdasrie2.4.xincluemosuporteaRAIDporsoftwareporpadro.Omesmonvel desuporteaRAIDpodeserobtidonoskernelsdasrie2.2aplicandosecorreesoupatches(vejano FTPdokernel).Oskernelsdasrie2.4.xsuportamRAIDviasoftwarecomsistemadearquivos journalled(porexemplo,ext3),diferentedokernel2.2.x,quenopossuaestesuporte.

NveisdeRAID:
Asdiferentesmaneirasdecombinarosdiscosemums,chamadosdenveisdeRAID,podemfornecer tantograndeeficinciadearmazenamentocomosimplesespelhamento,oupodemalterarodesempenho delatncia(tempodeacesso).Podemtambmfornecerdesempenhodataxadetransfernciadedados paraleituraeparaescrita,enquantocontinuammantendoaredundncia.Novamente,isto idealpara prevenirfalhas. Os diferentes nveis de RAID apresentam diferentes desempenho, redundncia, capacidade de armazenamento,confiabilidadeecaractersticasdecusto.Amaioria,masnemtodososnveisdeRAID, ofereceredundncia falhadedisco.Dosqueoferecemredundncia,RAID1eRAID5soosmais populares.RAID1oferecemelhordesempenho,enquantoqueRAID5forneceumusomaiseficientedo espaodisponvelparaoarmazenamentodosdados.

14

Dequalquermodo,oajustededesempenhoumassuntobastantediferente,dependentedeumagrande variedadedefatores,comootipodaaplicao,ostamanhosdosdiscos,blocosearquivos. ExisteumavariedadedetiposdiferenteseimplementaesdeRAID,cadaumacomsuasvantagense desvantagens. Por exemplo, para colocar uma cpia dos mesmos dados em dois discos (operao chamadadeespelhamentodediscoouRAIDnvel1),podeseacrescentardesempenhodeleitura,lendo alternadamentecadadiscodoespelho.Emmdia,cadadisco menosusado,porestarsendousadoem apenasmetadedaleitura(paradoisdiscos),ouumtero(para3discos),etc.Almdisso,umespelho podemelhoraraconfiabilidade:seumdiscofalhar,o(s)outro(s)disco(s)tmumacpiadosdados. AseguirserodescritososdiferentesnveisdeRAID,nocontextodeimplementaodeRAIDpor softwarenoLinux.

RAIDlinear:
umasimplesconcatenaodepartiesparacriarumagrandepartiovirtual.Istopossvelsevoc temvriasunidadespequenas,equercriaruma nicaegrandepartio.Estaconcatenaonooferece redundncia, e de fato diminui a confiabilidade total: sequalquer um dos discos falhar, a partio combinadairfalhar.

RAID0:
AgrandemaioriadosnveisdeRAIDenvolveumatcnicadearmazenamentochamadadesegmentao dedados(datastripping).Aimplementaomaisbsicadessatcnica conhecidacomoRAID0e suportadapormuitosfabricantes.Contudo,pelofatodeestenveldearranjonosertoleranteafalhas, RAID0no verdadeiramenteRAID,aomenosquesejausadoemconjunocomoutrosnveisde RAID.

15

Figura91.RAID0 Segmentao(stripping) ummtododemapeamentodedadossobreomeiofsicodeumarranjo,que serveparacriarumgrandedispositivodearmazenamento.Osdadossosubdivididosemsegmentos consecutivosoustripesquesoescritosseqencialmenteatravsdecadaumdosdiscosdeumarranjo. Cadasegmentotemumtamanhodefinidoemblocos. Porexemplo,sabendoqueotamanhodecadasegmentoestdefinidoem64kbytes,eoarranjodediscos contm2discos,quandoumarquivode128kbytesforgravado,osprimeiros64kbytesserogravados noprimeirodisco,sendoqueosltimos64kbytesiroparaosegundodisco,enormalmenteissofeito emparalelo,aumentandoconsideravelmenteodesempenho. Umarranjodessetipopodeoferecerummelhordesempenho,quandocomparadaaumdiscoindividual, seotamanhodecadasegmentoforajustadodeacordocomaaplicaoqueutilizaroarranjo:

EmumambientecomusointensivodeE/Souemumambientedebancodedadosondemltiplas requisiesconcorrentessofeitasparapequenosregistrosdedados,umsegmentodetamanho grandepreferencial.Seotamanhodesegmentoparaumdiscograndeosuficienteparaconter umregistrointeiro,osdiscosdoarranjopodemresponderindependentementeparaasrequisies simultneasdedados. Em um ambiente onde grandes registros de dados so armazenados, segmentos de pequeno tamanhosomaisapropriados.Seumdeterminadoregistrodedadosestendeseatravsdevrios discosdoarranjo,ocontedodoregistropodeserlidoemparalelo,aumentandoodesempenho totaldosistema.

16

Figura92.Stripping ArranjosRAID0podemofereceraltodesempenhodeescrita,secomparadosaverdadeirosnveisde RAID,pornoapresentaremcargaadicionalassociadacomclculosdeparidadeoucomtcnicasde recuperaodedados.Estamesmafaltadeprevisoparareconstruodedadosperdidosindicaqueesse arranjodeveserrestritoaoarmazenamentodedadosnocrticosecombinadocomeficientesprogramas debackup.

RAID1:
Aformamaissimplesdearranjotoleranteafalhas oRAID1.Baseadonoconceitodeespelhamento (mirroring),estearranjoconsistedevriosgruposdedadosarmazenadosemdoisoumaisdispositivos. ApesardemuitasimplementaesdeRAID1envolveremdoisgruposdedados(daotermoespelhoou mirror),trsoumaisgrupospodemsercriadosseaaltaconfiabilidadefordesejada. Se ocorre uma falha em um disco de um arranjo RAID1, leituras e gravaes subseqentes so direcionadasparao(s)disco(s)aindaemoperao.Osdadosentosoreconstrudosemumdiscode reposio (spare disk) usando dados do(s) disco(s) sobrevivente(s). O processo de reconstruo do espelhotemalgumimpactosobreodesempenhodeE/Sdoarranjo,poistodososdadosterodeserlidos ecopiadosdo(s)disco(s)intacto(s)paraodiscodereposio.

17

Figura93.RAID1 RAID1 oferece alta disponibilidade de dados, porque no mnimo dois grupos completos so armazenados.Conectandoosdiscosprimrioseosdiscosespelhadosemcontroladorasseparadas,pode seaumentaratolernciaafalhaspelaeliminaodacontroladoracomopontonicodefalha. Entreosnohbridos,estenveltemomaiorcustodearmazenamentoporrequerercapacidadesuficiente paraarmazenarnomnimodoisgruposdedados.Estenvelmelhoradaptadoparaservirpequenasbase dedadosousistemasdepequenaescalaquenecessitemconfiabilidade.

RAID2eRAID3:
Raramentesousados,etornaramseobsoletospelasnovastecnologiasdedisco.RAID2 similarao RAID4,masarmazenainformaoECC(errorcorrectingcode),que ainformaodecontrolede erros,nolugardaparidade.Estefatopossibilitouumapequenaproteoadicional,vistoquetodasas unidadesdediscomaisnovasincorporaramECCinternamente.

18

Figura94.RAID2 RAID2 pode oferecermaior consistncia dos dados se houver quedadeenergia durante a escrita. Bateriasdeseguranaeumdesligamentocorreto,porm,podemoferecerosmesmosbenefcios.RAID3 similaraoRAID4,excetopelofatodequeeleusaomenortamanhopossvelparaa stripe.Como resultado,qualquerpedidodeleiturainvocartodososdiscos,tornandoasrequisiesdesobreposio deE/Sdifceisouimpossveis. Afimdeevitaroatrasoemrazodalatnciarotacional,oRAID3exigequetodososeixosdasunidades dediscoestejamsincronizados.Amaioriadasunidadesdediscomaisrecentesnopossuemahabilidade de sincronizao do eixo, ou se so capazes disto, faltam os conectores necessrios, cabos e documentaodofabricante.NemRAID2enemRAID3sosuportadospelosdriversdeRAIDpor softwarenoLinux.

19

Figura95.RAID3

RAID4:
Esteumtipodearranjosegmentado,masincorporaummtododeproteodedadosmaisprtico.Ele usainformaessobreparidadeparaarecuperaodedadoseasarmazenaemdiscodedicado.Osdiscos restantes, usados para dados, so configurados para usarem grandes (tamanho medido em blocos) segmentosdedados,suficientementegrandesparaacomodarumregistrointeiro.Istopermiteleituras independentesdainformaoarmazenada,fazendodeRAID4umarranjoperfeitamenteajustadopara ambientestransacionaisquerequeremmuitasleituraspequenasesimultneas. ArranjosRAID4eoutrosarranjosqueutilizamparidadefazemusodeumprocessoderecuperaode dadosmaisdinmicoquearranjosespelhados,comoRAID1.Afunoouexclusivo(XOR)dosdadose informaessobreparidadedosdiscosrestantes computadaparareconstruirosdadosdodiscoque falhou.Pelofatodequetodososdadossobreparidadesoescritosemum nicodisco,essedisco funciona como um gargalodurante as operaesde escrita, reduzindo o desempenho durante estas operaes.

20

Figura96.RAID4 Semprequeosdadossoescritosnoarranjo,informaessobreparidadenormalmentesolidasdodisco deparidadeeumanovainformaosobreparidadedevesempreserescritaparaodiscodeparidadeantes daprximarequisiodeescritaserrealizada.PorcausadessasduasoperaesdeE/S,odiscode paridade ofatorlimitantedodesempenhototaldoarranjo.Pelofatododiscodeparidaderequerer somenteumdiscoadicionalparaproteodedados,arranjosRAID4somaisbaratosquearranjos RAID1.

RAID5:
Este tipo de RAID largamente usado funciona similarmente ao RAID 4, mas supera alguns dos problemasmaiscomunssofridosporessetipo.Asinformaessobreparidadeparaosdadosdoarranjo sodistribudasaolongodetodososdiscosdoarranjo,emvezdeseremarmazenadasemumdisco dedicado. Essaidiadeparidadedistribudareduzogargalodeescrita(writebottleneck),queeraonicodiscode umRAID4,porqueagoraasescritasconcorrentesnemsemprerequeremacesso sinformaessobre paridade em umdiscodedicado.Contudo,odesempenhodeescritageralaindasofreporcausa do processamentoadicionalcausadopelaleitura,reclculoeatualizaodainformaosobreparidade.

21

Figura97.RAID5 ParaaumentarodesempenhodeleituradeumarranjoRAID5,otamanhodecadasegmentoemqueos dadossodivididospodeserotimizadoparaaaplicaoqueestiverusandooarranjo.Odesempenho geraldeumarranjoRAID5equivalenteaodeumRAID4,excetonocasodeleiturasseqenciais,que reduzemaeficinciadosalgoritmosdeleituraporcausadadistribuiodasinformaessobreparidade. Comoemoutrosarranjosbaseadosemparidade,arecuperaodedadosemumarranjoRAID5 feita calculandoafunoXORdasinformaesdosdiscosrestantesdoarranjo.Pelofatodeainformao sobre paridade ser distribuda ao longo de todos os discos, a perda de qualquer disco reduz a disponibilidadedeambososdadosedainformaosobreparidade,at arecuperaododiscoque falhou.Istopodecausardegradaododesempenhodeleituraedeescrita.

TiposHbridos:
ParasuprirasdeficinciasdeumnvelououtrodeRAIDpossvelusarumnveldeRAIDsobreoutro, aproveitandoporexemplo,oexcelentedesempenhodeumdeterminadonveleaconfiabilidadedeoutro. Issotudo,claro,pagandoopreodeumamaiorquantidadedematerial. Umexemplo oRAID10.Comooseunomeimplica, acombinaodediscosespelhados(RAID1) comasegmentaodedados(datastripping)(RAID0).

22

OmtododecriaodeumarranjoRAID10 diversificado.EmumaimplementaoRAID0+1,os dados so segmentados atravs de grupos de discos espelhados, isto , os dados so primeiro segmentadoseparacadasegmentofeitoumespelho.JemumRAID1+0osdadossoprimeiramente espelhados,eparacadaespelhohasegmentaosobrevriosdiscos. RAID10 oferece as vantagens da transferncia de dados rpida de um arranjo espelhado, e as caractersticas de acessibilidade dos arranjos espelhados. O desempenho do sistema durante a reconstruodeumdisco tambmmelhorquenosarranjosbaseadosemparidade,poisosdadosso somentecopiadosdodispositivosobrevivente. ORAID50 umarranjohbridoqueusaastcnicasdeRAIDcomparidadeemconjunocoma segmentao de dados. Um arranjo RAID50 essencialmente um arranjo com as informaes segmentadasatravsdedoisoumaisarranjosRAID5. Dependendodotamanhodecadasegmentoestabelecidoduranteaconfiguraodoarranjo,estesarranjos hbridospodemoferecerosbenefciosdeacessoparalelodosarranjoscomparidade(altavelocidadena transfernciadedados)oudeacessoindependentedosarranjoscomparidade(grandequantidade).Como em outros arranjos RAID com paridade, a reconstruo de um disco falho gera um impacto no desempenhodoprogramausandooarranjo.

TabeladeComparaodosNveisdeRAID:
PodesefazerumacomparaoentreosvriosnveisdeRAID,deacordocomdesempenho(leitura, gravaoereconstruo),disponibilidadededadoseonmeromnimodeunidadesrequeridas.Observe natabelaadescriodestesatributosparacomparaodosnveisdeRAID.Seguindoasreferncias: A=DisponibilidadedosDados B=DesempenhodeLeitura C=DesempenhodeGravao D=DesempenhodeReconstruo E=NmeroMnimodeUnidadesRequeridas

23

Tabela91.AtributosdeComparaodosVriosNveisdeRAID Nvel deA RAID RAID0 B C D E

Nenhuma Muitobom

Muitobom

No disponvel Bom

RAID1 RAID4

Excelente Muitobom Boa

Bom

2N

E/Sseqencial:BoaE/SE/S seqencial: Muito boaSatisfatria N + 1 (N transacional:Boa E/Stransacional:Ruim pelo menos 2) E/Sseqencial:BoaE/SSatisfatria(amenosqueoRuim transacional:Muitoboa cache writeback seja usado) Satisfatria Satisfatria Boa N + 1 (N pelo menos 2) 2N

RAID5

Boa

RAID10 Excelente Muitoboa RAID50 Excelente Muitoboa

Satisfatria N+2

Nota: OnmeroN orequerimentodeespaoparaarmazenamentodedadosdonvelde RAID.Exemplo:seorequisitomnimoter6GBdeespaoparaumarranjoRAID5,ento deveseteraomenos2discosde3GBcadaemaisumdiscode3GB,sendo6GB(dois discos)+3GB(1disco).

24

LVM,GerenciadordeVolumesLgicos:
OGerenciadordeVolumesLgicos(LVM)umsubsistemaparagerenciamentoativodearmazenagem emdiscoquesetransformouemumpadroparagerenciamentodearmazenagememsistemasUNIX. OGerenciadordeVolumesLgicosconsisteemumacamadaadicionalentreosdispositivosfsicosea interfacedeE/Snokernelparafornecerumavisolgicanoarmazenamento.Aocontrriodosesquemas departicionamentoatuaisondediscossodivididosempartiescontnuasdetamanhofixo,oLVM permiteaousurioconsiderardiscos,tambmconhecidoscomoVolumesFsicos(PV),comoumvolume dearmazenamentodedados,consistindodeextensesdetamanhosiguais. UmsistemadeLVMcompesedegruposarbitrriosdevolumesfsicos,organizadosemGruposde Volumes(VG).Umgrupodevolumepodeconsistirdeumoumaisvolumesfsicos.Podehavermaisde umgrupodevolumenosistema.Umavezcriado,ogrupodevolume,enoodisco,aunidadebsica dearmazenamentodedados(umdiscovirtualcompondosedeumoumaisdiscosfsicos). Aquantidadedeespaoemdisco,que representadaporumgrupodevolume,podeseralocadaem partiesvirtuais,chamadasdeVolumesLgicos(LV)devriostamanhos.Umvolumelgicopode conterumnmerodevolumesfsicosourepresentarapenasumaporodeumvolumefsico.Otamanho deumvolumelgico determinadopeloseunmerodeextenses.Umavezcriados,volumeslgicos podemserutilizadoscomopartiesdediscoregularesparacriarumsistemadearquivosouum dispositivodetroca.

ApresentaodoLVM:
Tradicionalmente,otamanhodeumapartiodefinidonainstalaodosistema.Oredimensionamento departiesestticaspodeserrealizadocomoaplicativoparted.Issorequerqueoadministradorfaaum planejamentoprviodaquantidademximadedadosqueapartiopoderviraarmazenarnofuturo. Quandoumusurioexcederoespaodeumapartio,eleterdereparticionar(oquepodeenvolveruma reinstalaocompletadosistema)ouseutilizardeartifcios,comoasligaessimblicas. Porexemplo,suponhaquevoc possuiumdiscode1GBecriaseumapartio /home utilizando 600MB.Imaginequevoc necessitademaisespaoedescobrequesernecessrio1GBno /home. Utilizandoaantiganoodeparties, necessrioteroutraunidadedepelomenos1GBdetamanho. Ento,podeseadicionarodisco,criaronovo/homeecopiarosdadosexistentesparaele. Entretanto,comumaconfiguraoLVM,necessrioapenasadicionarumdiscode400MB(oumaior)e adicionar esta unidade de armazenamento na partio /home. Outras ferramentas permitem o redimensionamentodeumsistemadearquivosjexistentesemanecessidadedesereformataromesmo.

25

Nota: Note que, como o LVM depende de mdulos do kernel, algumas parties simplesmentenopodemserusadascomLVM.O/eo/bootsoexemplosclarosdisso, poisosmdulosdokernelnecessriosparaamontagemdeumvolumevirtual(almdo prpriokernel)noestariamacessveis.

TerminologiadoLVM:
OLVMvemcomvriosjargesqueprecisamserentendidosparanohaverproblemascomossistemas dearquivos.NestaseoservistaestaterminologiautilizadapeloLVM. Vocdeveusarapalavrafsicacomumpoucodecuidado;dequalquerforma,inicialmenteelaservista como sendo um simples disco rgido, ou uma partio. Por exemplo, /dev/hda, /dev/hda2, /dev/sda.Podesetransformarqualquernmeroconsecutivodeblocosdeumdispositivodeblocos emumVolumeFsico. UmPVnonadamaisqueummeiofsicocomalgunsdadosadministrativosadicionadosaeleuma vezqueadicioneseestesdados,oLVMirreconhecloscomoproprietriosdasExtensesFsicas. ExtensesFsicassocomoblocosdeumsistemadearquivos(regiescontnuasdodisco)realmente grandes,muitasvezescomumtamanhonacasadosmegabytes.PEspodemseratribudasaumGrupode Volumes. UmVG compostoporumdeterminadonmerodeExtensesFsicas.DesteGrupodevolumes,PEs podemseratribudasaumVolumeLgico. UmVolumeLgicooresultadofinaldetodootrabalho,eaquiqueasinformaessoarmazenadas. Eleumdispositivodeblocofuncionalmenteequivalenteaumapartio.sobreoVolumeLgicoque sercriadoumsistemadearquivos. Osistema de arquivospodeserdevriostipos:oext3padro,oext2,etc.Paraousurio, no h diferenaentreumapartioregulareumVolumeLgico.

26

DesenhosIlustrativosdoLVM:
Observealgunsdiagramasabaixoquepermitemvisualizarestesconceitos.

Figura81.VolumeFsicocomExtensesFsicas

Figura82.GrupodeVolumescomDoisPVseSeisExtensesFsicas

27

Figura83.GrupodeVolumesexpandido

28

RegistrandooRHEL5naRHN,rhn_register:
NoRHEL5no maisdisponibilizadoocomandoup2date.Orhn_register aferramentaclienteque registraseusistemanaRedHatNetworkounoRedHatNetworkSatellite.Depoisderegistradoseu sistemapodereceberatualizaes,instalarnovossoftwaresesergerenciadoremotamenteatravsdaRed Hat Network.Invocadosemnenhumargumentoaferramenta rhn_register executadanoambiente grfico,paramodotextouse:rhn_registernox Casosuaconexocomainternetnosejadireta,sernecessrioconfiguraraferramentaparautilizao deproxydemodoqueositedaRHNsejaalcanado. Aps o sistema estar registrado criado um ID digital de seu sistema localizado em: /etc/sysconfig/rhn/systemid.EstaaidentidadeutilizadaparareconhecerseussistemasnaRHN. Oarquivo/etc/sysconfig/rhn/up2dateguardaasinformaesdasferramentasclientedaRHN.

YUM,YellowdogUpdaterModified:
YUMumsistemainterativodeatualizaoegerenciamentoparamantersistemasbaseadosemRPM.O YUM procura automaticamente em diversos repositrios configurados por pacotes RPM e suas dependnciasfacilitandoegerenciandoaatualizaoeinstalaodesoftwarenosistema. VejaabaixoosprincipaiscomandodoYUM:

Parainstalarumpacote:
yuminstallapache

Pararemoverumpacote:
yumremoveapache

Paraatualizarumpacote:
yumupdateapache

29

Paraprocurarumpacote:
yumsearchapache

Paraprocurarinformaosobreumpacote:
yuminfoapache

Listatodospacotesquecontmumtermo:
yumlistapache

Determinaquepacotecontmumarquivoemparticular:
yumwhatprovideshttpd.conf

YUMRHNPlugin:
TodaintegraodaRHNcomoYUM entregueatravsdorhnplugin.Oplugin responsvelpor configurartodososrepositriosnecessriosparaasatualizaeseinstalaesdesoftwarenoRedHat Enterprise 5. Adicionalmente podem ser efetuadas configuraes nos arquivos: /etc/yum/pluginconf.d/rhnplugin.conf,/etc/sysconfig/rhn/up2date.

InstalandonovosrepositriosnoYUM:
ParainstalarumnovorepositriodesoftwarenoYUM,crieumnovoarquivoem:/etc/yum.repos.d Porexemplo,parainstalaropidgin(Onovonomedeprojetodoantigogaininstantmessenger),crie umarquivodenome/etc/yum.repos.dcomoseguintecontedo: [pidgin]
name=PidginforRHEL/CentOS$releasever$basearch baseurl=http://rpm.pidgin.im/centos/$releasever/$basear ch/ enabled=1 gpgcheck=1 gpgkey=http://rpm.pidgin.im/RPMGPGKEYpidgin

30

OBS:Todas asconfiguraesdeumnovorepositriodevemserfornecidaspelossitesoficiais dos projetos. Importeachavegpgdorepositriocomocomandoabaixo: rpmimporthttp://rpm.pidgin.im/RPMGPGKEYpidgin Paradesabilitartemporariamenteesterepositrio,mudeaflagenabledcomoabaixo: enabled=1paraenabled=0 Pararemoveresterepositrio,apenasremovaoarquivo.

RegistrandooRHEL4naRHN,up2date:
Oup2datepermiteacomunicaodeseuservidorlocalcomaRedHatNetwork(RHN).Aferramenta up2dateestdisponveltantoparainterfacegrficaquantoparaoconsoleemmodotexto. Ocomportamentodoup2datepodeserconfigurado,massuaprincipalutilidade conectarseaRHNe verificarseexistealgumpacotedeatualizaoouerratarelevanteparaoseusistema,casoexistaeleir efetuarodownloaddospacotesedependnciasparaodiretrio /var/spool/up2date eposteriormente instalarospacotesautomaticamente. Atravsdoup2datevocpodecriarumnovacontanaRHNouefetuaroregistrodeseuservidoremuma contajexistente.Paraistoutilizeocomando:up2dateregister aconselhvelutilizaromodointerativodescritoacimaviainterfacegrfica.Sempreacompanheo statusdesuacontaviaWEBnositedaRHNantesdeprocedercomestecomando. TodatrocadeinformaoentreoservidoreaRHNsegurautilizandoprotocoloHTTPS. Vocserquestionadoporumusernameepasswordetambmumnomedesistema(systemname),este nomedesistemairidentificaresteperfildeservidorparasempre.Vocpodeapagarerecriaroperfil deseusservidoresquantasvezesfornecessrio.

31

Seroenviadasasinformaesdeseuservidorcomootipodehardwareutilizado(HardwareProfile), perfildesoftware(RPMInstalledList)eoseucanalinscrito(SubscribedChannel). Oup2datecriaumaassinaturadigitalparaidentificarseuservidornaRHN,estassinaturaficalocalizada em/etc/sysconfig/rhn/systemid.Seporalgummotivovocprecisarecriarsuaassinatura,apenasremova estearquivoerodeoup2datenovamente.


IMPORTANTE: AcompanhesempreostatusdesuacontaviaWEBnositedaRHN(https://rhn.redhat.com)paraverificarse seuscanaisdesubscriojnoestoexaustos,lembresequeparacadasubscrioadquiridavoctemdireito aatualizaodeapenas1servidor.OpolicydaRHNir permitirfazeroregistrodequantosservidoresvoc quiser,pormnoserpossvelefetuaratualizaescasoseuscanaisestejamexaustos. Certifiquese tambm da compatibilidade de seus canais, por exemplo, use: cat /etc/redhatrelease para determinarexatamentequalprodutovocteminstaladoeseessaversoestadeacordocomasinformaesno sitedaRHN.

AtualizandoeinstalandosoftwarenoRHEL4,up2date:
Oup2datepodeserchamadonomodointerativo(menus)ouembatchmode(linhadecomando),scripts podemchamaroup2datecasoistosejanecessrio.Vejaabaixoalgunsdosprincipaiscomandosemmodo batch:

u Fazaatualizaocompletadoservidordeacordocomaconfiguraopadro. l Listaospacotesdisponveisparaatualizao. showall Listatodosospacotesdisponveisparadownloadeinstalao. showavailableListatodosospacotesqueaindanoforaminstaladosemseusistema. i Baixaeinstalaatualizaesrelevantesparaoseusistema. p SincronizaoseuperfilnaRHNcomospacotesinstaladosnesteservidor.

Quandoinseridonomesdepacotescomoargumentonalinhadecomandoaferramentaup2dateirtentar efetuarodownloadeinstalaodestepacoteesuasdependncias.Informaescomoverso,arquitetura ereleasesoautomaticamentereconhecidaseconfiguradaspelaferramenta. 32

Kickstart:
OKickstartpermiteaoinstaladorlerasconfiguraesdeumarquivosespecificoaoinvezdeinterromper e perguntar ao usurio que esta realizando a instalao, isto permite automatizar a instalao para mquinascomhardwaresimilar,ouquandooinstaladorconseguereconhecerohardwareperfeitamente. Sealgumitemforomitidonoarquivodeinstalaodokickstart,oinstaladorirpausarainstalaoe fazerestaperguntaaousurio.Geralmenteoarquivodekickstart fornecidoemumdisqueteouem rede.AsinstalaespelokickstartpodemserviaCDROMLocal,DiscoRgidoLocal,NFS,HTTPe FTP.Abaixoestoasinstruesdecomofazerumkickstartpordisquetesepelarede:

KickstartporDisquete:
Crieumarquivopadronizadodeconfiguraesdokickstartcomonomedeks.cfg. Formateumdisquetecomext2ouext3e copieoks.cfgparaodiretrioraizdeseunovodisquete. ReinicieoservidorqueirserinstaladocomokickstartcomoprimeiroCDdoRHELedigite: linuxks=floppy.

KickstartporRede:
UmservidordeDHCP/BOOTP requeridomesmoseaconfiguraoIPfinaldoservidorseresttica. UmservidordeNFStambmser requerido.OservidordeDHCPir instruirparaalocalizaodo arquivodekickstartnoservidorNFS.Geralmenteinstalaesautomticaspelaredeutilizamumservidor deNFSparaproverospacotestambmporrede,unificandotodooprocessodeinstalaoautomatizado porrede. NoservidordeDHCPsonecessriasalgumasconfiguraesespeciaisnoarquivodhcpd.conf,soelas:
filename"/usr/newmachine/kickstart/ks.cfg"; nextserverblarg.redhat.com;

Copie o arquivodekickstart(ks.cfg)paraocaminhoespecificadoemfilenamenoservidor NFS especificadoemnextserver.TodasaspermissesdeNFSeFilesystemdevemserpblicas.

AjudaparaKickstartOnline:
Outrostiposdeconfiguraodekickstarttambmestodisponveisetambmumaexplicaodetalhada detodosospassosencontramsenolinkabaixo: http://www.redhat.com/docs/manuals/enterprise/RHEL4Manual/ sysadminguide/chkickstart2.html 33

ConstruindoseuarquivoKickstart:
Aprimeiradicaestudaroarquivo/root/anacondaks.cfgquegeradoautomaticamentepeloinstalador deacordocomainstalaorealizadanamquina.

Diretivasdeutilitrios:
Aprimeiraseo adecomandos,aordemdoscomandono significativa.Paracadacomandoo instaladorirtomarumaao,emmuitoscomandosoinstaladorirpassardiretamenteparmetrospara osutilitriosdeconfigurao.Conheaabaixoalgumasdiretivaseosutilitrioscorrespondentes: DiretivaUtilitrio keyboard systemconfigkeyboard timezone systemconfigtime xconfig systemconfigdisplay auth systemconfigauthentication mouse systemconfigmouse rootpw systemconfigrootpassword firewall systemconfigsecuritylevel

DiretivasdeParticionamentodedisco:
Asdiretivasdeparticionamentoconteminformaessobreparticionamentodedisco,RAIDeLVMque sero passadasparao diskdruidemordem a criar o tamanho das partiesepontosdemontagem especificadosno/etc/fstab.Abaixoestoasprincipaisdiretivasdeparticionamento: part<filesystem>size<size>[growmaxsize<size>] partswapsize part<raudcomponet> raid logvolvolgroup

OutrasdiretivasdoKickstart:
Muitasoutrasdiretivasestodisponveisparaconfiguraodedetalheseajustesfinosdeinstalao. ConsulteolinknaseodeAjudaparaKickstartOnlineparaumalistacompletaedetalhadadosdemais itens. 34

DiretivasdeInstalaodePacotes:
Adiretiva%packagesmarcaoiniciodaseodoarquivokickstartquelistaospacotesquedevemser instalados.Aseodeinstalaodepacotesvemapsaseodecomandosdescritaacima.Nomesde pacotesindividuaisougrupospodemserlistados.Ocaracter@significaumgrupodepacoteenquanto pacotesindividuaisdevemserlistadossemverso,releaseouarquitetura.Adefiniodosgruposestno primeiroCDdeinstalaodoRHELlocalizadaem:RedHat/base/comps.xml. ObservequeosgruposCoreeBasejestoselecionadosporpadroenoprecisamseradicionados. Abaixoestumbreveexemplodaseo%packages:
%packages @XWindowSystem @GNOMEDesktopEnvironment @GraphicalInternet @SoundandVideo dhcp

Pacotes que noestonadistribuiotambmpodemserinstalados naseo%packages,para isto consulteadocumentaodokickstartonline,ouincluaospacotesadicionaisquedesejainstalaremum scriptnaseode%post.

Diretiva%pre:
Adiretiva%preficalocalizadanofinaldoarquivokickstart,soexecutadososcomandos(scripts)da seo%preapsoarquivodekickstartserlido,isto,antesdeparticionar,formataroucopiarqualquer pacoteparaosistema.Observequeoscomandosdaseo%presoexecutadosemumambientebastante reduzido,aresoluodenomesporexemploaindanoestaacessvel. Observeumexemplodescript%pre:
%pre #CreatepartitionsbycopyinganMBRimage mknod/tmp/hda ddif=/mnt/source/pub/mbr.imgof=/tmp/hda

35

Diretiva%post:
Adiretiva%postficalocalizadaapsadiretiva%preoutambmnofinaldoarquivodekickstart.Ao contrariodaseo%pre,aseo%post muitomaispoderosa,todosospacotesjforamdevidamente instaladoseosistemaconfigurado,umainfinidadedeadequaespodemserrealizadasaqui.possvel afirmarquecomaseo%postsomadadaversatilidadedosscriptspossvelfazerqualquercoisa. Observequeaseo%postrodaemchrootem/mnt/sysimageondeest onovosistemainstalado. possivelacessaroambientediretamente,paraissovocdeveespecificaroargumentonochroot. Observeumexemplodescript%post:
%postnochroot /sbin/chkconfiglevel345telnetoff /sbin/chkconfiglevel345fingeroff /sbin/chkconfiglevel345lpdoff /sbin/chkconfiglevel345httpdon

36

RedHatNetwork(RHN):
ARedHatNetworkumplataformadetrabalhobaseadanaWEBparagerenciartodasuainfraestrutura deservidoresRedHatLinux.Atravsdeumaextensaecomplexainterfacegrficaosadministradores podemgerenciarosservidores,efetuaratualizaeseerratas,agendarmanutenesemuitomais. Os servios oferecidos pela RHN so comercializados e divididos por mdulos, para cada mdulo adquiridoaumentadoonmerodefuncionalidadesquevocconseguevisualizarnasuaconta.

RHNSD:
RHNSDumdaemonqueexecutadoembackgroundecontataaRHNperiodicamenteparaverificarse halgumatarefaagendadaparaseusistema.Seforencontradaalgumatarefaagendadaodaemonexecuta atarefa.Opcionalmentevocpodeinvocaroprocessoparaserexecutadoemforeground. Orhnsdefetuaverificaesnomomentodesuainicializao,casoseusistemaaindanotenhasido devidamenteregistradoemumcanaldaRHNelesimplesmentenoiraserexecutado. OrhnsdinicializadoatravsdeumscriptestiloSystemVlocalizadoem/etc/init.d/rhnsd.Ointervalode tempo padro configurado para contatar a RHN de 240 minutos e o tempo mnimo pode ser configuradoparaat60minutos.Paraativarodaemonnainicializaouse:chkconfigrhnsdon Paraverificarporatualizaesorhnsdchamaumprogramaexternochamado rhn_check, apenasum pequenoexecutvelquegerenciaaconexoderedecomaRHN.Odaemonrhnsdnoabrenenhuma portanoservidor,semprequenecessrioconectarsecomaRHNoaplicativorhn_check chamadoe iniciaconexocomaRHN. Oarquivodeconfiguraodorhnsdestalocalizadoem/etc/sysconfig/rhn/rhnsde chamadoquandoo daemoninicializadopeloscript/etc/init.d/rhnsd.Oprincipalparmetrodeconfiguraoointervalode tempoemminutosqueserconfiguradoparaodaemoncontataraRHN. Novamente, necessrio antes seu sistema estar devidamente registrado na RHN para o rhnsd ser executado.

37

MdulosComerciaisdaRHN:
Omdulodeupdateconsideradobsicoejvmporpadroemqualquersubscrioadquirida.Ele responsvelporefetuarasatualizaesnossistemas.Osprincipaisoutrosmdulosso:

Management:
Omdulodegerenciamentopermiteorganizarsuainfraestruturadeservidoresemgrupos,indicadapara organizaes com um grande nmero de servidores, permite fcil administrao e visualizao de centenasdeservidorescomosefossemums.Suasprincipaisfuncionalidadesso: AgrupamentoeOrganizaodesistemas.(SystemGroupping) Gerencieumgrupodeservidorescomamesmafacilidadequegerenciaapenaumnicoservidor. PermissionamentoGernciaveldaAdministraodosGrupos.(SystemPermissions) AgrupeseusistemadeacordocomsuasnecessidadeseadicioneapermissoparaadministradoreseSub administradoresdosgruposcriandoseupolicycustomizadodeadministrao. AgendamentodetarefasparaGrupos.(ScheduledActions) Agendeeorganizeaatualizaooucorrees(erratas)paraosgruposdeservidores. ProcuradetalhadaemGruposeSistemas.(SystemSearch) UmsistemadeprocuraavanadopodeencontrarpacotesRPM,erratasouespecificaesdeservidores nosgrupos. ComparaoentreSistemas.(PackageProfileComparisonTools) Comparedoisservidoresdiretamente.Permiteencontrarasdiferenasegerarboletinsdosresumosdas diferenasentreservidores. GerenciamentoMultiPlataforma.(MultiPlataformManagement) PermiteogerenciamentodesistemasSolarisnaRHN(Somentecomomdulosatellite).

38

Provisioning:
Omdulodeprovisionamento capazdegerenciarocompletociclodevidadesuainfraestruturade servidores.Oadministrador capazdeprojetar,gerenciar,atualizareremanejartodainfraestruturade mquinas Linuxatravsdeumconsolegrfico(GUI).Contmtodasasfuncionalidadesdo mdulo Management. Provisionamento.(BareMetalProvisioning) InstalaoeRemanejamentodenovosservidoresautomaticamenteatravsdoKickstart. ProvisionamentodeEstadodeExistencia.(ExistingStateProvisioning) Comumscliqueoadministradorpodereplicaroestadodeumamquinajemproduoparaumnovo servidor. Rollback.(MultiStateRollback) Permitearmazenaroestadodeconfiguraoesoftwaredeumservidoreretornaraesseestadoquando desejar. GerenciadordeConfigurao.(ConfigurationManagement) Permitegerenciargruposdeconfiguraesecombinadocomasferramentasdekickstartentregaum completogerenciamentodeaesdeprovisionamento. ProvisionamentodeSoftwareRPM.(RPMbasedapplicationprovisioning) PermiteumcompletoprovisionamentodeaplicativosRPM. EditordeConfiguraodoKickstart.(Kickstartconfigurationwritter) Ferramentadeedioemanipulaodoarquivodeconfiguraodokickstart.

39

Monitoring:
Omdulodemonitoramentopermiterastrearseusservidoreseaplicativosatravsdeumconsolecentral naRedHatNetworkgerandorelatriosperidicosprincipalmentesobreperformanceecarga. AnalizadordeSistema.(SystemProbes) Marcadorespodemserdisparadosparaefetuarachecagemdedziasdeindicadores,comomemria, capacidadedediscoeCPUporexemplo. AnalizadordeAplicaes.(ApplicationsProbes) MarcadorespodemserdisparadosparamonitoraraplicaespopularescomoOracle,BEA,MySQLe Apache. AnalizadoresPersonalizaveis.(CustomProbes) Marcadorespodemsermanipuladosparamonitorarsuasaplicaesparticulares. GruposdeAnalizadores.(ProbesSuites) Organizegruposdemarcadoresparamelhoraraconsistnciadeseusservidores. CentraldeNotificaes.(Notification) Alarmesdeestadocrticopodemserenviadosparaemailsoupagers. CentraldeStatus.(CentralStatus) Resumos dos marcadores de monitoramento organizados em uma pgina centralizando todas as informaespodemsergeradasparafacilitaroacompanhamentodegruposdeservidoresemproduo. Relatrios.(Reporting) RelatriospodemserorganizadosgerandogrficoseLOGsdeacordocomosmarcadoresselecionados.

40

SatelliteServer:
TodasfuncionalidadesdaRedHatNetworksoarmazenadasemsuaredelocal,ossistemasgerenciados conectamseaosatelliteserverreduzindoousodainternet.ApenasosatelliteserverconectaaRedHat networkparasincronizarcomonovocontedo.Estemodelopermiteogerenciamentodeservidoressem oacessopblicodiretooqueaumentaaindamaisaseguranadeseudomniocorporativo.

ProxyServer:
Oproxyserverpodeseradicionadoaosatelliteserverconcentrandoecachenadodownloadspara diminuiraindamaisoacessoainterneteprovercommaiorvelocidadeatualizaoeerratasaossistemas gerenciados.

AjudadaRHNOnline:
TodadocumentaodasfuncionalidadesdaRHNpodemserencontradasnositedaRedHatnolink abaixo: https://rhn.redhat.com/help/abo ut.pxt

41

ResumodoProcessodeBootdoSistema:
AbaixoosprincipaispassosdoprocessodeBootdoSistemaresumidos:

ABIOS(BasicInputOutputSystem)realizaumtestedesuasprpriasfunesedispositivosna mquina,esteprocessoconhecidocomoPOST.Oprximopassolereexecutaroprimeirosetorfsico dodisco(MBR)onderesideoprimeiroestgiodoBoo tLoadernodispositivoescolhidoparaboot.

OBootLoaderexecutaseuprimeiroestgioquegeralmentemuitopequeno(446Bytes),suafuno apontareexecutarosegundoestgioquegeralmente estnapartio/boot.

OKernelchamadoinicializadoosdriversbuiltinemdulos.Essesdriversdetectameinicializamos dispositivosdehardwaredamquina,ofilesystemraizmontadoemreadonly.

Oinitiniciadoeentranorunlevelprdefinidono/etc/inittab,comooinitoprimeiroprocessoele temoPIDnmero1,todososdemaisprocessosdamquinaseroseuparente.

/etc/rc.d/rc.sysinit chamadoefazdiversasconfiguraesdeambientenosistemacomoconfiguraro hostname, ativar swap, ativar RAIDs e LVMs, montar e checar os demais filesystems, efetuar as configuraesdeparmetrosdokerneldefinidasem/etc/sysctl.conf,ativarquotas,configurarorelgio dosistemaeetc...

/etc/rc.d/rcexecutaosscriptsdodiretrio /etc/rc.d/rcX.d/correspondenteaorunlevel.

/etc/rc.d/rc.localexecutado.

Acompanhenasprximaspgi nastododetalhamentodecadaumdostensacima. 42

GRUB:
GRUB asiglaparaGRandUnifieldBootloader.Tratasedeumgerenciadordebootdesenvolvido inicialmente por Erich Stefan Boleyn, disponibilizado como software GNU. Entre seus principais recursosestacapacidadedetrabalharcomdiversossistemasoperacionais,comooLinux,oWindowse asversesBSD,eseuconseqentementesuporteavriossistemasdearquivos,comooext2,ext3, reiserfs,FAT,FFS,entreoutros.

UmdosmotivosmaisbviosparaoGRUBserusadosuacapacidadedepermitirqueousurioescolha umdossistemasoperacionaisinstaladosemseucomputador.Emoutraspalavras,oGRUB capazde trabalharcom"multiboot".Almdisso,essegerenciadortambmcapazde"bootar"sistemasemdiscos SCSIoumesmocarreglosatravsdeimagensdisponveisemrede.

Geralmente,oGRUBfazusodoarquivo/etc/grub.confparadefinirecarregarsuaconfigurao(um detalheimportante:dependendodadistribuio,oGRUBpodeusaroutrodiretrioeoutronomede arquivo,comomenu.conf).Nele,aprimeiracoisaquechamaaatenosuaformadetrabalharcomos discosrgidosdocomputador.Aoinvsdereferenciaressesdispositivoscomo/dev/hda1,/dev/hda2,etc, eleofazatravsdostermos(hd0,0),(hd0,1)eassimpordiante.Observeatabelaabaixoparaummelhor entendimento:

PadroGRUB /dev/hda1(hd0,0) /dev/hda2(hd0,1) /dev/hdb1(hd1,0) /dev/hdb2(hd1,1)

OGRUBchamaoHDprincipaldocomputadordehd0(enquantooLinuxochamadehda).Umdisco secundriorecebeonomede hd1 (oLinuxochamadehdb)eassimsesegue.Paratrabalharcomas partiesdoHD,oGRUBasrefernciaatravsdeumnmeroinseridoapsumavrgula.Assim,a primeirapartiorecebeonmero0(zero)hd0,0,segundapartioatribudoonmero1hd0,1 eassimpordiante. importantefrisarque,nessecaso,oGRUBnofazdistinoentrediscosIDEe SCSI. 43

Agoraquevoc j sabecomooGRUBtrataosdiscosdamquina,abaixosegue,comoexemplo,o contedodeumarquivogrub.conf: default0 timeout5 fallback1 splashimage=(hd0,1)/grub/splash.xpm.gz titleFedoraCore(2.6.91.667) root(hd0,1) kernel/boot/vmlinuz2.6.91.667roroot=/dev/hda2 initrd/boot/initrd2.6.91.667.img titleWindowsXP rootnoverify(hd0,0) makeactive chainloader+1 Aprimeiralinhadefault0indicaaoGRUBqualsistemaoperacionalinicializarcasoousuriono faanenhumaescolha.Noexemplo,elevai"bootar"oFedoraLinux,poisonmero0fazrefernciaao primeirosistemalistadonoarquivo.CasooWindowsXPtivessequesercarregadoporpadro,bastaria mudaralinhaemquestoparadefault1,poisnoarquivoessesistemaosegundoaserlistado(noteque oGRUBfazalistagemcomeandoemzero). Alinhapreenchidacomtimeout5determinaotempo(emsegundos)queousurioterparaescolherum sistemaoperacionalparainicializar.AssimqueoGRUB"entraemao",elemostranatelaumalistados sistemasoperacionaisinstalados.Ousuriopoderescolherumalternandoosatravsdasteclasdeseta dotecladoepressionandoobotoEnterquandoaescolhaforfeita.Nocasodesseexemplo,otimeout recebeovalor5.Issosignificaqueousurioter5segundosparaescolherumsistema.Casonenhuma oposejaescolhida,apsos5segundos,oGRUBcarregar osistemapadro,definidoatravsda primeiralinha. Porsuavez,aterceiralinha(nemsempreusada) fallback1indicaaoGRUBqualsistemainicializar casoocarregamentodaprimeiraopofalheporalgummotivo.Esserecursoespecialmentetilquando hmaisdedoissistemasoperacionaisinstaladosnocomputador. Aquartalinhasimplesmenteconteminformaesparacarregarasconfiguraesgrficas(comoimagem defundo)paraquandooGRUBexibirasopesdesistemaoperacionaldisponveis.

44

Observequenestearquivogrub.confalistadesistemasoperacionais mostradadepoisdaquartalinha deconfigurao.OprimeirosistemadalistaoFedoraLinux: titleFedoraCore(2.6.91.667) root(hd0,1) kernel/boot/vmlinuz2.6.91.667roroot=/dev/hda2 initrd/boot/initrd2.6.91.667.img AprimeiralinhaacimamostraottuloqueosistemarecebenoGRUB. essenomequeserexibido quandooGRUBmostraralistadesistemasoperacionaisqueousuriopodeescolher.Podeseusar qualquerfrasedepoisdetitle.Obviamente,informealgorelacionadoaosistemaoperacionalemquesto. A segunda linha root(hd0,1) informa ao GRUBondeo sistemaoperacionalest instalado. No exemplo,eleseencontranasegundapartiodoprimeiroHD.Apalavra roottemafunodeindicar queaquelaapartioprincipaldosistema(ouapartioraiz)eque,portanto,deversermontada. AterceiraeaquartalinhainformamaoGRUBokernelasercarregadoepossveisparmetros.Neste caso,roindicaqueapartiodevesermontadainicialmentecompermissesapenasdeleitura. NapartedoarquivoquetratadoWindowsXP,asintaxeamesma.Noentanto,asegundalinharecebeo parmetrorootnoverify aoinvsde root,poisamontagemdepartionoseaplicaaoWindows.O rootnoverifyusadoporqueesseparmetronotentafazernenhumamontagem. titleWindowsXP rootnoverify(hd0,0) makeactive chainloader+1 ComooWindowstrabalhademaneiradiferentedoLinux,aopodecarregarokerneltambmnose aplicaaosistemadaMicrosoft.Nolugardesseparmetro,geralmente usado chainloader+1,que "chama"ocarregadordebootdoWindows,deixandoaesseatarefadeiniciarosistema.Notequeem nossoexemplo,humparmetronalinhaacimadechainloader+1,omakeactive.Estetemafunode definirapartioemquestocomoativa.

45

Existe umparmetrochamado map quepermiteocarregamentodoWindowsquandoesteno est instaladonoprimeiroHD(regraobrigatrianoWindows9x,porexemplo).Suautilizao feitada seguinteforma(SupondoqueoWindowsestejanosegundodisco): map(hd0)(hd1) map(hd1)(hd0)

OutrasopesdoGRUB:
Voc j deve ternotadoque,basicamente,oGRUB divididoemduaspartes:aprimeira contem configuraes gerais referentes ao prprio GRUB e a segunda parte contem a lista dos sistemas operacionaisinstaladosnamquina.Voctambmdeveternotadoqueopreenchimentodasinformaes dasegundapartemudamdeacordocomosistema. Naprimeiraparte, possveladicionaroutrosparmetros,entreeleso password eo hiddenmenu.O primeirosolicitaumasenhadefinidaporvocparaoacessoadeterminadosrecursos,comoaopode linhadecomandodoGRUB(sintaxe passwordsenha).Osegundosimplesmenteescondealistade sistemasoperacionaisquandooGRUBcarregado.Essalistapodeficarvisvelpressionandoseatecla ESCdoteclado. Casovocqueirapossibilitaroacessoaumdeterminadosistemaoperacionalsomenteatravsdesenha, bastainserirapalavralockdepoisdalinhatitlereferenteaosistemaemquesto.Noentanto,paraisso, necessrio queaopo password tenhasidoinserida na primeiraparte,pois estasenha que ser solicitada: titleWindowsXP lock rootnoverify(hd0,0) (...) Seautilizaodeoutrasenhafornecessria,bastainserirocampopasswordsenhaabaixodalinhatitle. Nessecaso,asolicitaodesenhasomenteserfeitaseosistemaoperacionalemquestoforescolhido: titleWindowsXP passwordsegredo rootnoverify(hd0,0) (...)

46

Umltimodetalhe:possvelinserircomentriosnoarquivodeconfiguraodoGRUB.Paraisso,basta adicionarocaractere#antesdalinhadecomentrio,porexemplo: #ArquivodeconfiguraodoGRUB default0 timeout5 fallback1 (...)

LinhadecomandosdoGRUB:
OGRUBcontacomumrecursomuitointeressante(Muito tilprincipalmentepararesolverproblemas nocarregamentodosistemaoperacional)umalinhadecomandosquepodeseracessadaassimqueo GRUBcarregado.Paraisso,quandooGRUBestiverdisponvel,podeseapertarumadeterminadatecla (geralmenteobotoC)ouescolheressaoponalistadesistemasoperacionais.Tudodependedaforma comooGRUBfoiconfigurado(oGRUBgeralmenteacionaalinhadecomandoquandonoencontraa listadesistemasoperacionais). HumasriederecursosquepodemserusadosnalinhadecomandosdoGRUB.Quandoestivernela, pressioneateclaTabdeseutecladoduasvezesseguidasparaobteralistacompletadecomandos.Para obterdetalhessobreumcomandoespecfico,digitehelpcomando,porexemplo:helpcmp ParamaioresinformaesdetalhadassobreoGRUBuse:infogrub

RefazendooPrimeiroEstgiodoGRUB:
SeporalgummotivosuaMBRforcorrompida,ousimplesmentevoc desejarefazerainstalaodo grub,utilizeocomando/sbin/grubinstall<dispositivodeboot>. Aindaseocomandoacimafalhartente: 1. 2. 3. 4. Digitegrubepressioneenter Digiteroot(hd0,0) Digitesetup(hd0) Digitequit

OBS:AcimaainstalaodoprimeiroestgioocorreranaMBRdoprimeirodisco. 47

InicializaodoKernel:
Quando o Kernel inicializado mensagens de deteco de hardware e inicializao de drivers de dispositivos comeam a surgir na tela. Um forma de visualizar essas mensagens posteriormente verificarocontedodoarquivo/var/log/dmesg. Osdriversdedispositivocompiladosdentrodokerneltentamencontrarseusrespectivosdispositivosde hardware,quandoodispositivoencontradoeleinicializadoemensagensdelogsseroemitidas. Montarofilesystemraizemreadonlytambmumatarefarealizadapelokernel. Todososdriversdedispositivosnecessriosparaobootdosistemataiscomodriversdecontroladoras SCSI por exemploprecisamestarcompilados dentrodokernelou entocontidosem uma imagem chamadainitrd.OinitrdmontadopelokernelnamemriaRAMemtempodebootafimdeexpandiro nmerodemdulosoudriversdedispositivosnecessriosparaoboot.

InicializaodoInit:
ApsokernelserinicializadoelepassaocontroleparaoprocessoInit.AconfiguraodoInitest localizadaem/etc/inittab.TodososprocessosdamquinasoparentesdoInit,algumasdasprincipais funesdoInitsoinicializarosconsolesvirtuais,mapearseqnciasdeteclascomoporexemploo Ctrl+Alt+Del, executar o contedo do diretrio do runlevel prdefinido, executar um script de inicializaodosistema. Casooarquivo/etc/inittabestejacorrompidoosistemaestarapenasdisponvelemmododeemergncia (emergencymode) Avarivelinitdefaultnoarquivo/etc/inittabcontrolaorunlevelpadrodosistema,seuformato: id:x:initdefault; Ondexrepresentaorunlevelpadodosistema. Paramaioresdetalhessobreoinituse:maninit Para alterar o runlevel do sistema em execuo basta como usurio root usar: init x, onde x representaonmerodorunleveldesejado.Osistemair parartodososserviosdorunlevelatuale inicializaroprximorunlevel.Ocomando/sbin/runlevelinformaorunlevelatualdosistema. 48

OScript/etc/rc.d/rc.sysinit:
O script rc.sysinit quandoiniciadoforneceaopoaousuriodeentrarnomodointerativo,isto realizadopressionandoateclai.Omodointerativoefetuaperguntasantesdeexecutaramaioriadas aesrealizadaspeloscript.Essescript responsvelporconfigurarboapartedosistema,algumasdas principais funes do rc.sysinit so configurar os parmetros do kernel de acordo com o arquivo /etc/sysctl.conf,ativarRAIDseLVMs,ativarquotas,ativarapartiodeswap,configurarorelgiodo sistemaeetc...

OScript/etc/rc.d/rc:
Estescriptresponsvelporiniciarepararosserviosquandoorunleveldosistemaalterado. Em tempo de boot ele responsvel por inicializar os servios do runlevel padro definido no /etc/inittab.

SystemVrunlevels:
Osscriptsdecontrole(start,restart,stop)dosserviosficamem/etc/rc.d/init.d/,linkssimblicosnos respectivosdiretrioscomoporexemploo/etc/rc.d/rc3.dquerepresentaorunlevel3(fullmultiuser) indicam ainicializaooufinalizaodosservios,umaordemnumrica associadainformandoa prioridadesdoservio,aletraSindicainicializaoenquantoaletraKindicaafinalizao do servio.Vejaosexemplosabaixo: rwxrxrx1rootroot2051Nov2807:21vncserver rwxrxrx1rootroot1548Sep12006winbind rwxrxrx1rootroot1650Oct272006wpa_supplicant rwxrxrx1rootroot3934Jul132006xfs rwxrxrx1rootroot2497Oct12006xinetd rwxrxrx1rootroot3320Aug312006ypbind rwxrxrx1rootroot1097Nov1014:59yumupdatesd [root@vibe/etc/rc.d/init.d]# lrwxrwxrwx1rootroot11Dec105:18S99local>../rc.local lrwxrwxrwx1rootroot16Nov3011:46K99smartd>../init.d/smartd lrwxrwxrwx1rootroot20Nov3012:00K99xendomains>../init.d/xendomains [root@vibe/etc/rc.d/rc3.d]#

49

OScript/etc/rc.d/rc.local:
Oscriptrc.local executadocomoum ltimoserviofinalizandooprocessodebootdosistema.Caso voctenhaaplicativosparainiciareessesaplicativosnotenhamscriptsdecontroleestiloSystemV (start,restart,stop)vocpodeiniciarlosutilizandoestescript.

ControlandoeConfigurandoosServiosSystemV:
Paraconfigurarosserviosdecadarunlevelsoutilizadasalgumasferramentasdisponveisnosistema paraosuperusurio.

systemconfigservices: Ferramentabastantecompletaparaoambientegrfico. ntsysv: Ferramentabaseadaemmenusparaomodotexto.Porpadroquandoinvocadoeleconfiguraorunlevel atual,paraconfiguraroutrorunlevelutilizeoparmetrolevel. chkconfig: Ferramentadelinhadecomandoouparaserutilizadoemscripts.Utilizadonokickstart.Muitoverstile largamenteutilizadopelosadministradoresmaisexperiente.amelhoropo. service: Aferramentaservice utilizadaparacontrolarumservioemexclusivoimediatamente,porexemplo: parainiciarosambause:servicesmbdstart.Estodisponveistodososargumentossuportadospelo scriptestiloSystemVdecadaservio,istogeralmente(Start,Stop,Restart, Status). Obs:Osystemconfigservicesechkconfigapenastemefeitoimediatodeparareiniciarserviosqueso baseadosnoxinetd,paraosdemaisserviosasconfiguraesalteradassiroterefeitoapsobootdo sistema.Useaferramentaserviceparaatenderimediatamenteordensdetrminoouinicializaode servios.

50

LaboratrioGRUB,RecuperaodosistemaeTroubleshooting:
IremosreproduzirumacidentenaMBR,todaconfiguraodoprimeiroestgiodoGRUBserperdida. Seusistemanoefetuarmaisboot,pormastabelasdepartioaindaestarointactas,destaforma iremosprocedercomoresgatedosistemareinstalandooGRUBnaMBRnovamente. Sigaospassosabaixocomateno: ParadestruiroprimeiroestgiodoGRUBnaMBRexecuteocomandoabaixo.

ATENO:qualquererrodedigitaonocomandoabaixopoderresultarnaperdaintegraldosistema.

ddif=/dev/zeroof=/dev/hdabs=446count=1;reboot

RecuperaodoSistema:
1. Efetueobootdosistemacomoprimeirodisco(CDROM)doRedhatEnterpriseLinux 2. Nopromptdigite:linuxrescue 3. OsistemaderesgateirencontrarainstalaodoRHEL,confirmeamontagememreadwritee examineasadadoscomandomountefdiskl/dev/hda 4. Verifiquequeosistemaderesgatemontouseusistemasobarvore/mnt/sysimage 5. Examineoarquivo/mnt/sysimage/etc/grub.conf 6. ParareinstalaroGRUBnaMBRexecuteoscomandosabaixo: chroot/mnt/sysimage grubinstall/dev/hda exit 7. Agoraefetueorebootdosistema

51

Sistemadearquivosext3eext2: FuncionamentopadrodossistemasdearquivosemLinux:
Os sistemas de arquivos so criados em parties do disco, de forma que seja possvel armazenar programasedadosemformatodearquivosediretrios(pastas).OLinux,assimcomopraticamente todos os sistemas operacionais baseados em Unix, usa um sistema de arquivos que possue uma hierarquia,compostadearquivosediretrios,quepodemconteroutrosdiretriosouarquivos. Osarquivos/diretriosparaoLinuxsodisponibilizados(oumontados)paramanipulaoatravsdo comando "mount",geralmenteacionadonoprocessodestartup(inicializao),queocorrequandoo computadorligadoecomeaacarregarosistemaoperacional.OLinuxconseguetrabalharcomvrios sistemasdearquivosemummesmodisco(situaocomum usuriosquepossuemWindowseLinux em suas mquinas, por exemplo) e para "enxerglos", armazena a lista de sistemas de arquivos disponveisnoarquivo/etc/fstab(repareque/etc/indicaumcaminhodediretrio).Noentanto,huma listadesistemasdearquivosqueestoefetivamenteemuso,disponvelnoarquivo/etc/mtab,tambm conhecidocomo"tabelamount".Estalista atualizadanoprocessodestartup,paraindicaraosistema operacionalquaissistemasdearquivoselepoderacessar. Paracadasistemadearquivosmontadonostartup,umbitnocabealhodosistemadearquivoszerado paraindicaqueosistemadearquivosestemusoapartirdaquelemomentoequeasestruturasdedados usadasparaaalocaoeorganizaodearquivos/diretriospodemsofrermudanas(atualizaes). QuandoousuriodecidedesligarocomputadoreusacomandosparaencerraroLinux,ossistemasde arquivossodesmontados,fazendocomqueobitcitadoacimasejamodificadoparaindicar queo sistemadearquivosestconsistente,ouseja,nopodemaissofrermudanas.

Errosecorrompimentodosistemadearquivos:
OssistemasdearquivosparaLinuxj sofrerammuitostiposdetratamentosereescritadecdigopara eliminar o corrompimento causado por aplicaes ou pelo prprio kernel. No entanto, eliminar o corrompimento de dados em arquivos causados, por exemplo, pela queda de energia ou pelo desligamentoincorretoporpartedousurio,semprefoiumatarefapraticamenteimpossvel.Quandoo sistemadesligadoincorretamenteobitdocabealhodosistemadearquivosnoajustado.Asoluo foifazercomque,noprximoprocessodecarregamentodoLinux,sejaverificadoseocabealhoest comobitdecabealhosetadoparaindicarqueosistemadearquivosestconsistenteenomanipulvel. Casonoesteja,aferrramenta"fsck"verificaosistemanabuscadeerros.

52

Journaling:
Ofsckconsegueproverresultadossatisfatrios,masacorreodeerrospodelevarmuitotempo,algo inaceitvel em aplicaes crticas. Alm disso, se o desligamento incorreto do computador ocorreu quando dados estavam sendo gravados no disco, o fsck no conseguir completar esses processos, ocasionandoaperdadasinformaesqueestavamsendogravadas. Diantedessesproblemas,foiapresentadaumasoluovivel:autilizaodesistemasdearquivoscoma tecnologia"Journaling",quepossuemacapacidadedeacompanharasmudanasqueserofeitasno sistemadearquivos(porexemplo,gravaes/atualizaesdedados)antesquerealmentesejamfeitas. EssasinformaesqueoJournalingcapturasoentoarmazenadasemumaparteseparadadosistemade arquivos,denominada"Journal"(mastambmconhecidapor"registrosdelog").Quandoasinformaes soarmazenadasnoJournal,osistemadearquivosaplicaasmudanasregistradasneleeento,remove asinformaesdoJournal. Agora,entendaporqueoJournaling umasoluoeficienteparaosproblemasdeerro.Osregistrosde logsoescritosantesqueasmudanasefetivamenteocorramnosistemadearquivoseessesregistros somente so eliminados quando as mudanas so feitas. Assim, se o computador indevidamente desligado,oprocessodemontagemnoprximostartupverificarseh mudanasgravadasnoJournal "marcadas"comonofeitas.Sehouver,taismudanassoentoaplicadasaosistemadearquivos.Isso fazcomqueosriscosdeperdadedadossejamreduzidosdrasticamente.

Sistemadearquivosext3:
ExistemvriossistemasdearquivosdisponveiscomatecnologiaJournaling,comooXFS,desenvolvido originalmentepelaSiliconGraphicseposteriormentedisponibilizadocomcdigoaberto,oReiserFS, desenvolvido especialmente para Linux, JFS, desenvolvido originalmente pela IBM mas tambm liberadocomcdigoaberto,eomaisconhecidodeles:oext3,desenvolvidopeloDr.StephenTweedie juntamentecomoutroscolaboradores, naRedHat,atualmenteoext3tambmmantidopelaRedHat. Osistemadearquivosext3basicamenteosistemadearquivosext2comrecursosdeJournaling.Talvez, essasejaarazodeseuusoamplo:eletotalmentecompatvelcomext2(quefoiumsistemadearquivos muitousado),oquenenhumoutrosistemadearquivosbaseadoemJournaling. O ext3 passou a ser efetivamente suportado pelo kernel do Linux a partir da verso 2.4. Conseqentemente, todas as distribuies Linux lanadas com esse kernel ousuperior, tem suporte padroparaext3. Noext3,ocdigodeJournalingusaumacamadachamada"JournalingBlockDevice"(JBD).AJBDfoi criadacomopropsitodeimplementarJournalemqualquertipodedispositivocombaseemblocosde dados.Porexemplo,ocdigoext3informae"pedeautorizao"JDBparaefetuarasmudanas,antes demodificar/adicionarqualquerdadonodisco. 53

Sendoassim,oJDBqueverdadeiramente"gerencia"oJournal.Ofatomaisinteressantedissoque,a JDBfuncionacomoumaentidadeindependente,permitindoquenosoext3ause,mastambmoutros sistemasdearquivos. AJDButilizaummtododiferentedeoutrosJournalingspararecuperaodeinformaes.Aoinvsde armazenarasinformaesembytesquedepoisdevemserimplementados,aJDBgravaosprprios blocosmodificadosdosistemadearquivos.Assim,oext3tambmarmazena"rplicas"completasdos blocosmodificadosemmemriapararastrearasoperaesqueficarampendentes.Adesvantagemdesta forma de trabalho queoJournalacabasendomaior.Noentanto,oext3noprecisalidar coma complexidadedosJournalingsquetrabalhamgravandobytes.

TiposdeJournalingnoext3:
Oext3suportatrsdiferentesmodosdetrabalhodoJournaling.Soeles: Journal:gravatodasasmudanasemsistemadearquivos.omaislentodostrsmodos,masoque possuimaiorcapacidadedeevitarperdadedados; Ordered:gravasomentemudanasemarquivosmetadata(arquivosquearmazenaminformaessobre outrosarquivos),masguardaasatualizaesnoarquivodedadosantesdefazerasmudanasassociadas aosistemadearquivos.EsteJournalingopadronossistemasdearquivosext3; Writeback:tambmsgravamudanasparaosistemadearquivoemmetadata,masutilizaoprocesso deescritadosistemadearquivosemusoparagravao.omaisrpidoJournalingext3,masomenos confivel. OmodoOrdered opadronoext3,mas possvelespecificarqualomodoquevoc desejausar, atravsdaatualizaodoarquivofstab.Porexemplo,podeserquealinha/dev/hda1tenhasuaopo datacomovalorordered.Vocpodemudarestevalorparawritebackoujournal.

54

Particionamento:
Almdeorganizarmelhorepermitirautilizaodemaisdeumtipodesistemaoperacionalnomesmo disco,existemrazesadicionaisparaseutilizarmaisdeumapartionoLinux,sendoaprincipaldelasa segurana.NoLinux,possvelmontaraspartiescomopesquemelhoramaseguranadosistema, evitandocertasaesemdeterminadasparties. GeralmenteparaseparticionarumdisconoLinux utilizadoaferramenta fdisk,queapesardonome no o mesmo utilizado em sistemas MSDOS, outras ferramentas tambm disponveis para particionamentosoosfdisk,oGNUparted.

ParticionamentoOnLine:
Quandoosistema inicializadookernelguardaumacpiadatabeladeparticionamentonamemria. Qualquer alterao no particionamento s ter efeito quando o kernel reler a tabela de partio, geralmenteisso realizadoapenasnoprximobootdosistema.Paraforarareleituradatabelade partioutilizeocomandopartprobe.

CriandoSistemasdeArquivos:
Ocomandomkfs umfrontendparavriosoutroscomandocomoporexemplomkfs.ext2,mkfs.ext3, mkfs.minixeassimpordiante,utilizandoaopotqueespecificaotipodefilesystemomkfsbuscao comandoapropriado.Osargumentosmaisusadosso: b

Especificaotamanhodeumblocoembytes.Caraarquivogravadonosistemadearquivosocupapelo menos1bloco,isto ,seumarquivo menorqueotamanhode1blocoessearquivoocuparmesmo assimoblocointeiro.Senoespecificadootamanhodosblocos,essesercalculadoautomaticamente pelotamanhodapartio.

Verificaosblocosantesdeformatar,aformataoficabemmaisdemoradautilizandoestaopo.

55

Especificaarelaodebytes/inodes.Oclculodatabeladeinodesrealizadodeacordocomototalde espaolivreembytesdeumapartio.Aregra quantomaiorodiscomaisinodes,pormosinodes ocupamespao,hcomoliberarmaisespaodiminuindoonmerodeinodes. importanteconsiderar tambmquedepoisdeformatadaecriadaatabeladeinodesnopossvelalterar.

Especifica diretamente o nmero de inodes, aconselhvel somente para parties extremamente grandes.Usecomcuidado.

Especifica um nome de volume para a partio (Volume Label). Lembrese que a montagem dos filesystempodeserreferenciadaapartirdestenomena/etc/fstab.

Convertendoumfilesystemext2paraext3:
Umfilesystemext2exatamenteigualaumfilesystemext3semojournal.Paraconverterumapartio ext2emext3sigaospassosabaixo : 1. Verifiqueseoseukerneltmomduloparaext3compilado,noRHELissojpadro. 2. Mudeaentradacorrespondenteaofilesystemno/etc/fstab. 3. Paracriarojournal,executeocomando:tune2fsj<partio>.

MontandoFilesystems:
ParaMontarumfilesystemuse: mountt<tipodefilesystem>o<opes><dispositivo><pontodemontagem>

56

ParaDesmontarumfilesystemuse: umount<pontodemontagem> Casoofilesystemestejasendousado(Busy) importantedeterminarqualprocessoestautilizandoeste filesystem,paraissoutilizeocomando: fuser<pontodemontagem>

ParaRemontarumdispositivouse:
mountoremount<dispositivo>

NomesdeVolumes:
importantesempredefinirnomesdevolumes(VolumeLabel)paratodassuaspartieseefetuaresta referncianahoradamontagematravsdo /etc/fstab.Lembresequesemprequemudarosdiscosde controladoraosnomesdosdispositivosseroalteradoscausandosriosproblemasnahoradobootdo sistema.Nuncausenomedevolumesiguaisparadispositivos,mesmoqueestejaefetuandobackupdos mesmos.

57

O/etc/fstab:
Osfilesystemslistadosnofstabsoutilizadosparamontagemautomticadeacordocomumaespciede hierarquianahoradobootpeloscriptrc.sysini t. Observeaestruturado/etc/fstab: DispositivoPontodeMontagemTipoOpesDump_freqFsck_order /dev/VolGroup00/LogVol00/ext3defaults11 Dispositivo Nomedoarquivoespecial dedispositivoounomedovolumesermontado. PontodeMontagem Ocaminhoparaacessarodispositivodepoisdemontado. Tipo Otipodofilesystem,ext2,ext3etc... Opes Opesdemontagemseparadasporvrgula,aoponoautoporexemplosignificaparanosermontado emtempodeboot,geralmente usadoporCDROMs. Dump_freq Frequenciadeverificaoutilizadapelodump(backupdosistema),0=Nunca,1=Diariamente,2=qualquer outrodia. Fsck_order Ordemdeverificaodofsck,0=ignore,1=primeiro(deversempreserofilesystemraiz),29=segundo ,terceiroeassimpordiante.Filesystemscomomesmonmerosochecadosemparalelo. CDROMsedispositivosderededevemserignoradosutilizandoonmero0.

MontandoTodososDispositivosdofstab:
Paraforaramontagemdetodososfilesystemslistadosno/etc/fstabapsobootutilize:mounta.

58

Automounter:
Afunododaemonautomonter monitorardiretriosemontardispositivosquandoalgumtipode requisioforverificada. indicadoparadispositivosquenosoutilizadosfreqentementeetambm paraliberarrecursosdosistema,poisalmdemontarodispositivoquandosolicitadoodaemondesmonta quandoodispositivoficarocioso(idle)automaticamente. Parainstalareconfiguraroautomountersigaospassosabaixo: 1. Instaleoautofsrpmivhautofs 2. Configureoautofsparaserinciadonobootchkconfigautofson 3. Configurenoarquivo/etc/auto.masterosdiretriosqueseromonitorados,vejaoexemplo: /misc/etc/auto.misc Alinhaacimasignificaqueodiretrio/miscestasendomonitoradoequeaconfiguraodeste diretrioestanoarquivo/etc/auto.misc. 4. Configureoarquivo/etc/auto.misc,vejaoexemplo: #KeyOptionsLocation cdfstype=iso9660,ro,nosuid,nodev:/dev/cdrom Key Geralmenteumnomedeumdiretriochave(Vocnoprecisacriaressediretrio) Options Solistasdeopesdemontagemseparadasporvrgula,consulte:man8mount Location Indicadeondeofilesystemirsermontado.Geralmenteumdispositivooucaminhoderede.

DocumentaoOnlinedoAutomounter:
Paramaioresinformaes,arquivosdeexemploelistasdeopescompletasdoscomandosconsulte: manautofs man8automount man5autofs man5auto.master

59

AtributosEstendidosdoFilesystem:
Ossistemasdearquivosext2eext3suportamalgunsatributosquepermitemaalteraodamanipulao dosdadosdosarquivos.LembrandoquenemtodososatributosherdadosdoUNIXestodisponveisno kernelatualdoLinux. lsattr(lsattr*)

Listaosatributosdosarquivos.

chattr(chattr+i/root/anacondaks.cfg) Efetuaalteraesnosatributosdosarquivos.

Umdosatributosmaisutilizadosoiquesignificaimutvel.Oarquivocomesseatributonopodeser deletadoourenomeado,nenhumdadopodeseracrescidoouretiradotambm.Somenteosuperusurio podedesfazeresseatributo.

FilesystemACLs:
Criarlistasdeacessosparaofilesystempermitegerenciaraspermissesdeformagranular.Nomodode permissionamentotradicionalpossvelconfigurarpermissesrwxparaodonodoarquivo,paraogrupo eparaosdemaisusuriosdosistema(outros).ComasACLspodemosdizerqueogrupovendase o usuriojooporexemplotenhampermissesparticulares. ParasuportarACLsofilesystemdevesermontadocomaopoacl,veja: mountoremount,acl/dev/hda1/

getfacl ListaasACLsdosarquivos. Setfacl EfetuaalteraesnasACLsdosarquivos.

Exemplos: getfacl*

setfaclmu:carlos:rwxteste.bin setfaclmg:vendas:rwxteste.bin setfaclxu:carlosteste.bin

60

Quotas:
Asquotasnolinuxsoativadasporfilesystem.necessriomontarofilesystemcomasopesusrquota ougrpquotaindicandoaokernelautilizaodequotasporusurioouporgruposrespectivamente.O policy estabelecidoporblocos(Quantidadedeblocosqueumusurioougrupopodeconsumirdo filesystem) ouinodes(Quantidadedearquivosqueumusurioougrupopodecriarnofilesystem). Podemserestabelecidoslimitessoftehard,quandoumusurioougrupoalcanaramarcasofteleser alertado,pormquandoalcanaramarcahardokernelirimpediroabusodopolicyestabelecido. Podeserdefinidotambmograceperiodque otempoqueumusurioougrupopodeficarentrea marcasoftehard.Paratrabalharcomquotasnecessrioinstalarasferramentasdopacotequota.

Implementaodequotas:
1. Editeoarquivofstabadicionandocomoopodemontagemusrquotaougrpquotanofilesystem quevocdesejainstalarocontroledequotas. 2. Remounteodispositivomountoremount<dispositivo> 3. Inicializeasquotasparaestedispositivoquotacheckc<pontodemontagemdodispositivo>,este comandotambmtilparaatualizaradatabasedequotas. 4. Executequotaona 5. Editeasquotasparaosusurios,porexemplo:edquotarodrigo Ovalor0indicaquenohquotaestabelecida.Porexemplo,paralimitaresseusurioa100Megas utilize100000nohardlimit. Paraestabelecerograceperiodutilizeocomando:edquotat. Parareplicaropolicydequotasdeumusurioparaoutrosutilizeocomando: edquotap<user1><user2> Osuperusuriopodeverificarasquotasdosusurioscomocomandorepquota,josprpriosusurios podemverificarseuslimitescomocomandoquota. Nomomentodobootasquotassoverificadaseativadaspeloscriptrc.sysinit,pormseporalgum motivooarquivodedatabasedasquotasficarforadesincronia,porexemplo,casoasquotastenhamsido desligadasporumperodo,precisoinicializaradatabasenovamentecomocomandoquotacheck. Paradesligarasquotasdosistemautilizeocomandoquotaoff. possveltambmconfigurarasquotasvialinhadecomandoouemscriptsu tilizandosetquotas.

61

LaboratrioQUOTAS,cenriodeconfigurao:
Ativeasquotasnofilesystemraiz(/)demodoqueosusuriosCarloseAndrepossamutilizarapenas 200MBcada. OBS1:Nahoradeativarasquotascomocomandoquotachecknecessrioacrescentaroparmetrom paraforaremfunodofilesystemraizseraltamentesolicitado. OBS2:TalvezsejanecessriocriarosusuriosCarloseAndrecasonoexistamnosistema.

Testedeimplementao/Validao:
LoguesenosistemacomousurioCarlos. Certifiquesequeodiretrio/home/carlos(DiretriohomedeCarlos)estamontadodentrodoraiz(/). Executeocomando:ddif=/dev/zeroof=/home/carlos/testebs=1Mcount=190 Ocomandoacimaircriarumarquivode190MBnodiretriohomedecarloschamadoteste.Utilizeo comandoduh/home/carlosparacertificarsequetudoestaok.Apsapagueoarquivoteste. Vamosagoraexcederolimitedequotade200MBestabelecido.Osistemadeveimpediroabusodo policyseasconfiguraesestiveremcorretas. Executeocomando:ddif=/dev/zeroof=/home/carlos/testebs=1Mcount=210

62

SoluodolaboratrioQUOTAS:
1. 2. 3. 4. 5. Editeoarquivo/etc/fstabeadicionenofilesystemraiz(/)aopousrquota. Remounteofilesystemraizcomocomando:mountoremount,usrquota/ Inicializeasquotasparaestedispositivocomocomando:quotacheckcm/ Executeocomando:quotaona EditeasquotasparaousurioCarloseadicioneovalor200000nohardlimitdosblocoscomo comando:edquotacarlos 6. RepliqueopolicydequotasdeCarlosparaAndrecomocomando:edquotapcarlosandre

63

SELinux:
OSELinuxdesenvolvidoemparceriapelaNSA,RedHateoutrasempresascomoIBMeHP.Aidia adicionar uma outra camada de segurana no Linux e retirar o poder absoluto do usurio root da mquina. O SELinux baseado em MAC (Mandatory Access Control), uma proposta totalmente diferentedaqueconhecemosatualmentenolinuxqueusaomodelotradicionalDAC(Discretionary AccessControl).NoDACosusuriostmprivilgiosaosarquivoseprocessosquelhepertencem,por exemplo,seumprocesso executadosobreapropriedadedousurioJoo,esteprocessoteracessoa todososarquivosquepertencemaousurioJoo.NomodeloMACasaplicaesapenastemprivilgios derealizarostrabalhosparaqueforamprojetas,isto ,apenas permitidofazeroquerealmentea aplicaofoidesenhadaparafazer.

Strict,TargetedPolicys:
NoiniciooSELinuxeradistribudocomopolicystrict,issona pocadoFedoraCore2,strictpolicy tinha como diretriz principal bloquear tudo e apenas permitir aquilo que se estivesse especificado. Rapidamenteosengenheirosobservaramqueissonoestavasendomuitoprtico,principalmenteparaos aplicativosdouserspace.Especificartodasaplicaescomoporexemploumfirefoxouumsshera muitocomplicado,asnicasperguntasnosforuns naquelapocaeracomodesligaroSELinux. Foisubstituidoostrictpolicypelotargetedpolicy,aprincipaldiferenaquenotargetedtudoliberado pordefaulteapenasoque definido verificadopeloSELinux.Opadrosoasaplicaesno definidasseremexecutadasnoquesechamadeunconfined_t,isto ,noambientenoconfinadoonde basicamenteasaplicaesfuncionamcomoseoSELinuxnoexistisse.Apenasasaplicaesdefinidas (targeted)soexecutadasconfinadasdentrodeseudomnioSELinuxespecificado.

ContextosdosObjetos:
Todososarquivosregularesdosistema,processosedispositivosdehardwaresochamadosevistos como objetos peloSELinux.Cadaobjeto rotuladocomumcontexto.Omdulodesegurana do SELinuxnokernel(LSM)permiteoubloqueiaacessoaosobjetosdeacordocomumpolicyondeos contextossoanalizadoseverificados.

64

Aformataodoslabels(rtulos) <user>:<role>:<type>,naverdadequandoestamosfalando do policy targeted o que realmente importa o <type>. Aplicaes que so executadas num determinadodomnioporexemplo,ohttpdnotemprivilgiosaoutrosdomniosnoespecificadosna mquinacomonamedporexemploouodiretriohomedousurioJoo,eassimasaplicaesficam confinadas aoacessoexclusivamenteemseusdomnioselevandoconsideravelmenteasegurana no sistema.

ConfiguraesBsicasdoSELinux:
O SELinux encontrase basicamente em 3 estados: disabled ou desligado, modo enforcing, onde o SELinuxestaplicandoopolicy,oupermissive,ondeoSELinuxestapenasemmododewarmonly, isto,apenaslogandoosAVC(MensagemdoSELinuxdoKernel).Omodopermissiveindicadopara efetuarajustesfinosnopolicyeparaverificarasconfiguraes. Quando o SELinux estiver ativado ser criado um novo filesystem chamado /selinux, este um filesystem virtualque a janeladecomunicao einformao entre os processos damquina e o SELinux.O/selinuxfilesystemmuitosemelhanteao/proce/sys. AsmensagensdelogdoSELinux(AVCs)soregistradasnoarquivo /var/log/messages edevemser cuidadosamenteverificadasquandoqualquerproblemacomearasurgirnosistemaapsoativamentodo SELinux.

Aferramentagrficasystemconfigsecuritylevel amaisfcildeusaredevisualizarasconfiguraes correntesdoSELinux.Adicionalmenteusesystemconfigselinuxparaajustesnospolicysebooleans. O comando sestatus mostra o estado atual do SELinux, para efetuar mudanas utilize o comando setenforce. Para salvaras alteraes paraoprximo bootdosistema necessrio editaro arquivo /etc/sysconfig/selinux.Ocomandosetseboolutilizadoparaefetuaralteraesnosbooleans. possiveltambminformarviaparmetronobootloaderoestadodoSELinuxeforarobootneste estado,paraistonecessrioforneceroparmetroenforcing=xparaokernel.Ondexpodeser0para warmonlye1paraenforcing.

65

VisualizandoObjetoseProcessosSELinux:
Paraverificarocontextodosprocessosutilize psZ, observequeamaioriadosprocessosestasendo executadonocontextounconfined_t,oquesignificaquenohpolicyestabelecidoerelacionadoaesses processos,ouseja,elessoexecutadocomoseoSELinuxnoexistisse.Paraprocessosconfigurados, existeumdomnio/contextoestabelecidoparacadaum,vrioscontextosj estodisponveisparaos serviospopularesdeinternetcomohttp,dns/bindeetc... ParalistarocontextodosarquivoutilizelsZ,arquivosnovossocriadosapartirdealgumadefiniono policyouocontexto copiadododiretriopai,Ocomandochconefetuaalteraesnoscontextosdos arquivos, sua sintaxe parecida com os comandos regulares do Unix para alterao de permissionamento,taiscomoochmodechown.Aoporeferencepodeserutilizadaparaestabelecer ummodelodearquivoondeseucontextosercopiadoparaosdemais.

66

ImplementandooSoftwareRAID: ConfigurandoosoftwareRAIDcommdadm:
1. UseofdiskparacriaraspartiesqueseroutilizadasnoRAID,tipo LinuxRAIDautodetect cdigofd. 2. Useocomandopartprobeparaatualizaratabeladepartionamemria. 3. Inicializeoarraycomocomando:mdadmC/dev/md0l1n2/dev/hdaX/dev/hdaY 4. CrieofilesystemnodispositivoRAID:mkfs.ext3/dev/md0 5. Crieodiretrioqueseropontodemontagemeadicioneaentradaapropriadaparamontagem automticaemtempodebootnoarquivo/etc/fstab.mkdir/raid1 6. MonteodispositivoRAIDnodiretrioque voccriou:mount/dev/md0/raid1

OtimizaodoRAID:
possvel otimizar ainda mais a performance da sua configurao de RAID criando o filesystem alinhado com o tamanho da stripe size do RAID. Isso permite que os dados acomodemse perfeitamente nos blocos e evite que o sistema efetue clculos adicionais assim degradando a performance.AdocumentaooficialdoLinux(tldp)dizqueaperformancedosnveisdeRAID4e5 soafetadosdiretamenteporessaopoemboranosetenhacertezadequantoissoinfluenciaoutros nveisdeRAID. Oclculo bastantesimples,apenasdividaochunksize(Default64)pelotamanhodeumblocoem Kbytes,geralmente4.Paraverificarotamanhodoblocouseodumpe2fs.Exemplo:64/4=16 mkfs.ext3b4096Rstride=16/dev/md0 sempreaconselhvelefetuartestesdeperformancecriandoarquivosgrandesemensurandoseutempo demanipulaodentrododispositivoRAID.Utilizeoddparacriararquivosgrandes,porexemplo: ddif=/dev/zeroof=/home/testebs=1Mcount=300 Estecomandocriarumarquivonodiretriohomechamadotestecom300MB.Osdadosdessearquivo seronulos. 67

VerificandooRAID:
possvelverificarostatusdoarraycomocomandomdadmdetail/dev/md0outambmverificandoo contedodoarquivo/proc/mdstat.

SoftwareRAIDRecovery:
ApsidentificadoafalhadealgumdiscodoRAIDutilizandoosdevidoscomandosapresentadosna seoVerificandooRAID,horadeefetuaramanuteno. Ateno!Vocprecisaterprecisamenteaidentificaodosdiscosquefalharamparaprocedercom qualqueraodemanuteno,emcasodedvidasnotomenenhumaaoatterprecisamentea identificaodosnomesdosdispositivosqueapresentamproblemas. Iremossimularafalhadeumdispositivoeemseguidaremoverlo.Apsiremosadicionarumnovo dispositivoeefetuarorebuilddoarray.Sigaospassosabaixo:

SimuleaFalhadeumdiscocomocomando:mdadm/dev/md0f/dev/hdaX Observecomoficouseuarraycomocomando:cat/proc/mdstat Removaodiscodoarraycomocomando:mdadm/dev/md0r/dev/hdaX Observenovamenteseuarraycomocomando:mdadmdetail/dev/md0 Desliqueamquinaesubstituaodiscocomproblemasporumnovo(AplicaseemcasoREAL) CrieumanovapartiotipoLinuxRAIDautodetectcomomesmotamanhodapartioantiga Atualizeatabeladepartiesdamemriacomocomando:partprobe Insiraonovodisconoarraycomocomando:mdadm/dev/md0a/dev/hdaZ Omdadmautomaticamenteirprocedercomorebuild Observenovamenteseuarraycomocomando:mdadmdetail/dev/md0

Qualquerinformaosobreerrosnoarrayserologadasno/var/log/messages. Apenasarrayscomfalhadetolerncia,exemplo:RAID1,RAID5,continuaramafuncionaremcasode falhadealgumdisco.Casovoc tenhaconfiguradoumRAID0,vocnopodersimularfalhasnem perdernenhumdiscocomponentedoarray. Paradesligar/desmancharcompletamenteoarrayuseocomando:mdadmstop/dev/md0 68

LaboratrioRAID,cenriodeconfigurao:
CrieumaconfiguraodeSoftwareRAIDdenvel1(Mirroring)emontepermanentementeodiretrio /datanestedispositivo.Osistemadearquivosdevesertipoext3eoespaototaldisponveldeveserde aproximadamente100MB. OBS:Provavelmentesuamquinadeestudosnoter mltiplosdiscosparaefetuaraconfigurao adequadadeSoftwareRAID,nestecasoiremoscriarsimbolicamenteduas(02)partiesnoespao livredoprimeirodiscodisponvelparasimularasconfiguraesdestelaboratrio.

TestedeImplementao/Validao:
Verifiqueasadadocomando:mdadmdetail/dev/md0 Verifique com o comando df Th se o dispositivo /dev/md0 corresponde ao diretrio /data e tem aproximadamente100MBtipoext3.

69

SoluodolaboratrioRAID:
1. Useofdiskparacriarduaspartiesde100MBtipoLinuxRAIDautodetectcdigofdno espaovagodeseudisco. 2. AtualizeatabeladepartiesdoKernelnamemriacomocomando:partprobe 3. CrieoRAIDcomocomando:mdadmC/dev/md0l1n2/dev/hdaX/dev/hdaY 4. Crie/Formateosistemadearquivoscomocomando:mkfs.ext3/dev/md0 5. Crieopontodemontagemcomocomando:mkdir/data 6. AdicionealinhaparamontagemautomticadoRAIDnoarquivo/etc/fstab 7. Montetodososdispositivosdasuafstabcomocomando:mounta 8. ComocomandodfThverifiqueseotamanhododiretrio/datadeaproximadamente100MB

70

ImplementandoLVM: CriandoVolumesLgicos:
1. 2. 3. 4. 5. 6. Executeocomandovgscan. UseofdiskparacriaraspartiesqueseroutilizadasnoLVM,tipoLinuxLVMcdigo8e. Executeocomandopartprobeparaatualizaratabeladepartionamemria. RegistreessaspartiestipoLinuxLVMcomovo lumesfsicos:pvcreate/dev/hdaX/dev/hdaY Crieovolumegroupatribuindoosvolumesfsicos:vgcreatevgteste/dev/hdaX/dev/hdaY Criequantosvolumeslgicosvoc desejarapartirdovolumegroup,voc deveespecificaro nomedovolumelgicoetambmoseutamanho. lvcreateL300Mnlv1vgteste 7. Crieofilesystemnovolumelgico:mkfs.ext3/dev/vgteste/lv1 8. Crieopontodemontagemeadicioneaentradaespecficaparaestefilesystemno/etc/fstab

OtimizaodoLVM:
Sevocestaplanejandocriarumvolumelgicorealmentegrandevocterqueespecificarotamanho dosPEs,issoporqueporpadro1PEtm4MBes possvelatribuir65534PEsparaumvolume lgico.Porexemplo,paracriarumvolumelgicode2TBnecessrioatribuir32MBdetamanhopara1 PE.Vejaoexemploabaixo: vgcreates32Mvgteste/dev/sdbX/dev/sdcY

RedimensionandoVolumesLgicos:
Paraaumentarumvolumelgicooureduzirseutamanho necessrioutilizarasferramentaslvextend (Aumentar)oulvreduce(Diminuir),issoquandoofilesystemest desmontado.Paraprocedercomo redimensionamento online necessrio outra ferramenta chamada ext2online. No exemplo abaixo iremosaumentar200MBdenossovolumelgicojmontado. lvextendL+200M/dev/vgteste/lv1 resize2fs/dev/vgteste/lv1

71

GerenciandoVolumesLgicos:
possvelexpandirosvolumegroupsadicionandomaisvolumesfsicos,istocomoconectareampliar aindamaisacapacidadedovolumegroup,paraissoutilizeocomandovgextend.Pararemoveralgum volumefsicodeumvolumegroupprecisoredistribuirosPEsocupadosparaoutrosvolumefsicocom ocomandopvmoveesapsissodesconectalodovolumegroupcomocomandovgreduce. Umgrupodeferramentasparaajudarnavisualizaoereunirinformaesestodisponveis,soelas:

vgdisplaymostrainformaesdosgruposdevolume/volumegroup. pvdisplaymostrainformaesdosvolumesfsicos. lvdisplaymostrainformaessobreosvolumeslgicos. vgscanprocuraosVGseinicializaabasededados. pvscanprocuraPVs. lvscanprocuraLVs.

ConvertendoLVM1emLVM2:
O RHEL utiliza por padro o formato LVM2 para armazenar os metadados. possvel converter sistemasqueoperamemLVM1paraoformatodoLVM2quemaiscompactoeseguro,paraissoutilize ocomandovgconvert.Vejaoexemploabaixo: vgconvertM2teste1 Ocomandoacimairconverterovolumegroupchamadoteste1deLVM1paraLVM2.

72

IntroduoaoGFS:
OGFS umsistemadearquivoscompartilhado,seuprincipaldiferencial acapacidadedesuportar mltiplosnsdeumclusteraomesmotempo.Emsituaesonde necessrioquevriasmquinas tenhamacessoaumnicofilesystemaomesmotempo(AtivoAtivo)oualternadamente(AtivoPassivo) oGFSrecomendado. ParaproveracapacidadedecompartilhamentodediscosimtricaoGFSpossuiumcomplexosistemade locksetambmdeI/Ofencing,issogarantenveissegurosdeoperaoemambientescomvriosns.Os componentesdoGFSso:CusterManager(CMAN),gerenciadoresdelocks(DLMouGuLM),sistema deconfiguraodocluster(CCS)emdulosparafencing. UmasdasprincipaiscaractersticasdoGFSadesuportargrandescapacidades,parasistemasem32bits suportadoat16TB,jemsistemasde64bitsolimitede8EB.OGFSsuportaat300ns,embora existam outras limitaes quanto a infraestrutura do software de gerenciamento de cluster. Existe tambmsuporteaquotaseaatributosestendidos,osuporteaoSELinuxaindaestaemprocessode desenvolvimento. OsuporteaoLVM2 realizadoatravsdeumabibliotecaespecialmentedesenvolvidaparatrabalhar emambientesclusterizados,oCLVM(ClusterLogicalVolumeManager),quetambmpodesedizerque umdoscomponenteparasetrabalharcomoGFS. Ogerenciamentodejournaling realizadodaformaondetodososnsdoclusterpossuemumjournal prprio,sealgumn doclusterfalhaele desligado,outrosnspodemcolocarofilesystemonline novamente,garantindoassimaaltadisponibilidadedosistemadearquivos. OGFSemsiapresentaseaokerneldoLinuxatravsdemdulos, necessrioquetodososnsdo clusterqueacessemofilesystemGFStenhamessesmdulosdevidamenteinstalados.Comrelaoao user space diversas ferramentas tambm devem ser instaladas para trabalharse com o GFS, a ferramentagfs_mkfsporexemploutilizadanacriaodofilesystem. ObservequecomooGFSpermiteacentralizaodaestruturadedadosemum nicofilesystem,em ambientesmaudimensionadosissopodecausargargaloselimitaesoperacionais.necessriotambm um planejamento antes da criao do filesystem, o administrador deve ter um mente as metas de crescimentoeexpansonahoradeespecificarotamanhodojournaletambmonmerodensque poderamacessearessefilesystemnofuturo. 73

IlustraodaAplicaodoGFScomOracle:

74

LaboratrioLVM,cenriodeconfigurao:
Criedois(02)volumesfsicosdeaproximadamen te150MBcada. Crieum(01)grupodevolumeschamadovg1eadicioneosvolumesfsicoscriados,apscriedois(02) volumeslgicoschamadoslv1elv2respectivamente.Umdetalheimportantesobreovg1queeledeve ter PEs de tamanho igual a 8 MB. O tamanho dos volumes lgicos lv1 e lv2 deve ser de aproximadamente 100MB cada. Monte o lv1 em /dados e lv2 em /projetos e adicione as entradas necessriasno/etc/fstabparamontagemautomticaduranteoprocessodeboot. Criee manipulearquivosdentrode/projetose/dadoseverifiqueotamanhoedisponibilidade dos filesystemscomocomandodfTh.Inspecionetambmsuasconfiguraescomoscomandos:vgdisplay elvdisplay. Adicionemaisumvolumefsicode30MBaovg1. Agoraaumenteaproximadamente50%dotamanhodelv1elv2comosfilesystemsmontados. Verifiqueseosseusdadoscontinuamintactosdentrodosdiretrios/projetose/dados. Verifiqueseotamanhorealmenteaumento uaproximadamente50%analizandoasadadocomando: dfTh. OBS: Voc ter que criar novas parties no espao disponvel de seu disco para satisfazer os requerimentosdestelaboratrio.Certifiquesequehespaodisponvelantesdecomear.

TestedeImplementao/Validao:
Os testes de validao deste laboratrio consistem em verificar o tamanho e a disponibilidade de manipulaodedadosnosdiretrios/dadose/projetos. Utilizeoscomandos:vgdisplay,lvdisplayedfTh.

75

SoluodolaboratrioLVM:
1. Crieduas(02)partiesdetamanhoaproximadode150MB,tipoLinuxLVMcdigo8e 2. AtualizeatabeladepartiodememriadoKernelcomocomando:partprobe 3. Crieospvscomocomando:pvcreate/dev/hdaX/dev/hdaY 4. Crieovg1comocomando:vgcreates8Mvg1/dev/hdaX/dev/hdaY 5. Crieosvolumeslgicos:lvcreateL100Mnlv1vg1;lvcreateL100Mnlv2vg1 6. Crieofilesystemext3nosLVs:mkfs.ext3/dev/vg1/lv1;mkfs.ext3/dev/vg1/lv2 7. Crieospontosdemontagenseadicioneasentradasnafstab:mkdir/dados;mkdirprojetos 8. Montetodasuafstabcomocomando:mounta 9. VerifiquecuidadosamenteasadadocomandodfThemount 10. Criearquivosem/dadose/projetos: ddif=/dev/zeroof=/dados/testebs=1Mcount=20 ddif=/dev/zeroof=/projetos/testebs=1Mcount=25 11. Verifiqueasadadocomando:lvdisplay/dev/vg1/lv1;lvdisplay/dev/vg1/lv2 12. Verifiqueasadadocomando:vgdisplayvg1 13. Criemaisuma(01)partiodetamanhoaproximadode100MB,tipoLinuxLVMcdigo8e 14. Atualizeatabeladeparties:partprobe 15. Crieonovopvcomocomando:pvcreate/dev/hdaZ 16. Adicioneonovopvaovg1:vgextendvg1/dev/hdaZ 17. Aumente50%delv1elv2:lvextendL+50M/dev/vg1/lv1;lvextendL+50M/dev/vg1/lv2 18. Utilizeocomando:resize2fs/dev/vg1/lv1;resize2fs/dev/vg1/lv2 19. Verifiqueseosdadoscontinuamintactos! 20. VerifiqueasadadocomandodfTh

76

GerenciamentodeContaseGruposdoSistema:
adduser: Este ocomandomaistradicionalparainserirnovascontas. equivalenteaeditarmanualmenteos arquivos: /etc/passwd /etc/group, criar o diretrio home com as permisses adequadas e popular o diretriohomecomocontedodo/etc/skel. newusers: Estecomando indicadoparaquandovocdesejaadicionarmuitascontasdeumas vez.Onewusers processaumarquivotextoformatadoonde inseridoonomedosnovosusurioseseusrespectivos passwords. userdel: Paradeletarusuriosdosistemausesempreouserdel.equivalenteaeditarmanualmenteosarquivos: /etc/passwd /etc/shadow /etc/group /etc/gshadow /var/spool/mail. Sem parmetros preservado o contedododiretriohomedousurio. usermod: Paraalteraroscamposdeumacontano/etc/passwduseocomandousermod. possvelentremuitos tensalteraroIDdousurio,Shell,Diretriohome,NomedeLogineetc.. passwd: Efetuaatrocadepasswordcriptografadadosusurios.Alteraocontedodoarquivo/etc/shadow. chage: Estecomandoestabeleceumapolticadevalidadeparaospasswords.possveldeterminaroespaode tempoentreatrocadepassword,isto ,foraopassworddosusuriosaexpirarem,ondeelesso obrigadosatrocar.Entreoutrasopestambm possvelespecificaroperododetempomnimoque umusurioterquepermanecersemtrocardepassword.extremamenteaconselhvelestabeleceruma polticadevalidadedepasswordsdentrodeseudomnio. groupadd: Criagruposadicionandoentradasno/etc/group.

77

groupmod: Efetuamodificaesnosgrupos,autilidademaiscomum trocarnomesdegrupospreservandoseus membros. groupdel: Para deletar grupos utilize o groupdel. Equivalente a editar manualmente os arquivos: /etc/group /etc/gshadow. gpasswd: utilizadoparaadministrarosarquivos/etc/groupe/etc/gshadow.Suautilidademaiscomumalmde configurarmembrosdegruposgerenciaradministradoresepasswordsparaosgrupos. systemconfigusers: Ferramentagrficadesenhadaparagerenciartotalmenteascontasegruposdosistema.Muitopoderosae verstil, capazdeefetuarotrabalhodetodososcomandoscitadosnestecaptuloparagerenciaras contasegrupos.Fcilutilizaoevisualizao.

Umask:
amscaradepermissionamentodacriaodearquivosediretrios.Semaumaskqualquerarquivo criadonosistemateriaapermissopadrode666ediretriosde777.Oscript /etc/bashrcconfigurano momentodeloginumaumaskpadroparatodososusuriosdosistema,noRHELaumaskpadrodeum usurio0002edousurioroot0022.Paraefetuaroclculodaumaskapenasdiminuaovalordesua umaskde666paraarquivosoude777dadiretrios.Ocomando umask utilizadoparamostrarsua umaskoutambmefetuaralteraes,lembrandoqueparasuasalteraesseremresistentesaoboot necessrioconfiguraraumasknoscript~/.bashrc.

Setgid:
Normalmentequandocriamosarquivos,essesarquivospertencem aogrupopadrodousurio. Quandoconfiguramoso setgid bitemumdiretrio,automaticamenteoarquivocriadoter seugrupo configurado para o mesmogrupododiretriopai,issopermiteummecanismoque ajusta o group ownershipautomaticamente.Configuraro setgid muito tilquandodiversosusuriosdeummesmo grupoestoacessandoarquivosemcomumdentrodeumdiretrio.Paraconfiguraro setgid vejao exemplouse:chmodg+s<diretrio>

78

ScriptsdeInicializaodeAmbiente:
Vriosscriptssoexecutadosemtempodeloginparaumacontaquepossuiumshell.Essesscriptsso responsveisporconfigurartodooambienteparaousurio,inmerasvariveistaiscomooPatheAlias decomandosglobaissoconfigurados.Vejaabaixoaordemdeexecuodessesscriptsnomomentodo login:

/etc/profile /etc/profile.d ~/.bash_profile ~/.bashrc /etc/bashrc ~/.bash_logout

/etc/profile: Esteoprimeiroscriptquechamadoparaologindecontasquepossuemshell.Eleresponsvelpor configurarasprincipaisvariveisdeambientecomo:PATH,HISTSIZE,LOGNAME,USER. Estescript tambmexecutaoutrosscriptsde /etc/profile.d. /etc/profile.d: Nestediretrioencontramsescriptsdeconfiguraoeinicializaodeaplicativos,sempreduascpias domesmoscriptsestodisponveis,umaemBourneshelleaoutraemCshell.Ascoresdolsso configuradasaquientreoutrasdefiniesparaaplicativoscomoglib,gnome,kdeeetc... ~/.bash_profilee~/.bashrc Estesscriptscontminicializaesparticularesdecadausurio.Podemsercolocadasvariveis,aliases ou comandos de inicializao. Comandos que geram sada na tela devem ser colocados no ~/.bash_profileenuncano~/.bashrc. /etc/bashrc: Nestescriptsoconfiguradasfunesglobaisdoshellqueafetamtodososloginsdosusurios. ~/.bash_logout: Este script executadoquandoousuriosefetualogout. tilparasituaesonde precisofazer backupsdearquivos,deletartemporrioseetc...Estescripttambmparticulardecadausurioedeve estarnodiretriohome.

79

GerenciamentodePacotescomRPM:
OGestordePacotesRPM(RPM)umsistemadeempacotamentoaberto,disponvelparausodetodos, querodanoRedHatEnterpriseLinuxassimcomoemoutrossistemasLinuxeUNIX.ARedHat,Inc. incentivaoutrosfabricantesausaremoRPMemseusprodutos.ORPMpodeserdistribudosobos termosdaGPL. ORPMfacilitaasatualizaesdosistemaparaousuriofinal.Tarefascomoinstalar,desinstalare atualizarospacotesRPMpodemserfeitascomcomandoscurtos.ORPMmantemumbancodedadosde pacotesinstaladoseseusarquivosparaquevocpossaefetuarbuscaseverificaespoderosasemseu sistema.Sevocpreferirainterfacegrfica,podeusaraferramentadeadministraodepacotesGUI. Duranteasatualizaes,oRPMlidacuidadosamentecomosarquivosdeconfiguraoparaquevoc nuncapercaapersonalizao,algoimpossveldeserfeitocomarquivos.tar.gznormais. Paraodesenvolvedor,oRPMpermitelevarocdigofontedosotfwareeempacotloemumafontee pacotesbinriosparausuriosfinais.

ObjetivosdeDesenvolvimentodoRPM:
ParaentenderousodoRPM,podesertilentenderseusobjetivosdedesenvolvimento:

CapacidadedeAtualizao UsandooRPMvocpodeatualizarcomponentesindividuaisdeseusistemasemprecisarreinstal loscompletamente.Quandovocobtemumanovaversodeumsistemaoperacionalbaseadoem RPMs(comooRedHatEnterpriseLinux),noprecisareinstalloemsuamquina(comoocaso de sistemas operacionais baseados em outros sistemas de empacotamento). O RPM permite atualizaes inteligentes totalmente automatizadas e certeiras de seu sistema. Os arquivos de configuraodospacotessopreservadosaolongodasatualizaesparaquevocnopercasua personalizao.Noh arquivosespeciaisnecessriosparaaatualizaodeumpacoteporqueo mesmoarquivoRPMusadoparainstalareatualizaropacotenoseusistema.

80

BuscaPoderosa ORPMdesenvolvidoparaproveropespoderosasdebusca.Vocpodeprocurardeterminados pacotesouarquivosnoseubancodedadosinteiro.Voctambmpodedescobriraqualpacoteum arquivopertenceedeondeopacoteveio.OsarquivosqueopacoteRPMcontmestoemum arquivocomprimido,comumcabealhobinriopersonalizadocontendoinformaesteissobreo pacoteeseucontedo,permitindoquevocprocurepacotesindividuaisfcilerapidamente. VerificaodoSistema Umaoutrafuncionalidadeimportanteaverificaodepacotes.Sevocnosabeseapagoualgum arquivoimportantedealgumpacote,verifiqueo.Voc ser notificadodequaisqueranomalias. Nesteponto,vocpodereinstalaropacotesenecessrio.Todososarquivosdeconfiguraoque vocmodificousopreservadosduranteareinstalao. Instalaodepacotesnuncainterativa TodosoftwaredistribudoemRPMinclusiveabasedosistemaoperacional

UsandooRPM:
ORPM temcincomodosdeoperaobsicos(semcontaracompilaodepacotes):instalar,des instalar,atualizar,buscareverificar.Estaseocontmumavisogeraldecadamodo.Paraveros detalheseopescompletas,use:rpmhelp.

InstalandoPacotes:
Os pacotes RPM geralmente tm nomes de arquivos como foo1.01.i386.rpm. O nome do arquivoincluionomedopacote(foo),verso(1.0),subverso(1)earquitetura(i386).Instalarum pacotemuitosimples,bastaautenticarsecomorootedigitaroseguinteemumajaneladecomandos:
rpmUvhfoo1.01.i386.rpm

Seainstalaoforbemsucedida,oseguinteoutputapresentado:
Preparing...###########################################[100%] 1:foo###########################################[100%]

81

Comovocpodeobservar,ORPMtrazonomedopacoteeentoumasucessodehfenscomomedida doprogresso,conformeopacoteinstalado. Iniciandocomaverso4.1doRPM,aassinaturadeumpacoteverificadaautomaticamenteaoinstalar ouatualizarumpacote.Seaverificaodaassinaturafalhar, apresentadaumamensagemdeerro parecidacomaseguinte:


error:V3DSAsignature:BAD,keyID0352860f

Seaassinaturanova,somentecomcabealho,apareceumamensagemdeerroparecidacomaseguinte:
error:HeaderV3DSAsignature:BAD,keyID0352860f

Sevocnotemachaveapropriadainstaladaparaverificaraassinatura,amensagemcontmapalavra NOKEY,talcomo:
warning:V3DSAsignature:NOKEY,keyID0352860f

PacoteJInstalado:
Seopacotedamesmaversojestinstalado,oseguinteapresentado:
Preparing...###########################################[100%] packagefoo1.01isalreadyinstalled

Sevocdesejainstalaropacotedequalquermaneiraeamesmaversojestinstalada,vocpodeusara oporeplacepkgs,quepedeaoRPMparaignoraroerro:
rpmivhreplacepkgsfoo1.01.i386.rpm

Estaopo tilseosarquivosinstaladospeloRPMforamapagadosousevoc desejainstalaros arquivosoriginaisdeconfiguraopeloRPM.

ArquivosConflitantes:
Sevoctentarinstalarumpacotequecontmumarquivoquefoiinstaladoporoutropacoteouporuma versomaisantigadomesmopacote,apareceoseguinte:
Preparing...###########################################[100%] file/usr/bin/foofrominstalloffoo1.01conflictswithfilefrompackagebar2.0.20

82

ParafazercomqueoRPMignoreesteerro,useaoporeplacefiles:
rpmivhreplacefilesfoo1.01.i386.rpm

DependnciaNoresolvida:
OspacotesRPMpodem"depender"deoutrospacotes,oquesignificaqueelesrequeremainstalaode outros pacotes para rodarem apropriadamente. Se voc tentar instalar um pacote que tem uma dependncianoresolvida,apareceumoutputsimilaraoseguinte:
Preparing...###########################################[100%] error:Faileddependencies: bar.so.2isneededbyfoo1.01 Suggestedresolutions: bar2.0.203.i386.rpm

SevocinstalarumpacotepelosCDsdoRedHatEnterpriseLinux,geralmentesugeresequeresolvaa dependnciado(s)pacote(s).EncontreestepacotenosCDsdoRedHatEnterpriseLinuxoupelosite(ou espelho)FTPdaRedHateadicioneoaocomando: rpmivhfoo1.01.i386.rpmbar2.0.203.i386.rpm

Seainstalaodosdoispacotesforbemsucedida,apareceumoutputsimilaraoseguinte:
Preparing...###########################################[100%] 1:foo###########################################[50%] 2:bar###########################################[100%]

Senosugereumpacotepararesolveradependncia,vocpodetentaraoporedhatprovides paradeterminarqualpacotecontmoarquivonecessrio.Vocprecisateropacoterpmdbredhat instaladoparausarestasopes.


rpmqredhatprovidesbar.so.2

Seopacotequecontmobar.so.2estnobancodedadosinstaladopelopacoterpmdbredhat,o nomedopacoteapresentado:
bar2.0.203.i386.rpm

Paraforarainstalaodequalquermaneira(umamidiajqueopacoteprovavelmentenorodar corretamente),useaoponodeps.

83

Desinstalando:
Desinstalarumpacotetosimplesquantoinstalarum.Digiteoseguinteemumajaneladecomandos:
rpmefoo

Nota Notequeusamoso nome dopacotefoo enoonomedo arquivo dopacoteoriginal foo 1.01.i386.rpm. Para desinstalar um pacote, substitua foo pelo nome verdadeiro do pacoteoriginal.

Vocpodeencontrarumerrodedependnciaaodesinstalarumpacote,casoumoutropacoteinstalado dependadaquelequetentaremover.Porexemplo:
Preparing...###########################################[100%] error:removingthesepackageswouldbreakdependencies: fooisneededbybar2.0.203.i386.rpm

ParafazercomqueoRPMignoreesteerroedesinstaleopacotedequalquermaneira(oquetambm umam idiaj queopacotequedependedesteprovavelmentenofuncionarcorretamente),usea oponodeps.

Atualizando(Update):
Atualizarumpacotesimilarainstalarum.Digiteoseguinteemumajaneladecomandos:
rpmUvhfoo2.01.i386.rpm

Oquevocnovacima queoRPMautomaticamentedesinstaloutodasasversesantigasdopacote foo.Sequiser,vocpodesempreusarUparainstalarpacotes,jquefuncionamesmoquandonoh versesanterioresdopacoteinstalado. ComooRPMexecutaaatualizaointeligentedepacotescomarquivosdeconfigurao,voc talvez vejaumamensagemcomoesta:


saving/etc/foo.confas/etc/foo.conf.rpmsave

84

Esta mensagem significa que suas alteraes ao arquivo de configurao talvez no sejam "compatveis"comonovoarquivodeconfiguraonopacote,portantooRPMsalvouoarquivooriginal einstalouumnovo.Vocdeveverificarasdiferenasentreosdoisarquivosdeconfiguraoeresolv lasoquantoantesparagarantirobomfuncionamentodoseusistema. Narealidade,atualizarumacombinaoentreinstalaredesinstalar,portanto,duranteumaatualizao doRPM,vocpodeencontrarerrosdeinstalaoedesinstalao.SeoRPMachaquevocesttentando atualizarparaumpacotecomumaversomaisantiga,ooutputsimilaraoseguinte:
packagefoo2.01(whichisnewerthanfoo1.01)isalreadyinstalled

ParafazercomqueoRPM"atualize"dequalquermaneira,useaopooldpackage:
rpmUvholdpackagefoo1.01.i386.rpm

Recarregando(Freshen):
Recarregarumpacotesimilaraatualizarum.Digiteoseguinteemumajaneladecomandos:
rpmFvhfoo1.21.i386.rpm

Aopoderecarregamento(freshen)doRPMverificaasversesdospacotesespecificadosnalinhade comandocomasversesdospacotesquejforaminstaladosnoseusistema.Quandoumaversomais recentedeumpacotejinstaladoprocessadapelaopoderecarregamentodoRPM,atualizadapara aversomaisnova.Entretanto,aopoderecarregamentodoRPMnoinstalaumpacotesenohouver umoutropreviamenteinstaladocomomesmonome.IstodiferedaopodeatualizaodoRPM,jque aatualizaoinstalaospacotes,independentedofatodehaverumaversomaisantigadopacoteouno. A opode recarregamentodoRPMparapacotessimplesouumgrupodepacotes.Sevoc fez o downloaddeumgrandenmerodepacotesdiferenteses desejaatualizarospacotesquej esto instaladosnosistema,orecarregamento amelhoropo.Seusarorecarregamento,no necessrio apagarpacotesnoquistosdogrupobaixado(download)antesdeusaroRPM. Nestecaso,invoqueoseguintecomando:
rpmFvh*.rpm

ORPMatualizaautomaticamentesomenteaquelespacotesquejestoinstalados.

85

Busca(Query):
Useocomandorpmqparaefetuarbuscasnobancodedadosdepacotesinstalados.Ocomando rpm qfooexibeonome,versoesubversodopacoteinstaladofoo:
foo2.01

Nota Notequeusamosnomedopacotefoo.Parabuscarumpacote,necessriosubstituirfoopelo nomeverdadeirodopacote.

Aoinvsdeespecificaronomedopacote,vocpodeusarasseguintesopescom qparaespecificar o(s)pacote(s)quedesejabuscar.EstassochamadasOpesdeEspecificaodePacotes.


abuscaemtodosospacotesatualmenteinstalados. f<file> buscapelopacotequedetmo<file>.Aoespecificarumarquivo, necessrio indicaralocalidadecompletadomesmo(ex.:/usr/bin/ls). p<packagefile>buscapelopacote<packagefile>.

H diversas maneiras de especificar quais informaes devem ser apresentadas sobre os pacotes encontrados.Asopesaseguirsousadasparaselecionarotipodeinformaopelaqualvocprocura. EstassochamadasdeOpesdeSeleodasInformaes.

i apresentaasinformaesdopacoteincluindonome,descrio,verso,tamanho, data de criao,datadeinstalao,fabricanteeoutrasinformaesdiversas. lapresentaalistadosarquivoscontidosnopacote. sapresentaoestadodetodososarquivosdopacote. dapresentaumalistadosarquivosmarcadoscomodocumentao(pginasman,pginasinfo, READMEs,etc.). c apresentaumalistadosarquivosmarcadoscomoarquivosdeconfigurao.Estessoos arquivos que voc altera aps a instalao para configurar o pacote ao seu sistema (ex.: sendmail.cf,passwd,inittab,etc.).

Paraasopesqueapresentamlistasdearquivos,vocpodeadicionarvaocomandoparaapresentar aslistasnumformatolslfamiliar.

86

Verificando:
Verificarumpacotecomparaasinformaessobreosarquivosinstaladosdeumpacote smesmas informaesdopacoteoriginal.Dentreoutrascoisas,averificaocomparaotamanho,somaMD5, permisses,tipo,proprietrio(owner)eogrupodecadaarquivo. Ocomando rpmV verificaumpacote.Voc podeusarqualquerumadas OpesdeSeleode Pacotes listadasparaaprocura,paraespecificarospacotesquedesejaverificar.Umusosimplesda verificaorpmVfoo,queverificasetodososarquivosdopacotefooestocomoestavamquando foramoriginalmenteinstalados.Porexemplo: Paraverificarumpacotecontendoumdeterminadoarquivo:
rpmVf/bin/vi

ParaverificarTODOSospacotesinstalados:
rpmVa

ParaverificarumpacoteinstaladosobreumarquivodopacoteRPM:
rpmVpfoo1.01.i386.rpm

Este comando pode ser til se voc suspeitar que seus bancos de dados RPM estejam corrompidos. Se tudo for verificado apropriadamente, no haver output. Se houver discrepncias, estas sero apresentadas. O formato do output um conjunto de oito caracteres (um c denota um arquivo de configurao) eentoonomedoarquivo.Cadaumdosoitocaracteresdenotaoresultado de uma comparaodeumatributodoarquivoaovalordestemesmoatributoregistradonobancodedadosRPM. Um nico . (ponto)significaqueotestefoiaprovado.Osseguintescaracteresdenotamafalhade determinadostestes:

5verificaodeconsistnciaMD5 Stamanhodoarquivo(size) Lligaosimblica Thoradamodificaodoarquivo(time) Ddispositivo Uusurio 87

Ggrupo Mmodo(incluipermissesetipodoarquivo) ?arquivoilegvel

ImportandoChaves:
ParaverificarospacotesdaRedHat,vocdeveimportarachaveGPGdaRedHat.Parafazlo,execute oseguinteemumajaneladecomandos:
rpmimport/usr/share/rhn/RPMGPGKEY

ParaexibirumalistadetodasaschavesinstaladasparaaverificaodoRPM,executeocomando:
rpmqagpgpubkey*

ParaachavedaRedHat,ooutputinclui:
gpgpubkeydb42a60e37ea5438

Para exibir detalhes sobre uma chave especfica, use rpm qi seguido pelo output do comando anterior:
rpmqigpgpubkeydb42a60e37ea5438

VerificandoaAssinaturadePacotes:
ParaverificaraassinaturaGnuPGdeumarquivoRPMapsimportarachaveGnuPGdocriador,useo seguintecomando(substitua<rpmfile>pelonomedoarquivodopacoteRPM):
rpmK<rpmfile>

Setudocorrerbem, exibidaaseguintemensagem:md5gpgOK.Istosignificaqueaassinaturado pacotefoiverificadaenoestcorrompida.

88

AutenticaoPAM:
Pluggable Authentication Modules um sistema de autenticao e autorizao modular, aplicaes podemcompartilhardeumsistemanicocentralizadodeautenticaoevalidaodecontasnosistema ondeoaplicativocompatvelcomaPAMchamaasbibliotecas(mdulos)PAMeapscorrertodosos requisitosconfiguradosretornaumcdigodesadadesucessooufalhaparaoaplicativo.Utilizandoa PAMomecanismodeautenticao nicoparadiversasaplicaesassimcentralizandoefacilitandoa verificaodequalquerproblemapossvel. ComoosistemadeautenticaodaPAM modular possveladicionarnovosmduloseremover mdulosantigos,assimadicionandofuncionalidadesparasuportarvriosmtodosdeautenticao. UmexemploclssicodeaplicativoqueconversacomaPAM ologincujaprincipalfuno fazera autenticaodeusuriospadronoUNIX.Oprogramaloginlinkadonalibpam.so,istosignificaqueo login compatvelcomautenticaoPAM.Apsoprogramalogincoletartodososdadosrelevantes como passwordeoutrasinformaes,elefazaconversaocomaPAMqueporsuavez utiliza a configuraodosconjuntosdemdulosconfiguradaparaaquelaaplicaopararetornarumvalorde sucessooufalha.importantelembrarqueaPAMnofazidiaseessaautenticaovmdeumconsole textoougrficoouatselocalouviarede,aresponsabilidadedajaneladecomunicaodaaplicao.

ConfiguraodaPAM:
Os mdulos da PAM que fazem as verificaes esto instalados no diretrio /lib/security. Alguns mdulosdependemdeconfiguraesparticularesespeciaisparaefetuarsuasverificaesefinalidades,a localizao desses arquivos deconfigurao podem variardemdulo para mdulo.Alguns usam o tradicional,porexemplo, /etc/nologin outrospodemsalvarseusarquivosdeconfiguraonodiretrio /etc/securitty.

Nodiretrio/etc/pam.d ondelocalizamseosarquivosdeconfiguraoparacadaaplicao.Geralmente onomedoarquivocorrespondeaonomedaaplicao.Essesarquivosdeconfiguraoespecificamquais osmdulosqueseroutilizadoseseusparmetros.

89

Existem5categoriasprimriasdegerenciamento,soelas:

Auth(Autenticaodousurio) Account(Verificaoseacontaestsaudvel,senoestdesabilitadaporexemplo) Password(Verificaoeatualizaodesenhas) Session(Gerenciaasessoaplicandorestriesnologinoulogout) Include(Chamaoutroarquivodeconfigurao)

Cada uma dessas cinco categorias totalmente independente. Os mdulos no suportam todas as categorias,aaplicaoirchamarcadamdulorespectivoparasuacategoriaporvez.

Existeumconjuntodecontrolesquedeterminamcomocadamdulovaiinterferirnoresultadofinalda operao. A ordem dosmdulos checados, e como essa verificao ir proceder determinada no arquivo de configurao de cada aplicao, muitos mdulos possuem parmetros especiais que influenciamnostestes.Oscontrolesprimriosso:

Required Averificaodeverpassarnesteitemparaoresultadofinalserpositivo,quandoesteitemfalhaa verificaocontinuadaatofim,pormoresultadofinalj estacomprometido. Sufficient Seaschecagensdetodosositensanterioresrequiredforempositivas,bastaapenasachecagem deumnicoitemsufficientparaverificaoretornarpositiva. Optional Seaverificaopassaroufalharaqui,esseresultadonoinfluenciara. Requisite Seaverificaofalharaquioresultadofinaljsernegativo.

90

PrincipaisMdulosdaPAM:

pam_unix GerenciaaautenticaopadrodoLinuxatravsdaschamadasdalibc.Este omdulocentral daPAM. pam_permit,pam_deny Essessomdulossimplesquesempreiroresultaremverdadeirooufalso. pam_stack Estemdulochamaoutroarquivodeconfiguraodeaplicativo,oretornodasverificaesneste arquivoserooresultadofinaldopam_stackemverdadeirooufalso. pam_cracklib Este mdulo chamadoquandoousuriotrocasuasenha,vriasverificaessofeitas no passwordcomoaquantidademnimadecaracteres,verificaoemdicionrioseetc... pam_env Configuravariveisdeambiente,seuarquivodeconfigurao/etc/security/pam_env.conf. pam_securetty Permiteautenticaodeusuriosoudorootso mentepelasTTYslistadasem/etc/securetty. pam_rootok Retornaverdadeiroseousurioforroot pam_console Retornaverdadeiroseaautenticaoveiodeumconsole

SealgumaplicativocompatvelcomaPAMpedirautenticaoenoforencontradoseuarquivode configurao, a PAM sempre utiliza um arquivo padro para essa situao localizado em /etc/pam.d/other.Aconfiguraodefaultdo/etc/pam.d/otherrestritivafazendoousodapam_deny.so.

91

AnalizandoaConfiguraodaPAM:
VejaabaixoumexemplodeconfiguraodaPAM,iremosanalisarsomenteocontroledeautenticao (auth): [root@vibe~]#cat/etc/pam.d/login #%PAM1.0 auth[user_unknown=ignoresuccess=okignore=ignoredefault=bad]pam_securetty.so authincludesystemauth accountrequiredpam_nologin.so accountincludesystemauth passwordincludesystemauth #pam_selinux.socloseshouldbethefirstsessionrule sessionrequiredpam_selinux.soclose sessionincludesystemauth sessionrequiredpam_loginuid.so sessionoptionalpam_console.so #pam_selinux.soopenshouldonlybefollowedbysessionstobeexecutedintheusercontext sessionrequiredpam_selinux.soopen sessionoptionalpam_keyinit.soforcerevoke EstaaconfiguraodaPAMdoaplicativologin.Vejaquehumincludenasessodeauthquechama um outro arquivodeconfiguraochamado systemauth.Vejanaprximapginaaconfiguraodo systemauth.Aprimeiralinhadasessoauthapenasdefinevaloresaseremutilizados. [root@vibe/etc/pam.d]#catsystemauth #%PAM1.0 #Thisfileisautogenerated. #Userchangeswillbedestroyedthenexttimeauthconfigisrun. authrequiredpam_env.so authsufficientpam_unix.sonulloktry_first_pass authrequisitepam_succeed_if.souid>=500quiet authrequiredpam_deny.so accountrequiredpam_unix.so accountsufficientpam_succeed_if.souid<500quiet accountrequiredpam_permit.so 92

passwordrequisitepam_cracklib.sotry_first_passretry=3 passwordsufficientpam_unix.somd5shadownulloktry_first_passuse_authtok passwordrequiredpam_deny.so sessionoptionalpam_keyinit.sorevoke sessionrequiredpam_limits.so session[success=1default=ignore]pam_succeed_if.soserviceincrondquietuse_uid sessionrequiredpam_unix.so

Na primeira linha encontramos a pam_env.so, seu arquivo de configurao est localizado em /etc/security/pam_env.so.Afunodomdulopam_env.so apenasconfigurarvariveisdeambiente, nenhumtesterealizadoaqui.

Nasegundalinhaqueaconteceaautenticaoemsiatravsdomdulopam_unix.so.Oparmetronullok indicaquepermitidopasswordsnulos(vazio).

Naterceiralinhatemosomdulopam_succeed_if.so,suafuno retornarpositivoseaexpressofor verdadeira,oparmetrouid<500quietindicaquenoser precisoregistrarfalhaousucessono syslogparausurioscomUIDmaiorque500.Oobjetivoaqui registrarlogsno /var/log/secure de tentativasfrustradasdelogindousuriorootporexemplo.

Naquartalinhatemosopam_deny.soquesempreretornafalso.Emresumofinal,seopam_unix.sono autentica, feitooregistronoslogsdosistemaparausurioscomUIDinferiora500elogoaps retornadoaaplicaoostatusdefalhanaautenticao.

93

NSS:
NaautenticaotradicionaldoUNIX,osaplicativosfazemusodafunogetpwnam()daLIBCpara autenticaodeusurios.Essafunooriginalmentefoiprogramadaparaacessarsomenteosrepositrios dearquivoslocaiscomoo /etc/passwd/etc/shadow/etc/hosts eassimpordiante.Comachegadade novosserviostaiscomoDNSeNIS,umareescritadafunogetpwnam()foirealizada.Reescrevera funofoinecessrioparacadanovotipodeservioourepositrioquesurgisse. ParacontornaressasituaofoicriadooNameServiceSwitch,quetornamodularomecanismode acessoaoutrosserviosourepositrio sdecontas.ComoNSSnomaisnecessrioreescreveraLIBCe novos servios podem ser suportados apenas fornecendo o mdulo necessrio ao NSS em /lib/libnss_service.so. Para as aplicaes o NSS transparente e as autenticaes continuam sendo realizadasdaformatradicional. AordemdeprocuradosserviosverificadospeloNSS configuradanoarquivo /etc/nsswitch.conf. O primeiro item por linha o nome da base de dados de nomes consultada pela LIBC, so eles: aliases,ethers,group,hosts,netgroup,networks,passwd,protocols,rpc,services,shadow.Seguidodabasede dadosvemalistadosserviosemordemqueserochecadosparabuscarasinformaes.Paraconsultar umabasededadosuse:getentpassw d.Vejaoexemplodaseguinteconfigurao:passwd:filesldapnis Noexemploacimaestaconfiguradoqueorepositriodeusuriosaserverificadoemprimeirolugaro files ouseja, /etc/passwd,casoousurionosejaencontradoainda procuradoemumabase ldap e mesmoassimseaindanoforencontrado,procuradoemumabaseNIS.ObviamenteosserviosLDAP eNISdevemestarcorretamenteconfiguradoseoperandoparaqueissosejarealizado. Apenas4resultadossopossveisdeserretornadosquandooNSSverificaumservioourepositrio, soeles:

SUCCESS Serviodisponvel,nomeencontrado. NOTFOUND Serviodisponvel,nomenoencontrado. UNAVAIL Servionodisponvel. TRYAGAIN Errotemporrionoservio.

ONSSirretornarnoprimeiroSUCCESS,casocontrariooutrasbasesconfiguradasseroverificadas. 94

ConfigurandoAutenticaoLDAP:

Iremosverapenasapartedeconfiguraoquepermitequeseuservidorautentiqueseemumserviode diretriobaseadonoprotocoloX500jexistente. necessrioinstalarospacotes nssldapeopenldap queprovemtantoaparteclientecomoosservidoresebibliotecasparatrabalharcomoLDAP. AconfiguraodeumservidorLDAP,ondeslapd oservidorstandaloneparaservirrequisiesLDAP eslurpd oservidorstandaloneresponsvelpelasreplicaesesincronizaesdoserviodediretrio, noseroabordadasnestecaptulo. EmgeralquandooserviodediretrioLDAPusadoparaautenticaoomaiorbeneficiogarantidoa autenticaocentralizada,todasascontasficamarmazenadasemumnicorepositriocentralediversos servidoreseserviosbuscamautenticaoapenasnele.Facilmentepodemosreplicarasinformaes desse repositrio criando backups altamente consistentes. Podemos destacar tambm que possvel estenderosatributosdeuma nicacontaparasuportarvriostiposdeservios,destaformanum nico registropossvelsuportarautenticaesdeserviosdistintos,porexemplo,UNIXeSAMBA. Podemserarmazenadasnoserviodediretrioqualquertipodeinformao,oLDAPumaespciede bancodedadosparainformaesrelativamentepequenas,ouseja,informaeslevessoorganizadas hierarquicamente,geralmentesostringsdecaracteresquesorapidamentetransferidospelarede.Todas informaesdosarquivos/etc/passwd/etc/shadow/etc/group/etc/hosts,tabelasde DNS soexemplos tpicosdedadosencontradosnoserviodediretrio. Umconjuntodearquivosdevemsermodificadosparaconfigurarseuservidorcomoumclienteldappara autenticao.Aformamaisfcildefazerisso utilizandoaferramentasystemconfigauthentication, disponvelparainterfacegrfica. importantetambmusarcriptografiaTLS,casocontrarioassenhas serotransmitidasemtextopuropelaredeparacadaautenticao.Paraconsoletextoestadisponvela ferramentaauthconfigtui quetemamesmafinalidade.CertifiquesequeoseuservidorLDAPpossui suporteaTLSeefetueodownloaddocertificado,necessriotambmconheceroendereodoservidor eobaseDNreferenteaorepositriodeusurios,paraissocontateoadministradordesuarede. Os arquivos /etc/ldap.conf /etc/openldap/ldap.conf /etc/nsswitch.conf /etc/pam.d/systemauth sero modificadosemordemasuportarautenticaoLDAP.

95

GerenciandoasinterfacesdeRede:
Ogerenciamentodasinterfacesderederealizadopeloscomandosifupeifdownqueiniciameparamas interfaces.Paracadainterfacederede,existeumarquivodeconfiguraoespecfico,diversasopesde configuraoestodisponveis,asprincipaisso:EndereoIP,Netmask,Rotas,NomedeDispositivo, DisponibilidadeAutomticaouManualnoBOOT. Os arquivos de configurao das interfaces de rede esto localizados em /etc/sysconfig/network scripts/ifcfgxxx.Podemosdividirasconfiguraesem3grandesgrupos:

static Configuraesestticasmanuaisgravadasnoarquivodeconfigurao. dhcp Indicaqueestainterfaceir buscarsuasconfiguraesemumservidorDHCPdisponvelno mesmosegmentoderede. bootp Indicaqueestainterfaceir buscarsuasconfiguraesemumservidorBOOTPdisponvelno mesmosegmentoderede.

O arquivo deconfiguraoglobalparatodasinterfaces o /etc/sysconfig/network. definido neste arquivosasinformaesprimriasparaofuncionamentodarede,soelas: networking Osvalorespodemseryesouno.Definebasicamentesehounosuportearede. hostname onomecompletodesteservidor(fqdn). gateway Indicaarotapadro. nisdomain EspecificaonomededomnioNIS.Emgeralestaoponoutilizada. Paraadicionar,deletaroueditarasconfiguraesdasinterfacesderedeestodisponveisasferramentas systemconfignetwork paraomodogrficoeconsoletexto.Lembrandoqueparaasalteraesterem efeitoapsexecutarasferramentasdeconfiguraonecessrioreiniciarasinterfacescomocomando: servicenetworkrestartouifdown<interface>eifup<interface> Aferramentanetconfig ir editarasconfiguraesdainterfacederedepadro,paraconfiguraroutra interface necessrio utilizar: netconfig device eth1, onde eth1 o nome da interface desejada. LembrandoqueaferramentanetconfignomaissuportadanoRHEL5. 96

GerenciandoosLOGsdoSistema:
Mesmoquandoosistemanoapresentaproblemasexplcitossemprenecessrioinspecionaroslogsdo sistema. Alm de erros crticos, so logados tambm: conflitos de hardware, m configurao de software,abusosnopolicydesegurana,mensagensinformativasextremamente teisparatunningde performanceeetc.Oslogsdosistemaconcentramseem /var/log eoslogsdoKernelem /proc,para acessarosarquivosdelogsvocpodediretamenteexibirocontedodosarquivoscomcomandoscomo: cat,tail,head,lesseetc...

Osdaemonsquesoresponsveisporreportaroslogsdosistemaso:

klogd ResponsvelporinterceptarasmensagensdelogdoKerneledisponibilizaraousurio. syslogd Temafunoderecebermensagensdequalquertipodesoftwarequerodenosistema,inclusive doKerneledisponibilizaremformadearquivoouviarede.Podetambmreceberlogsviarede deoutrossistemasatuandocomumservidordelogs.

Oarquivo/etc/syslog.conf utilizadoparaconfigurarosyslogd,noqualsoespecificadasasregraspara registrarcadatipodemensagem. Asregrasapresentamdoiscampos,seleo(selector)edestino(target),camposquesoseparadospor espaosoutabulaes.Ocamposeleoapresentaduaspartes,facilidadeeprioridade,separadasporum ponto,nasquaisocamposeleo designaumpadrodefacilidadeseprioridadespertencentesauma aoespecificada.Ocampofacilidadeinformaaosyslogotipodeaplicativoqueoriginouamensagem (email,kernel,sistemadeimpresso,entreoutros),eocampoprioridadeaimportnciadamensagem.O campodestinoparaondeasmensagemiroserenviadas.

97

Vejaabaixoumexemplodeconfiguraodo/etc/syslog.conf: #Logallkernelmessagestotheconsole. #Loggingmuchelsecluttersupthescreen. #kern.*/dev/console #Loganything(exceptmail)oflevelinfoorhigher. #Don'tlogprivateauthenticationmessages! *.info;mail.none;authpriv.none;cron.none/var/log/messages #Theauthprivfilehasrestrictedaccess. authpriv.*/var/log/secure

Observeastabelasabaixoquecontemosvalorespossveisparao/etc/syslog.conf. Apsefetuarqualqueralteraonoarquivodeconfiguraodosyslogd necessrioreiniciar,paraisto utilizeocomando:killallHUPsyslogd.

Facilidades:
kern user mail daemon auth syslog lpr news uucp * kernel nveldeusurio subsistemademail daemonsdosistema seguranaeautorizaes syslogdaemon subsistemadeimpresso subsistemadenews subsistemadeuucp todasasfacilidades

98

Nveisdeprioridade:
emerg alert crit err warning notice debug info none mensagensdeemergncia mensagensdealerta mensagenscrticas mensagensdeerro condioesanormais,masrecuperveis mensagensimportantes mensagensdedebug mensagensinformativas excluifacilidadeselecionada

Destinos:
/filename @host user * caminhocompleto nomedamquina usurio todososusurios

99

ExemplosdeConfiguraesdoSyslog:
*.err;kern.debug;auth.notice; mail.crit *.notice;kern.debug;auth,lpr.info; mail.crit;news.err mail.info lpr.info cron.* *.err *.notice;news.err *.alert *.emerg news.crit news.err news.notice !startslip *.* /var/log/slip.log /dev/console /var/log/messages /var/log/maillog /var/log/lpderrs /var/cron/log root root root * /var/log/news/news.crit /var/log/news/news.err /var/log/news/news.notice

ImportantesarquivosdeLogsdoSistema:
/var/log/dmesg Estearquivodelogescritologoapsoprocessodeboot.Contmmensagensemitidasdokernel duranteoprocessodeboot. /var/log/messages Este oarquivopadrodelogqueosyslogdutilizaparaefetuarregistrodetodosossoftwares instaladosnosistema. /var/log/maillog No maillog centralizado todos os logs relativos ao sistemas de mail instalados, como SMTP,POP,IMAPeetc... /var/log/secure Nestearquivo concentradomensagensrelacionadasasegurana.Aplicativoscomoologin, xinetdetcp_wrappersgeramlogsnestafacilidade.

100

ManutenoeRotaodosLogs:
Casonenhumaaofortomada,atendnciadeumarquivodelog crescerinfinitamente,isto ,at ocupar100%dofilesystemresultandonotravamentointegraldosistema.Emgeralosarquivosdelogs sobastantepequenos,eosnveisdecompressoalcanados soexcelentesparaestetipodedados. TodasdistribuiesdeLinuxjvmcomologrotateinstaladoporpadro.Ologrotateumaferramenta derotaoparaquandoosarquivosdelogalcanamumtamanhoprdefinidoouumperododetempo estabelecido.possvelespecificarcompressodelogsantigossenecessrio. O logrotate executadodiariamentecomoumatarefado cron,em/etc/cron.daily eseuarquivode configuraoestalocalizadoem/etc/logrotate.conf.Aconfiguraoderotaoparacadaarquivodelog necessria em /etc/logrotate.d e geralemente instalada automaticamente pelo RPM no mesmo momentodainstalaodaaplicao.Aespecificaoderotaoparaosarquivosgeradospelosyslogd porexemploestoem/etc/logrotate.d/syslogd. Emgeralaconfiguraodologrotatebastantefcil,paramaioresinformaesconsulteasmanpages.

MonitorandoosLogs:
AferramentalogwatchjvminstaladaporpadronamaioriadasdistribuiesdeLinuxatualmente.O logwatch tambm executado diariamente no /etc/cron.daily e seu arquivo de configurao esta localizadoem/etc/log.d/conf/logwatch.conf. A principal funo do logwatch monitorar os logs de acordo com os filtros e disparar emails informativos sempre que alguma atividade anormal verificada. A programao dos filtros extremamente complexa, porm h diversos filtros j programados para analisar logs de aplicaes populares configurados por padro. A documentao adicional esta localizada em /usr/share/doc/logwatch*. Umaoutraformademonitoraroslogs desviandoasadapadroparaumconsolequenoestasendo utilizado,vejaoexemploabaixo: cd/var/log;tailfmessagesfsecure>/dev/tty8& Com este comando sempre que algum log for incrementado no arquivo /var/log/messages ou /var/log/secure,istosermostradonatty8automaticamente.Paraacessaratty8useasteclasdeatalho Ctrl+Alt+F8naintefacegrficaouapenasAlt+F8nomodotexto.

101

CUPS:
AimpressoemUnix/Linuxnosofregrandestransformaesamuitotempo.Podemosencontrarainda emusoolpd(lineprinterdaemon),soluocominmeraslimitaesenocompatvelcomoIPP (InternetPrintingProtocol),que abasedegerenciamentode jobs (servios)efilasdeimpresso, ficandolimitadoaumacertaquantidadedeimpressoras.ComoCommonUnixPrintingSystem(CUPS) podemosintroduzirumasoluodeimpressouniversalparaarede. O CUPS um gerenciador de impresso que pode ser utilizado via web (HTTP), atravs do qual podemosadicionar,excluir,alterareconfigurarimpressoras,bemcomoadministrarjobsdeimpressode umaoudetodasasimpressorascompartilhadasnarede.Proporciona,ainda,aosusuriosdeUnix/Linux uma impressoeficienteeconfivel,porsercompatvelcomoIPPemmodonativoepor possuir interface para LPD, SMB (Server Message Block) e JetDirect. O CUPS oferece navegao pelas impressorasdaredeeusaarquivosPostScriptPrinterDescription(PPD). OCUPSrespondepelaportapadro631.Utilizandoqualquerbrowser,bastaespecificarnabarrade endereosaseguintelocalizao:http://localhost:631(seasconfiguraesnoarquivocupsd.confforem efetuadasdigitandoemvezdelocalhostoendereoIPdoservidor,teromesmoefeito,sempreseguido da porta do CUPS 631). Isto abrir uma janela em seu navegador, de qualquer ponto da rede. LembrandoqueporpadrooCUPSsaceitarrequisiesdamaquinalocal.Paraautenticarseousurio precisasermembrodogruposysouroot.Nohcriptografia,portantotenhacautelanautilizaodeste meiodegerenciamentodoCUPS. OarquivoprincipaldeconfiguraodoCUPSestalocalizadoem/etc/cups/cupsd.confesuasintaxede configurao similarao do ApacheWebServer(httpd.conf).As definiesdeimpressoras ficam armazenadasnoarquivo/etc/cups/printers.conf,e geradaautomaticamentepeloscomandos:lpadmin, systemconfigprinter,systemconfigprintertuiouaindapelaconsoledeadministraoWEBdoCUPS. Paraobterinformaesrelativasasclasses,trabalhoseimpressorasutilizeocomandolpstat.Quando usado sem argumento ele fornece o status da fila de impresso do usurio corrente. Para remover trabalhosnafiladeimpressoutilizeocomandolprm.Vejaabaixoalgumasopesdolpstat:

t Mostratodasasinformaesdisponveis. o Mostratodosostrabalhosnafiladeimpresso. v Mostratodasasimpressoraseemqualdispositivoestoconectadas. 102

CRON:
O CRON largamenteutilizadoemquasetodasdistribuiesdeLinuxparaagendaraexecuode eventosrecorrentes. possvelespecificarqualquerperododetempoparaumeventoseragendado. Existemtambmdiretriosespeciaisparaeventospreviamenteagendados,soeles: /etc/cron.hourly Executaosscriptsdestediretrioacada01(Uma)hora. /etc/cron.daily Executaosscriptsdestediretrio01(Uma)vezpordia. /etc/cron.weekly Executaosscriptsdestediretrio01(Uma)vezporsemana. /etc/cron.mounthly Executaosscriptsdestediretrio01(Uma)vezporms.

Osexecutveiscontidosnosdiretriosacimasoexecutadospelousurioroot,porpadroj existem algunsscriptsquerealizamtarefasdeatualizaoelimpezadearquivostemporriosdosistema. Oseventosagendadopelo CRON soexecutadoscomaspermissesdoseuusuriocriador,qualquer retorno dos comandos executadosso enviados automaticamente para seu email, ou para o email especificadonavarivelMAILTO=.Oseventossoarmazenadosnodiretrio /var/spool/cron que somenteacessadoporusuriosprivilegiadosesoprocessadospelodaemon crondquedeveestarativo.

Para agendar eventos no CRON o usurio utiliza o comando crontab. Veja abaixo os principais argumentos: u<usurio> Agendaeventosparaousurioespecificado.(Funcionaapenascomusuriosprivilegiados) e Entranomodoeditor,utilizadoparacriar/editar/deletareventosdousuriocorrente. l Listaoseventosagendadosparaousuriocorrente. r Removeocrontabcorrente.

103

ExemplodeEventonoCRON:
[carlos@vibe]$crontabe MAILTO=mike@centos.com 4310***/home/carlos/manutencao Noexemploacima,todososdiass10:43damanhserexecutadooscript/home/carlos/manutencaoe qualquerretornogeradodestescriptserenviadoparaoemailmike@centos.com. Paraacessarmaisexemplo,execute:man5crontab.

ATD:

OATD odaemonqueexecutacomandosagendadospeloAT.indicadoquandonecessrioagendar comandosparaexecuofutura,agrandediferenanautilizaoentreoCRONeoAT queoseventos agendadospeloATseroexecutadosuma nicavez.Existemdiversosformatosdeespecificarotempo comoAT.Vejaalgunsexemplosabaixo:

atf/home/carlos/testem19:05 Noexemploacimafoiagendadaaexecuodocomando /home/carlos/teste para s19:05de hoje.Seahoraespecificadajestiverpassada,serexecutadonoprximodia. atf/root/dotestm8am+7days Nesseexemplooscript/root/dotestserexecutados8horasdamanh,setediasdepois. atf/root/dotestm10pmjan15 Aquioscriptfoiagendado paraexecuonodia15dejaneiros10horasdanoite.

Ocomandoatq utilizadoparavisualizarosagendamentosrealizadosdousurio,nocasodousurio root possvel visualizar todos os agendamentos do sistema. Para apagar agendamentos utilize o comandoatrmespecificandoonmerodotrabalhoaserremovido.

Ostrabalhosagendadossomantidosnodiretrio/var/spool/at.Paraespecificarusuriosquepodemou noutilizaroAT,existemosrespectivosarquivosde controle/etc/at.allowe/etc/at.deny. 104

GerenciamentodosMdulosdoKernel:
TodoscomponentesdoKernelassimcomodriversdedispositivos,filesystemseoutrasfuncionalidades sorealizadosemantidoscomomdulos.QuandocompilamosumaversodeKerneltemosaopode escolher se os mdulos sero embutidos ou dinmicos carregveis. Mdulos dinmicos carregveis adicionamfuncionalidadesaoKernelsemaumentaroseutamanhooqueajudaaaumentaraperformance dosistema.Geralmentepodemosescolhercomomdulosdinmicoscarregveisdriverssuplementares paradispositivospoucoutilizados,filesystemsadicionaiseetc... Todos mdulos necessrios para o boot devem ser embutidos (Builtin), caso o Kernel no acesse corretamenteodispositivoraizdosistemadearquivos(rootdevice)eleirtravarcausandoemkernel panic.

KernelTainting:
QuandoalgummduloproprietriocarregadojuntoaoKernel,podemosdizerqueoKernelpassaaser tainting(Corrompido).Mdulosproprietriossogeralmentedriversdefabricantesdehardwarecujo cdigofontenodisponibilizado.importantelembrartambmquequandooKernelestataintingele no suportadopelaRedHat,fatodosengenheirosnopoderemanalisaroqueexatamenteocdigo proprietriopodeestarcausando.

modprobe,modprobe.conf,modinfo,lsmod:
OsmdulosdoKernelestolocalizadosem/lib/modules/kernel(verso),casoosistematenhamaisde umKernelinstaladovocir encontrardiversasverses,utilizeocomandounamerparadeterminar qualversoestemusocorrente. OKernelpodedeterminarquandonecessrioocarregamentodealgummduloedamesmaformapode efetuarodescarregamentocasoodispositivooufuncionalidadedeixedesersolicitada.Geralmenteos mdulostmdiversosparmetrosdisponveisparaoajustefinodesuasconfiguraes,podemoslistaros parmetrosdeummdulocomocomandomodinfo,outrasinformaestambmsomostradascomo: tipo de licena do mdulo, autor, verso e etc... use modinfo <mdulo> (No h necessidade de especificaropathenemaextenso.kodomdulo).

105

Ocomando lsmod listaosmdulosqueestocarregadosnoKernel,enquantoocomando modprobe carrega mdulos e dependncias automaticamente, o arquivo de configurao /etc/modprobe.conf consultadoinformandoaliases,opes eparmetrosespeciais.Pararemovermdulosutilize: modprober<mdulo>.

DependnciadeMdulos:
Algunsmdulosdependemdiretamentedequeoutrosmdulosestejamcarregados.Ocomando depmod utilizadoparacriarabasededadosdedependnciasdosmduloslocalizadaem: /lib/modules/(kernelrelease)/modules.dep Essearquivoestaemformatotextoepodeservisualizadocomqualquerferramentadeediodetexto.

Initrd,ImagemdeRamdisk:
Caso exista necessidade de adicionar suporte para algum dispositivo indispensvel para o boot necessrio adicionar os mdulos solicitados embutidos no Kernel. Um outra forma mais rpida de disponibilizaressesmdulossemrecompilaroKernel criandonovamenteo initrd.O initrd uma imagemdeumfilesystemquemontadonamemriaRAMemtempodeboot,elecontemmdulospara acessardispositivoscomoSCSI,RAIDeetc...Ocomandomkinitrdutilizadoparagerarnovasimagens. indispensvelqueobootloaderestejachamandoanovaimagemcorretamenteparaqueissofuncione. Oinitrdcapazdeidentificarondeestaoseurootfilesystem(sistemadearquivosraiz)deacordocoma fstab e verificar os dispositivos necessrios para seu acesso. Qualquer parmetro especificado no modprobe.conf utilizadonahoradoprcarregamentodomdulo. possveltambmincluirmdulos arbitrariamentenaimagem. Asintaxedomkinitrdaseguinte:mkinitrd<arquivo.img><versodokernel>.Vejaoexemplo: mkinitrd/boot/initrd2.2.515.img2.2.515

106

/procFilesystem,LogsdoKernel:
Osistemadearquivos/procmontadoduranteoprocessodebooteespecificadopelo/etc/fstab.Este umfilesystemvirtualondeotamanhodosarquivos zero.Naverdadeestefilesystem umajanela virtualdecomunicaodoKernelcomousurio,ondesoinformadosemtemporealoslogsdokernel. Diversas informaesdosistema so apresentadas incluindoo detalhamento detodos os processos, informaessobrememria,CPU,redeeetc...Vejaabaixoosprincipaisarquivos:

/proc/cpuinfo /proc/version /proc/uptime /proc/loadavg /proc/meminfo /proc/interrupts /proc/dma /proc/ioports /proc/mdstat

(InformaessobreasCPUs) (Verso,ReleaseedetalhamentodacompilaodoKernel) (Tempoqueosistemaestaativo,useocomandouptime) (Informaessobreacargadosistema,useocomandouptime) (Informaessobrememriadisponvel,swap,cacheeetc...) (ConfiguraodasinterrupesIRQs) (InformaessobreasDMAs) (ConfiguraesdasportasdeI/O) (InformaessobreosdispositivosdesoftwareRAID)

Algunsdiretriosdentrodaestrutura/procrecebemdestaque,soeles:

/proc/<PIDs> /proc/net /proc/scsi /proc/ide /proc/sys

(Referenteaoprocessodenmero<PID>,use:psauxparadeterminar) (Referenteatividadederedeeconfiguraes) (ReferenteaosdispositivosSCSI) (Referenteaosdispositivoside) (Referenteaosparmetrosdeconfiguraodokernel)

/proc/sys,AjustesonlinenoKernel:
Comomostrado,o/proc umajaneladecomunicaoondeoKernelmostravaloresparadeterminados tens do sistema, a nica parte do /proc que interativa o /proc/sys, onde possvel efetuar modificaesonlinenosparmetrosdoKerneldoLinux. UmainfinidadedeconfiguraespodemserrealizadasdiretamenteaoKernel,paraumalistacompleta dosparmetrossuportadosconsulteadocumentaolocalizadaem/usr/share/doc/kerneldoc*/sysctl/ou executeocomando:sysctla 107

Sysctl,AjustesdeparmetrosnoKernel:
Geralmente as funcionalidades aceitam valores 1 que representa Ativo, ou 0 que representa inativo, porm outras funcionalidades apresentam estruturas de dados mais complexas. Veja alguns exemplosdecomomudarparmetrosonlinenoKerneldoLinux.

[root@vibe~]#echo"1">/proc/sys/net/ipv4/tcp_syncookies AcimaestamosAtivandoaproteodoTCPcontraataquesdeSynfloods.

[root@vibe~]#echo"1">/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts Aquiestamosinstruindoaokernelparaignorararespostaparapingsdebroadcasts.

[root@vibe~]#echo"2503200032128"/proc/sys/kernel/sem Acimaestamosajustandoosvaloresdossemforospara osvalorespadro.

Todososvaloresajustadosonlineseroperdidosquandoosistemareiniciado.Paratornarosajustes aoKernelresistentesaoboot necessriosalvalosnoarquivo/etc/sysctl.conf.Estearquivo chamado peloscriptrc.sysiniterealizanahoradainicializaodosistemaasconfiguraesexistentes.

108

NFS: Introduo:
OSistemadeArquivoemRede(NetworkFileSystem),tambmconhecidocomoNFSepermitequeum sistemacompartilheseusdiretriosearquivoscomoutrossistemasatravsdeumarede.UsandoNFS,os usurioseprogramaspodemacessararquivosemsistemasremotosquasecomosefossemarquivos locais,ouseja,deformatransparente. AlgunsdosbenefciosmaisnotveisqueoNFSpodeoferecerso: Estaeslocaisusammenosespaoemdiscoporquedadosfreqentementeusadospodemser armazenadosemumanicamquinaeaindapermaneceremacessveisaoutraspelarede. Noh necessidadedeusuriosteremdiretriospessoaisseparadosemcadamquinadarede. DiretriospessoaispodemserconfiguradosnoservidorNFSeseremdisponibilizadosatravsda rede. Dispositivosdearmazenamentocomodisquetes,leitoresdeCDROMeleitoresdeZIPpodemser usadosporoutrasmquinasnarede.Istopodereduzironmerodeleitoresdemdiaremovvel emtodaarede.

importantetambmlembrarqueoprotocoloNFS compatvelcomtodasversesdoLinuxeUnix, comoBSDeSolaris.

InstalandoPacotes/SoftwaresNecessrios:
ComooNFS umservioRPCelesolicitaoportmapparamapearaschamadasdasmaquinasparao servioRPCcorreto.TambmnecessrioqueoKerneltenhasuporteparaonfsbemcomoosdaemons rpc.nfsderpc.mountdativos.TudojvemprontonoRHEL,bastainiciarosservicosportmapenfs. Verifiqueseospacotesdoportmape nfsutilsestoinstalados,casocontrarioinstaleos: rpmqa|grepportmap rpmqa|grepnfs rpmUvhportmap<verso>.rpm rpmUvhnfsutils<verso>.rpm 109

OpesdeMontagemdoNFS:
Emdiversascircunstnciasespeciaisnecessrioespecificaropesnahorademontarumfilesystemde rede,especialmenteparatratardeperformanceeindisponibilidadestemporriasocasionais,vejaabaixo asprincipaisopesquepodemserespecificadasnahorademontarumfilesystemviaNFS:

hardousoft Casoofilesystemexportadoestejaforadoar,usandoaopohardaaplicaoqueestiver tentando acessar o filesystem ir congelar e aguardar. Para soft imediatamente um erro retornadoparaaplicao. Se hard for especificado o usurio no ir conseguir interromper a aplicao, causando no travamentodoprocessoquesolicitaoNFS. Quando soft especificado o usurio pode configurar adicionalmente o parmetro timeo=<valor>,ondeovaloronmerodesegundosparaaguardarantesdeserreportadoerro. intr PermiterequisiesdeNFSsereminterrompidasquandooservidorestivertemporariamentefora doar. nolock ocasionalmentenecessrioparacomunicaocomservidoresdeNFSantigos. noexec Desabilitaaexecuodebinriosnofilesystemremoto. nosuid Desabilitaosbitsdepermissosuidegidparaofilesystemremoto. rsize=8192ewsize=8192 AumentaconsideravelmenteavelocidadedoNFSaumentadoajaneladeblocosdeleiturae gravao.Procuremaisajudaparainseriroutrosvalores. nfsvers=2ounfsvers=3 Especificaqualversodoprotocolousar.

110

UsandooautomounterparamontarNFS:
Oautomounter(autofs)tambmpodeserutilizadoparamontaredesmontarfilesystemsremotospor demanda. Uma configuraomuito frequente mapear odiretrio homedetodosos usurios paraum outro servidor, neste caso voc ter que especificar alguns caracteres coringa no autofs veja abaixo um exemplotpicodestecenriodeconfigurao: Oarquivo/etc/auto.master,indicaqueodiretrio/homedenossamquinalocalestasendomonitorado peloautofsequeseuarquivodeconfiguraosero/etc/auto.misc: # #$Id:auto.misc,v1.22003/09/2908:22:35ravenExp$ # #Thisisanautomountermapandithasthefollowingformat #key[mountoptionsseparatedbycomma]location #Detailsmaybefoundintheautofs(5)manpage /home//etc/auto.misc Agora no arquivo /etc/auto.misc vamos colocar o endereo do servidor e as opes de montagem relativasaoNFS,destaformamapearemostodososdiretrioshomedosusuriosrespectivamente, veja: # #$Id:auto.misc,v1.22003/09/2908:22:35ravenExp$ # #Thisisanautomountermapandithasthefollowingformat #key[mountoptionsseparatedbycomma]location #Detailsmaybefoundintheautofs(5)manpage * 10.0.0.1:/home/&

Podemosespecificaralgumasopesavanadasparagarantirotratamentodoserrosdeconexoque podem ocorrer e aumentar ainda mais a performance, o protocolo UDP s utilizado quando especificado,poisopadroesuportadosempreTCP: *rw,soft,intr,rsize=8192,wsize=8192,udp10.0.0.1:/home/& 111

LaboratrioNFS,cenriodeconfiguraodemdioporte:
Osdiretriosqueseroexportadosdevemestarlistadosnoarquivo/etc/exports.Asintaxedestearquivo a parte crticadaconfiguraodoservidor de NFS.Cada linha representa um diretrio que ser exportadoparaumaouumgrupodemquinascompermissesemcomum. Reproduzaasconfiguraoabaixono/etc/exportsdesua mquinalocal: /mnt*(rw,no_root_squash) /home/carlos*.exemplo.com(ro) /home 192.168.200.0/255.255.255.0(rw,sync) /opt *(ro) Naprimeiralinhaodiretrio/mnt exportadoparaomundointeiro,oacesso deleituraegravao. UsuriosdeUID/GID0(superusurios)seromapeadoscomosuperusurios,poisporpadrooNFS mapeia usurios de UID/GID 0 (root) para UID 65534 (nfsnobody), obviamente por questes de segurana. Na segunda linha mostrado um exemplo com coringa *, onde todas as mquinas do domnio exemplo.comteroacessogarantidosomenteleiturapara/home/carlos.Assimcomoo*,ocoringa? tambmvlidoeapenastrocaumcaractere. NaterceiralinhatodososdiretrioshomedosusuriosseroexportadosparatodaclasseCdarede 192.168.200.0. A opo sync indica que qualquer alterao no filesystem feita imediatamente, dispensandoassimosbuffersoucachesdedisco/controladora. Naquartalinhaodiretrio/optexportadoparaomundointeirocompermissodesomenteleitura.

Arquivosdeconfiguraoenvolvidos:

/etc/exports

AtivandooServioeajustandoaInicializaoAutomticanoBoot:
serviceportmapstart;servicenfsstart;servicenfslockstart chkconfigportmapon;chkconfignfson;chkconfignfslockon 112

TestedeImplementao/Validao:
ParaverificarseoNFSestativoeoqueeleestaexportandouse:exportfsv Asaidadestecomandodevemostraroqueestasendoexportadoetodasasopesepermissesomitidas porpadro.Paraqualquermensagemdeerroaqui,todoprocessodevesernovamenterevisado. Outraspossveisverificaesso: serviceportmapstatus servicenfsstatus rpcinfoplocalhost showmountelocalhost

ConfiguraodoServio(PartedoCliente):
Na mquina cliente, ou seja, onde ser montado o filesystem remoto que esta sendo exportado no servidor,tambmprecisadosuporteaoNFSnoKernel,ocomandomountirsolicitarestemdulona horademontarofilesystemviarede.FelizmenteoRHELjvempreparadoparaserumNFSclientee nadaprecisaseradicionadoaoKernel. AgorairemostrabalharemduplasdecolegasparapoderrealmentetestaroservidordeNFSacessandoos exportsdeseuvizinho.

DescubraoendereoIPdeseucolega,peaparaeleexecutar:ipaddrshoweth0 Crieumpontodemontagemnasuamquinalocal:mkdir/nfsteste Verifiqueosexportsnamquinadeseucolega:showmounte<ip_do_colega> Monteoexportnopontodemontagemcriado:mount<ip_do_colega>:/opt/nfsteste Adicioneumaentradanoseu/etc/fstabsemelhanteabaixoparamontagemautomtica: ip_do_colega:/opt /nfsteste nfs defaults 00 Peaparaseucolegacriararquivosemanipule(copie)osarquivosviaredeparatestar.

Odaemonnetfs responsvelpormontarosfilesystemslistadosnofstabnahoradoboot,porissoele deveestarativo,paraativaronetfsuse:chkconfignetfson

113

FTP: Introduo:
FTPumacrnimoparaFileTransferProtocolouProtocolodeTransfernciadeArquivos.Oprotocolo FTPpermiteatransfernciasdearquivosbinriosearquivostextocomaltaeficinciaatravsdeuma rede.muitointeressanteparaempresasquedesejamcompartilhararquivoscomosusuriosnarede,ou servidoreswebquedesejamdisponibilizarreasparausuriosfazeremtransfernciadearquivos.

InstalandoPacotes/SoftwaresNecessrios:
ORHELporpadroutilizaovsftpd,eesteoservidordeFTPoficial/suportadodaRedHat. Verifiqueseopacotedovsftpdjestainstalado,casocontrrioinstaleo: rpmqa|grepvsftp rpmUvsftpd<verso>.rpm

ConfiguraodoServio:
Oarquivodeconfiguraoprincipaldovsftdpestalocalizadoem/etc/vsftpd/vsftpd.conf.

LaboratrioFTP,cenriodeconfiguraodemdioporte:
NestelaboratrioiremosconfiguraroserviodeFTPdaseguinteforma: Usuriosreaisteroacessodeleituraeescritaeestaroconfinadosemseudiretriohome. Usuriosannimosteroacessosomenteaodiretriopubepoderoefetuardownloadsdeseucontedo. UsuriosannimospoderofazerUploadssomentenodiretrio/uploads,pormosarquivosqueforem enviadosestaroofflinedoFTPporquestesdesegurana.

114

Efetue a instalaodospacotesnecessriosparaoservioFTP.Apartirdaconfiguraopadro de /etc/vsftpd/vsftpd.conf,efetueasconfiguraesabaixodemodoqueosrequisitosdestelaboratriosejam alcanados: chown_uploads=yes chown_username=ftp anon_upload_enable=yes chroot_local_user=yes Agora vamos criar o diretrio para o usurio anonymous efetuar os uploads e aplicar as corretas permisses. mkdir/var/ftp/uploads chmod730/var/ftp/uploads chownftp.ftp/var/ftp/uploads Voc pode utilizar um arquivo .message para dar breves explicaes sobre os propsitos dos diretriosqueestosendoacessados.Almdisso,vocpoderiaajudarousurioaencontraroqueele est procurando. Para testar, crie um arquivo .message como um arquivo texto e coloqueo no diretrioondeeledevesermostrado,commensagensteissobreoacessoaoservidorFTP. AtiveoserviodeFTPparaserinicializadoautomaticamenteduranteoprocessodebooteinicieo serviomanualmente.

Arquivosdeconfiguraoenvolvidos:

/etc/vsftpd/vsftpd.conf

AtivandooServionaInicializaodoSistema:
chkconfigvsftpdon;servicevsftpdstart

TestedeImplementao/Validao:
UtilizeocomandotradicionalftpdoLinux/Unixparaefetuarostestesnasuamquinalocal. Efetuedownloadseuploadsdearquivosparatestaraspermissescomusuriosreaisecomousurio anonymous.Use:ftplocalhost 115

SAMBA:

Introduo:
OSamba umaplicativoquetornapossvelocompartilhamentoderecursoscommquinasrodando Windows.OnomeSambaderivadodoprotocoloutilizadopeloWindowsparacompartilhardiscos eimpressoras:oprotocoloSMB,ServerMessageBlock. AtravsdautilizaodoSamba possvelcriarredesmistas,utilizandoservidoresLinuxeclientes Windows.OSambatambmpermitequeoLinuxacessediscosexportadosdemquinasWindows. Almdecompartilharrecursos,oSambacapazdeexecutarvriasfunesdeumservidorWindows, comoporexemploautenticaodeclientes,servidorWINS,eat mesmoagircomoumControlador PrimriodeDomnio(PDC)ou(BDC)completo. Apartirdaverso3.0oSambatambmpodefazerusodealgumascaractersticasdoMicrosoftActive Directory(AD). UmrecursomuitointeressantedoSamba autenticaroservidorLinuxemumcontroladordedomnio Windowsatravsdoserviowinbind,destaformaamquinaLinuxirbuscarautenticaodeusuriose gruposnorepositriocentraldecontasconfiguradonoWindo ws. O Samba basicamente composto por dois daemons: smbd, que responsvel pela autenticao e autorizao de usurios arquivosou compartilhamentos e impressorase o daemon nmbd, que responsvelpelaresoluodenomes,anncios,procuranaredeeresoluodeendereosWINS.

InstalandoPacotes/SoftwaresNecessrios:
Para configurar um servidor Samba necessrio a instalao dos pacotes: sambacommon*, sambaclient*, samba3* e systemconfigsamba*. Esses pacotes acompanham um grupo de ferramentasparainstalaoeconfiguraocompletadeumservidorousimplesmenteparafigurarcomo uma estao cliente. Vrias ferramentas tambm sero disponibilizadas para realizar diversos testes necessrios.

116

Verifiqueseospacotesjestoinstalados,casocontrrioinstaleos: rpmqa|grepsamba rpmUvhsambacommon* rpmUvhsambaclient* rpmUvhsamba3* rpmUvhsystemconfigsamba*

ConfiguraodoServio:
OarquivodeconfiguraoprincipaldoSambaestalocalizadoem/etc/samba/smb.conf.Estearquivo muito bem comentado e aconselhase a configurao do Samba atravs dele. Uma outra forma de configuraroSamba utilizaraferramentagrficasystemconfigsambadisponibilizadapelaRedHat quefacilitaacriaodeusuriosecompartilhamentosnoambientegrfico.

ConfiguraesGlobaiseParmetrosdoSamba:
OarquivodeconfiguraodoSamba divididoentreseeseparmetros,existemtrsprincipais sees,soelas: [global] [homes] [printers] ConfiguraesGenricasGlobais. Estaseousadaparaentregaroacessoaosusuriosdeseusdiretrioshome. Carregaautomaticamenteasimpressorasdefinidasno/etc/printcapporpadro.

Os caracteres # e ; indicam que a linha um comentrio e deve ser ignorada. Sees e compartilhamentossodefinidasatravsdecolchetes[].

117

Asprincipaisemaisfrequentesopesutilizadasnoscompartilhamentosso:

public Configuraumcompartilhamentopblicodeacessolivre,acessoguest. browseable Configuraumcompartilhamentoquepodeservistonaslistasdeanncios. writable Indicaqueocompartilhamentodeleituraegravao. writelist Especificaarbitrariamenteosusuriosou@gruposque teroacessodeescrita. printable Indicaqueumdispositivodeimpresso,noumdisco. createmask Foraamscaradepermissesparacriaodenovosarquivos. directorymask Foraamscaradepermissesparacriaodenovosdiretrios. validusers Especificaarbitrariamenteosusuriosou@gruposque teroacessoaocompartilhamento. *Paraespecificargruposdosistemabastacolocarocaracterarroba@.exemplo:@grupo

AutenticaonoSamba:
Talvezoparmetromaisimportantedeconfiguraosejaosecurity=<mtodo>,queindicaomtodo deautenticaoqueoSambairutilizarparavalidarosusurios.Ospossveismtodosdeautenticao suportadospeloSambaso:

share Cadacompartilhamentoter umpassworddefinido,ousurioquetiveroconhecimentodeste passwordteracessoaocompartilhamento. users OscompartilhamentosdoSambaserovalidadosnoporpasswordscomoacima,massimpor usuriosougrupos.Estemtodopadroqueosambautiliza,oadministradorterquecadastrar todososusuriosnoarquivo/etc/samba/smbpasswd. server omesmoqueusers,pormdeveserespecificadoumservidorparabuscarosusuriose passwords. 118

domain EspecificaqueoSambaummembrodeumdomnioebuscaautenticaoemumPDC(Primary DomainController)ouBDC(BackupDomainController),quandovalidado,ousuriorecebeum tokendeacessoarede. ads AgecomoumActiveDirectorynativocomautenticaoKerberos.

Para cada um dos mtodos utilizados acima, necessrio a utilizao de parmetros adicionais de configurao.Porexemplo,quandoespecificadoaautenticaodomain,oservidorSambapodeser configuradocomoumPDCouumBDCouat mesmoparasomenteserummembrodeumdminio Windowsjexistente. ExisteminmerasecomplexasopesdeconfiguraespossveisparaoSamba,asconfiguraesvo desdepequenasinfraestruturasdetrabalhocomoporexemploumescritriode50mquinasat infra estruturasgigantescasdedomniosconfiados(TrustedDomain s)comautenticaoLDAPcentralizadas. NadocumentaodoSambalocalizadaem/usr/share/doc/samba*,podemosencontrarinmerasopes deconfiguraeseexemplosdecenrioscomplexos. AdiantenolaboratrioSambairemosverumaconfiguraoparaatenderumademandademdioporte deumempresautilizandoaautenticaotipousers.

Arquivosdeconfiguraoenvolvidos:

/etc/samba/smb.conf /etc/samba/smbpasswd /etc/samba/*

AtivandooServionaInicializaodoSistema:
chkconfigsmbon;servicesmbstart

119

GerenciandoContasdeUsuriosnoSamba:
OcomandosmbpasswdutilizadoparagerenciarascontasdosusuriosnoSamba.importantequeo usurioj tenhaumacontanosistemaantes.Casooadministradordesejeapenasforneceracessoao Sambabastaconfiguraroshelldousurioemquestopara/dev/nullnoarquivo/etc/passwd. ParaincluirumusurionoSambautilizeocomando:smbpasswda<usurio>. Paramaioresdetalhesuse:mansmbpasswd.

MontandoAutomaticamenteCompartilhamentosSambanafstab:
ParamontarautomaticamenteumcompartilhamentoSambaduranteoprocessodeBootbastaadicionar umalinhasemelhanteabaixonoarquivo/etc/fstab: //servidor/compartilhamento/pontodemontagem cifsdefaults,credentials=/etc/sa mba/cred 00 Crieoarquivo /etc/samba/cred apenascompermissesdeacessoparaorooteadicioneonomedo usurioeopasswordparaconectarseaocompartilhamentoreferido.Exemplo: username=carlos password=teste

120

TestedeImplementao/Validao:
Paravalidaraimplementaodosambaserveruse::

testparm DestinaseaverificaodeparmetrosvlidosnoarquivoprincipaldeconfiguraodoSamba (smb.conf).Use:testparm<caminhoabsolutoparaosmb.conf> smbclient umaferramentautilizadapeloclienteparaconectarseaumservidorSamba.Seuestilode navegaomuitosemelhanteaumclienteFTP.Vejaosexemplosabaixo: smbclient//servidor/compartilhamentoUusurio Usecdparanavegarpelosdiretriosegetparaefetuardownloadsdearquivos. smbclientL<servidor>Uusurio(Listatodoscompartilhamentosdisponveis) mount PermiteamontagemdeumfilesystemremotoCIFS.Vejaoexemploabaixo: mount//servidor/compartilhamento/ponto_de_montagemouser=usurio

121

LaboratrioSamba,cenriodeconfiguraodemdioporte:
IremosconfigurarumservidorSambaparaatenderodepartamentodevendasdeumaorganizao.Siga rigorosamenteasespecificaoabaixo: Somenteasmquinasnarede192.168.200.0podemacessaroservioSambadesteservidor. CrieascontasdosvendedoresCarlos,MarcioeFelipecomopasswordtesteeadicioneelesaum gruposecundriochamadovendas. CrieascontasdosgerentesAlbertoeAntoniocomopasswordultraeadicioneelesaumgrupo secundriochamadogerencia. Crieporfim,ascontasdopessoaldemarketingJuliaeSilvano,comopasswordsupereadicioneeles aogruposecundriodemarketing. Opessoaldodepartamentodevendastmumdiretrioexclusivodetrabalho,crieodiretriovendase compartilhenoSamba.Somenteopessoaldogrupodevendasegerenciadeveteracessoaesse compartilhamento. importantequequalquerarquivocriadonestediretriotenhaacessodeleiturae escritaetambmpertenaaogrupovendas. OservidorSambadeverpertenceraogrupodetrabalhoSUPERD,queonomedaorganizao. CarloseMrciodeveramteracessodeleituraegravao,Felipesomenteleituraaocompartilhamento vendas. Opessoalnogrupodemarketingnoteracessoaocompartilhamentovendas. Opessoalnogrupodegerenciadeverteracessoaescritanocompartilhamentovendas. CrieodiretriogerenciaemontenumdispositivodeRAID1(mirror).Compartilheessediretriono Sambademodoqueapenasosusuriosdogrupogerenciatenhamacesso. Crie02partiesde50MB(Assimrepresentandosimbolicamente02discos),pararealizaodoRAID1. Configure o servidor Samba para inicializao automtica no Boot e inicie o servidor Samba manualmente.

TestedeImplementao/Validao:
Apsaconfigurao,testeosparmetrosdo/etc/samba/smb.confcomoseguintecomando: testparm/etc/samba/smb.conf Populeoscompartilhamentosvendasegerenciacomarquivoscriadospordiferentesusurios.Teste cuidadosamenteaspermissesdeacessoutilizandoaferramentasmbclient.Logueseutilizandotodosos usurioscriados.Exemplo,use:smbclient//localhost/gerenciaUalberto SimuleafalhanodispositivodeRAID1paratestaraaltadisponibilidade.Ocompartilhamentodeve continuaracessvel. 122

SoluodolaboratrioSamba:
VerifiqueseoconjuntodepacotesdoSambajestoinstalados,casocontrrioinstaleos: rpmqa|grepsamba rpmUvhsambacommon* rpmUvhsambaclient* rpmUvhsamba3* rpmUvhsystemconfigsamba* Criecorretamenteodiretriovendasegerenciacomaspermissesadequadas: groupaddvendas groupaddgerencia mkdir/home/vendas chgrpvendas/home/vendas chmod2770/home/vendas mkdir/gerencia chgrpgerencia/gerencia chmod2770/gerencia RemounteofilesystemcomsuporteaACLseconfigureasseguintesACLs: mountoremount,acl/ setfaclmg:gerencia:rwxR/home/vendas Crie02partiesde50MBtipoLinuxRaidAutodetectcdigofdnofdisk Executeocomando:partprobe necessriodesmontarolaboratriodeRAIDanteriorparacontinuar,paraissouse: umount/dev/md0 mdadmstop/dev/md0 AgoraremovaaentradaantigareferenteaolaboratrioRAIDdo/etc/fstab

123

CrieoRAID1comocomando:mdadmC/dev/md0l1n2/dev/hda2/dev/hda3 CrieoFilesystemEXT3nodispositivodeRAID1usando:mkfs.ext3/dev/md0 Adicioneaseguinteentradano/etc/fstabparamontagemautomticadodispositivodeRAID1: /dev/md0 /gerencia ext3 defaults00

Crieosgruposeascontasdosusuriosrequeridos noLinuxenoSamba: groupaddmarketing useraddcarlospteste useraddmarciopteste useraddfelipepteste useraddantoniopultra useraddalbertopultra useraddjuliapsuper useraddsilvanopsuper touch/etc/samba/smbpasswd smbpasswdacarlos smbpasswdamarcio smbpasswdafelipe smbpasswdaantonio smbpasswdaalberto smbpasswdajulia smbpasswdasilvano Adicioneosusuriosrecmcriadosaosgrupossecundrioscorretos: usermodGvendascarlos usermodGvendasmarcio usermodGvendasfelipe usermodGgerenciaantonio usermodGgerenciaalberto usermodGmarketingjulia usermodGmarketingsilvano

124

Configureosseguintesparmetrosglobaisnoarquivo/etc/samba/smb.conf: workgroup=SUPERD hostsallow=192.168.200.127.

Ainda editando o arquivo /etc/samba/smb.conf adicione ao final do arquivo o compartilhamento vendasegerencia: [vendas] comment=DepartamentodeVendas path=/home/vendas validusers=@vendas@gerencia writeable=no writelist=carlosmarcio@gerencia createmask=777 directorymask=2777 [gerencia] comment=DepartamentodeGerenciaRAID1 path=/gerencia validusers=@gerencia writeable=yes ConfigureoservioSambaparainicializarautomaticamenteemtodosrunlevelseinicieoservio: chkconfigsmbon servicesmbstart Monte todas entradas da fstab para certificarse que seu dispositivo de RAID1 foi especificado corretamenteno/etc/fstab: mounta SimuleafalhaemalgumdosdispositivosqueformamoarraydoRAID1utilizandoocomando: mdadm/dev/md0f/dev/hdaX VerifiqueostatusdoarraydoRAID1: cat/proc/mdstat 125

APACHE: Introduo:
Oservidorweb umprogramaresponsvelpordisponibilizarpginas,fotos,ouqualqueroutrotipode objetoaonavegadordocliente.Eletambmpodeoperarrecebendodadosdocliente,processandoe enviandooresultadoparaqueoclientepossatomaraaodesejada(comoemaplicaesCGI's,banco dedadosweb,preenchimentodeformulrios,etc). OApache umservidorwebextremamenteconfigurvel,robustoedealtaperformancedesenvolvido porumaequipedevoluntrios(conhecidacomoApacheGroup)buscandocriarumservidorwebcom muitascaractersticasecomcdigofontedisponvelgratuitamenteviaInternet.AutilizaodoApache muitopopular,elemaisusadoquetodososoutrosservidoreswebdomundojuntos. UmacaractersticadoApachemuitoimportanteacapacidadedemultiplicaodosprocessosdeacordo comademanda,isto,quandovriasrequisiessofeitasaoservidoroprocessoprincipal(Pai)realiza ochamadoprefork,assimcriandonovosprocessos(Filhos)para atenderessademanda.Observequeos recursos do sistema principalmente a memria, s utilizada quando criada uma demanda ser atendidaassimotimizandoepreservandoosrecursosdosistema. Outra importante caracterstica a capacidade de carregar mdulos dinamicamente, atravs desta funcionalidade possvelestenderosrecursosadicionandonovosmdulossemanecessidadedere compilaroApache.Existemdiversostiposdemdulosdisponveisparaoapache,vocpodeencontrar umalistacompletaeatualizadaem:http://modules.apache.org/.

InstalandoPacotes/SoftwaresNecessrios:
VerifiqueseoservidorHTTPApachejestainstalado,casocontrrioinstaleo.Aconselhasetambma instalaodoelinksqueumnavegadorparainterfacetextosendomuitotilparatestarrapidamenteas configuraesdoApache.Abaixoencontramseospacotesdoapacheedependnciasrequeridas. rpmUvhapr1* rpmUvhpostgresqllibs* rpmUvhaprutil1* rpmUvhhttpd2* rpmUvhhttpdmanual* rpmUvhelinks*

126

ConfiguraodoServio:
OarquivoprincipaldeconfiguraodoApacheestalocalizadoem/etc/httpd/conf/httpd.conf.Aconselha se a configurao do servidor editando este arquivo manualmente, existem diversos parmetros de configuraoeestearquivo muitobemcomentado.Umaformamaiscmoda utilizaraferramenta disponibilizada pela Red Hat chamada systemconfighttpd, porm esta ferramenta esta limitada a configuraosomentedosparmetrosmaisusuaisdoApache,nopossvelfazerajustesfinos. Osarquivosdeconfiguraodosmduloslocalizamseem/etc/httpd/conf.d/*.Porpadroodiretrioraiz doservidor/var/www/html,esseodiretrioquedevemsercolocadasaspginasweb. O arquivo de configurao do Apache muito extenso, existem muitos parmetros e variveis de configurao.Iremosnoslimitaraverapenasosprincipaisparmetrosdeconfigurao.Soeles:

preforkMPM Neste parmetro regulado a capacidade de carga do servidor. Na maioria dos sites no necessriosmudarosvalorespadro.Apenasparasitescommaisde256requisiessimultneas necessrio ajustar o parmetro MaxClients. Os parmetros MinSpareServers e MaxSpareServerssomentedevemserajustadosparasitesextremamentevisitados. Listen NesteparmetrodefinidoondeoApacheiraesperarporrequisies.Vocpodeespecificarum endereoIPespecficocasotenhavriosendereosIPsoumudaraportapadroquea80. User/Group AquivocconfiguraousurioeogrupodoproprietriodosprocessoscriadospeloApache.Em geralaconselhasedesignarumusuriosemprivilgiosnosistemaparaoApache.Deixaresta opopadroomaiscomum. ServerTokens Estaopocontrolaonveldedetalhamentodeinformaoqueoservidorir passardesuas configuraesparaosclientes.AconselhaseusarovalorProd. LoadModule Especificaocaminhoeomduloasercarregado.

Arquivosdeconfiguraoenvolvidos:

/etc/httpd/conf/httpd.conf /etc/httpd/conf.d/* 127

ConfiguraodeAcessoDiretrioseArquivos:
Os parmetros order,allow,deny soutilizadosparaespecificaraordemdalistadeacessopara um diretrioouarquivoshos pedados:

orderallow,deny Permiteapenasoqueestaexplicitamenteespecificado,bloqueiatodoorestante.Clientesque estiveremespecificadosemambasAlloweDenyserobloqueados. orderdeny,allow Bloqueiaapenasoqueestaexplicitamenteespecificado,permitetodoorestante.Clientesque estiveremespecificadosemambasDenyeAllowseropermitidos.

Observeoexemploabaixo:

<Directory/var/www/html/restrito> orderallow,deny allowfrom.exemplo.com.br </Directory>

Noexemploacimaoacessoaodiretrio/var/www/html/restritosergarantidoapenasaosclientescujoIP reversosejamresolvidosdentrododomnioexemplo.com.br.

ExistemdiversasoutrasformasdeimplementarsegurananoApache,paramaioresinformaesconsulte adocumentaoonlineem:http://httpd.apache.org/docs/

128

LaboratrioAPACHE,cenriodeconfiguraoparaVirtualHosts:
Um nicoservidorpodehospedardiversosWEBsites,estafuncionalidade conhecidacomoVirtual HostsdentrodoApache.Nolaboratrioabaixo,temososdomniosfictcios www.kingofsea.com e www.lobomar.comqueestoconfiguradosnummesmoservidorApachequeestaaceitandorequisies noendereolocal(loopback)IP127.0.0.1naportapadro80.Observequedevemserefetuadasas devidasconfiguraesnoarquivo/etc/hostsparaproverascapacidadesdeDNSutilizadasnesteexemplo. Instaletodosospacotesdoapache edoelinksedependnciasnecessrias. Reproduza s configuraes abaixo em sua mquina local editando no final do arquivo /etc/httpd/conf/httpd.conf: NameVirtualHost127.0.0.1 <VirtualHost127.0.0.1> ServerAdminroot@localhost DocumentRoot/var/www/html ServerNamewww.kingofsea.com ErrorLoglogs/kingofseaerror.log CustomLoglogs/kingofseaaccess.logcommon </VirtualHost> <VirtualHost127.0.0.1> ServerAdminroot@localhost DocumentRoot/var/www/html1 ServerNamewww.lobomar.com ErrorLoglogs/loboerror.log CustomLoglogs/loboaccess.logcommon </VirtualHost> ParaefetuarostestescomaconfiguraodeVirtualHostsacima necessrioadicionarentradas semelhantesabaixonoarquivo/etc/hostsafimderedirecionararesoluodosdomniosutilizadosneste exemploparaamquinalocal.Noefetuequalqueralteraono/etc/hosts,apenasacrescenteaslinhas abaixoaofinaldoarquivo: 127.0.0.1www.kingofsea.com 127.0.0.1www.lobomar.com 129

AconfiguraodeVirtualHostsparasitesonde exigidaacriptografiaSSLdeveserrealizadano arquivodeconfiguraodomduloSSLlocalizadoem:/etc/httpd/conf.d/ssl.conf NonecessriorealizarconfiguraesnoSSLparaestelaboratrio. AgoracriecorretamenteosdiretriosespecificadosnavariveldeconfiguraoDocumentRootpara cadasiteeadicioneumapginahtmldeteste.Criepginashtmldetesterapidamentedaseguinteforma: echoServidorKingofsea>/var/www/html/index.html echoServidorLobomar>/var/www/html1/index.html

AtivandooServionaInicializaodoSistema:
OcomandoabaixoativaoservioHTTPemtodososrunlevelseemseguidainiciaoservidor.Qualquer mensagem de erro na inicializao ou recarga do servidor devem ser cuidadosamente verificadas. SempreobserveosarquivosdeLOGsquandoefetuarmodificaesnosarquivosdeconfigurao. chkconfighttpdon;servicehttpdstart ApsqualqueralteraonasconfiguraesreinicieoservidorApachecomocomando: servicehttpdreload

TestedeImplementao/Validao:
Useoelinksparatestarrapidamenteasconfiguraes: elinksdumpwww.kingofsea.com elinksdumpwww.lobomar.com

FimdoLaboratrioAPACHE

130

SQUID: Introduo:
Squidumservidorproxycachedealtodesempenhoparaclientesweb.Desenvolvidoemcdigoaberto sobalicenaGNUGPL,oresultadodacontribuiodemilharesdeprogramadoresdomundointeiro. Completo,estveleseguro,apesardenormalmenteassociadoaouniversodoLinux,rodaemvrios outrossistemasoperacionais,incluindooWindows.Emborasejausadoprincipalmenteparaprotocolos HTTP e FTP, tem suporte para outros protocolos como TLS, SSL e HTTPS. Almdasfunesdecache,osquidtemamplosuporteparalistasdecontroledeacessoelogging,ou seja,funesmuitoteisparaempresasqueprecisambloquearcontedosnorelacionadoscomareade trabalho e tambm efetuar uma espcie de monitorao do que acessado pelos navegadores dos funcionrios.Issoajudaaaumentaraprodutividadeereduzirotrfegonainternetcomcontedosno relacionados. Tambmh suporteparahierarquiasdecache,onde possvelespecificaroutrosservidoresdecache parentesparatrabalharseemconjunto.ExistemtambmafunodeaceleradordeHTTPondeosquid posicionaseentreoservidorHTTPeoclienteescutandorequisiesnaporta80edisponibilizandoo contedoarmazenadoemcache,essemecanismoacabamaximizandoacapacidadedeatendimentodo servidorwebumavezqueaceleraarespostanassolicitaes. Emgeralosquidajudaareduzireorganizarotrafegodesadadeinternetdaempresaarmazenandotodo contedovisitadoemobjetosedisponibilizandoquandosolicitadonovamente.Todocontedodinmico comoporexemploscriptsCGIssoredirecionadosdiretamenteenosocacheados.

InstalandoPacotes/SoftwaresNecessrios:
Verifiqueseopacotedosquidjestinstalado,casocontrarioinstaleo. rpmqa|grepsquid rpmUvhsquid*

131

ConfiguraodoServio:
Oprincipalarquivodeconfiguraodosquidest localizadoem /etc/squid/squid.conf. Estearquivo muitobemcomentadoe fortementerecomendadoaconfiguraodosquideditandomanualmentee lendocuidadosamenteessescomentrios. Existem centenas de parmetro configurveis no squid, iremos nos limitar a ver somente os mais importanteparaconfiguraodeumainfraestruturabsicaoperacional.Osprincipaisparmetrosso:

http_port Aquivocespecificaaportaondeosquidir escutarasrequisiesdeseusclientesemgeral navegadoresdaredeinterna.Aportapadro3128maspodeseralteradapara8080seissofor necessrio. Caso esteja utilizando o squid em modo acelerador de HTTP configure neste parmetroaporta80. https_port S necessrio configurar esse parmetro de voc estiver utilizando o squid em modo de aceleradordeHTTPeaindaestiverdisponibilizandosuporteHTTPS/SSLparaseusclientes. icp_port Aquivoc especificaaportadecomunicaocomosparentesqueformamahierarquiade cache.Ovalorpadroo3130.Geralmentenohmotivoparamudaressaporta. cache_dir Especificaodiretrioqueserarmazenadoocachedosobjetosemdisco,otamanhodocacheem MegaByteseestruturadesubdiretriosenveisdearvoresparaorganizaodocache. Ovalorpadrodetamanhodecacheemdisco de100MB,mudeestevalorparaumtamanho compatvelcomonmerodeclientesetambmcomotamanhodeseudisco.Tenhacautela,pois cachesgigantescossemnmerodeclientescompatveistornaaindamaislento, necessrioum estudoparadimensionarotamanhodecachecomotamanhodesuarede. acl Defineumalistadecontroledeacesso. http_access Permiteoubloqueiaoacessobaseadonasaclsdefinidas.

132

LaboratrioSQUID,cenriodeconfiguraodepequenoporte:
Oobjetivodestelaboratrioapenastornarfuncionalousodosquidconfigurandoumalistadecontrole deacessocompatvelcomsuaredeeclientes.Nosercobertoaconfiguraodomododeacelerao HTTPehierarquiasdecacheparentesICP.Adicionalmenteiremosconfiguraralgumasrestriesa sitesproibidos.Sigaasorientaesabaixo: 1. Editeoarquivo/etc/squid/squid.confcomseueditorpreferido. 2. ProcureaseodeACCESSCONTROLeadicioneumaACLcomorangedeIPsdesuarede localexemplo:(Nesteexemploespecificamo soescopodeumaclasseCnarede192.168.200.0) acl redelocal src 192.168.200.0/24 3. AgoraativeaACLredelocalrecmdefinida.Procureaseohttp_accesseincluaoexemplo abaixo.PosicionealinhaabaixodocomentrioINSERTYOUROWNRULEHERE. http_access allow redelocal 4. Iremosbloquearalgunssitespopularesdewebmailcomoexemploderestriodedomnios. NovamentenaseodeACCESSCONTROLincluaaslinhasabaixo: acl blockmail dstdomain .gmail.com acl blockmail dstdomain .hotmail.com acl blockmail dstdomain .yahoo.com 5. AgoraativeaACLblockmailparabloquearoacessoaessesdomnios.Voc deveinserira linhaantesdaqueliberaoacessoasuaredelocal. http_access deny blockmail 6. Inicieosquidcomocomando:servicesquidstart

Arquivosdeconfiguraoenvolvidos:

/etc/squid/squid.conf

AtivandooServionaInicializaodoSistema:
Paraativaroservionainicializaoemtodosrunlevelseiniciaroserviouse: chkconfigsquidon;servicesquidstart

133

TestedeImplementao/Validao:
Inicieainterfacegrficaeconfigurenoseunavegadorpreferidoasseguintesopesdeproxy: IP:localhostPORTA:3128 1. Tenteacessardeseunavegadorumendereobloqueado,exemplo:www.gmail.com Seasconfiguraesestiveremcorretasiraparecerumamensagemdosquidinformandoqueeste endereoestabloqueado. 2. Peaparaseucoleganomesmosegmentoderedeutilizarseuproxy,destemodovocirefetuar otestedaACLredelocal. OBS:.Ostestesdeimplementaodestelaboratriopartemdoprincpioquenoh conexocoma internetdisponvel.

134

MUAs,MTAs,MDAs: Processodecriaodamensagem:
Quandoousuriodecidircriarouenviarumemailgeralmentesousadosaplicativosconhecidoscomo MUAs(MailUserAgents),umexemplobemconhecidodeMUAoMicrosoftOutlook. ApsescritaamensagemoMUAir encaminharestaparaalgumservidordeMTA(MailTransfer Agent)configurado,queprovavelmenteseroseugatewaydeprovedordeacessoainternet.

Processoderouteamentodamensagem:
OservidordeMTA(NoLinuxgeralmenteosendmailoupostfix)irverificaravalidadedocampodo destinatriodamensagemesentoirinformaraoMUAqueamensagemfoienviada.Issoaindano querdizerqueamensagemfoientregueaodestinatriofinal,issoapenassignificaqueoprocessode routeamentodessamensage miniciouse. OserviodeDNS fundamentalparaqueorouteamentodasmensagenssejabemsucedido,podemos dizerqueoserviodeMAILdependediretamentedofuncionamentodoserviodeDNS,issoporqueo MTA ir sempre buscar o servidor MX (Mail Exchanger) para o domnio do destinatrio de cada mensagem. OMX oservidorresponsvelporreceberasmensagemdeumdeterminadodomnio,casooservidor MXprimrioestejaofflineporalgummotivo,emdomniostecnicamentebemconfiguradosexistem outrosservidoresMXsecundriosparareceberasmensagenssemprequehouverqualquerproblema. possvel haverdiversos servidoresMXconfigurados paraumdomnio,principalmente em casos de domnios extremamente requisitados como por exemplo o domnio gmail.com, onde milhares de mensagemsoentreguestodososdias.

Processodeentregadamensagem:
Quando a mensagem chega ao servidor final e todos os filtros so aplicados, essa mensagem armazenadanafilademensagensdousuriopeloMDA(MailDeliveryAgent)quegeralmentepartedo mesmoaplicativoMTA(GeralmentesendmailoupostfixemambientesLinux). Odestinatriofinalefetuaodownloaddesuafilademensagens(mailspool)geralmentepelosprotocolos POPouIMAPutilizandotambmaplicativostipoMUA. 135

EscolhendooMTAnoRHELcomalternatives:
Oaplicativoalternativesgerenciaatrocadegruposdepacotesdeserviosqueexecutamamesmafuno dentrodadistribuio.NocasodeMAIL,existem02(Dois)MTAsdisponveissuportados,soeles:o sendmaileopostfix.VocirdecidireconfigurarqualdessesdoisMTAsestarativoemseusistema utilizandoaferramentaalternatives. O alternatives manipula links simbolicos que efetuam a troca das aplicaes no diretrio /etc/alternatives. PodemosdizerqueoprimeiropassoparaconfiguraodoserviodeMAIL configurandooMTA desejadopeloalternatives,vejaabaixocomorealizadaestasimplesconfigurao:

ParavisualizarqualMTAestaemusocorrenteuse: alternativesdisplaymta ParaconfiguraroMTAdentrodasopespossveisuse: alternativesconfigmta

OBS:OMTApadrooSendmail.ParapoderescolheroPostfixnecessrioainstalaodospacotes doPostfixantesdeusaraferramentaalternatives. OBS1: Embora o sendmail seja extremamente eficiente e verstil e tambm largamente utilizado, recomendase a utilizaodoPostfix que um MTA considerado da novageraoe totalmente compatvel/transparentecomoantigosendmail. OBS2:NosprximoscaptulosiremoscobriraconfiguraobsicadoPostfix.Noiremosabordaro sendmail.

136

POSTFIX: Introduo:
OPostfixvemseconsolidandocomoumaalternativaaosendmailemrazodesuascaractersticas,como maiorrobustez,melhordesempenhoemaiorfacilidadenamanutenoeconfigurao.Almdomaiso Postfix capazdeemularvriasfunesdosendmail,evitandoassimmodificaesnasaplicaesque utilizamosendmail. Outra caractersticaimportantedoPostfix asuaconstruomodular,facilitandoamanutenodo cdigoepermitindoaimplementaodenovasfuncionalidadesmaisfacilmente. Postfixtambmimplementatcnicasavanadasdeprogramaosemelhante susadasemwebserver para criao emanipulaodeprocessosfilhos,destaformamquinascomhardwaresno muito poderososconseguemmanipularmilharesdemensagenspordia. Umfatorchavetambmparamigraoparaopostfixfacilidadedemanutenoeconfiguraoatravs deumarquivoprincipaldeconfiguraocomparmetrosclarosebemcomentados. Grandesesforosnareadeseguranatambmforamrealizadosnaimplementaodopostfix,nenhuma conexocomainternetrealizadaparaassubpartesdoprogramaqueefetuamaentregaemanipulao demensagemnofilesystemlocal.Quasetodosprocessospodemserexecutadosemchrootjailcom privilgiosmnimosdesegurana. Vriassubpartesdopostfixestodisponveisparaexecutardiferentesfunes,conheaabaixoapenasas principais:

master Processo principal de coordenao dos demais processos do postfix, este processo no trata diretamentedemanusearmail,apenasgerenciaosdemaisprocessos/daemons.Seuarquivode configuraoestalocalizadoem/etc/postfix/master.cf

pickup Pickupaguardamensagenschegaremnodiretriomaildropeprocessamovendoparaafilade incoming.

smtpd Estedaemonesperanaporta25porconexes. qmgr Estedaemonesperapelachegadademaileiniciaoprocessodeentregalocaldopostfix.

137

InstalandoPacotes/SoftwaresNecessrios:
Sempreverifiqueantesseospacotesjencontramseinstaladosnahoradeinstalarnovospacotes. rpmqa|greppostfix rpmUvhpostfix2*

AtivandooServionaInicializaodoSistema:
Ative o servio em todos os runlevels. Sempre que fizer qualquer alterao nos arquivos de configuraoreinicieoservio.Use: chkconfigpostfixon servicepostfixrestart

ConfiguraodoServio:
Oarquivoprincipaldeconfiguraodopostfixestalocalizadoem /etc/postfix/main.cf.Estearquivo muitobemcomentadoeaconselhaseaconfiguraointegraldopostfixeditandomanualmente este arquivocomseueditorfavorito. Abaixoosparmetrosbsicosetambmprincipaisparaaconfiguraodoservidordemail: myorigin Este parmetroespecificaodomnioqueser apresentadonas mensagensenviadas pelo seu sistema.

mydestination Especificaosdomniosqueseusistemaconsideraelemesmocomodestinofinal. mynetworks Especifica a lista de clientes STMP confiveis ou clientes internos que possuem mais privilgiosqueosclientesconsi deradosclientesdefora.

inet_interface Especificaoendereodainterfacederedequeseusistemair recebermail.Porpadroesta apenasativadaainterfacedeloopback(127.0.0.1). 138

Vejaagoracomoconfigurardeformarpidaeprecisaessesparmetros,osvaloresabaixoserofictcios erepresentamasconfiguraesmnimasnecessriasparaumservidordemailoperar: postconfemyorigin=laboratorio.com.br postconfemydestination=laboratorio.com.br postconfemynetworks=192.168.200.0/24,127.0.0.1 postconfeinet_interface=all Semparmetrosocomando postconf apresentaalistadetodosparmetrosconfiguradosnoarquivo /etc/postfix/main.cfeidealparaverificarasconfiguraes.

Aliases,Virtual,Access:
Opostfixfoidesenhadoparasertotalmentecompatvelcomosendmailinclusivenasintaxedosarquivos relativosaaliasesdeusuriosemapeamentodeusuriosvirtuais. Osarquivosaliases,virtualeaccessencontramselocalizadosnodiretrio/etc/postfixesoprocessados comosrespectivoscomando spostmapepostalias. aliases(Aliasesparausurioslocais) virtual(Mapeamentodedomniovirtual) access(Controlesderouteamentodemail)

Semprequehouvermodificaesnessesarquivosnecessriosexecutar: postmap/etc/postfix/access postalias/etc/postfix/aliases

139

Arquivosdeconfiguraoenvolvidos:

/etc/postfix/master.cf /etc/postfix/main.cf /etc/postfix/access /etc/postfix/aliases /etc/postfix/virtual

DomniosVirtuais:
Emordemarecebermaildemltiplosdomniosemseusistemasigaoexemploabaixo:

1/etc/postfix/main.cf: 2virtual_alias_domains=exemplo.com...outrosdominios... 3virtual_alias_maps=hash:/etc/postfix/virtual 5/etc/postfix/virtual: 6postmaster@exemplo.compos tmaster 7info@exemplo.comcarlos 8vendas@exemplo.comjaime 9#Descomentealinhaabaixopararedirecionarqualquerendereododomnioparausurioandre. 10#@exemplo.comandre 11...virtualaliasesparamaisdomnios...

Maiores informaes de como configurar domnios virtuais esto localizadas em: /usr/share/doc/postfix*/README_FILES/VIRTUAL_README

140

DOVECOT:

Introduo:
DovecotumservidoropensourcedeIMAPePOP3parasistemasLinuxeUnix,estadisponvelpara quasetodasplataformasedistribuies.Dovecotfoidesenhadoparaatenderinfraestruturasdemailde peguenograndeporte,todooseuprojetofoidirecionadoparareadesegurana.Elerpidoeverstil enorequernenhumaatenoespecialnaadministrao.Serleveeconsumirpoucamemriatambm foiumdosobjetivosdoprojeto. disponibilizadosuporteaosprotocolosIMAP4rev1ePOP3,SSLeTLS.Odovecottambmsuporta oficialmenteospadresmailboxemaildirbemcomoNFSetambmsistemadearquivosparaclusters. Recentementefoiimplementadoosuporteaquotasemmaildir++esuporteaACLs.

InstalandoPacotes/SoftwaresNecessrios:
Verifiqueseospacotesjestoinstalados,casocontrrioinstaleos. rpmqa|grepdovecot rpmqa|grepperlDBI rpmqa|grepmysql5 rpmIvhperlDBI* rpmIvhmysql5* rpmIvhdovecot*

OBS:perlDBIemysqlsopacotesdedependnciasnecessriasparaainstalaododovecot.

141

ConfiguraodoServio:
O arquivo principal de configurao do dovecot encontrase localizado em /etc/dovecot.conf e aconselhaseaconfiguraoeditandomanualmenteestearquivocomseueditorpreferido.Estearquivo deconfiguraomuitobemcomentadoeaconselhasetambmlercomatenoocomentriodetodos osparmetroscomcautelaparaqualqueralterao.Nogeralosvalorespadresatendemamaioriados casos. Ainstalaoeconfiguraomnimadodovecotmuitosimplesequasenorequernenhumajuste.

Acompanheabaixoaconfiguraomnimasugerida:

Editando o arquivo de configurao /etc/dovecot.conf procure o parmetro protocols e efetue a configuraoabaixo:

protocols=pop3pop3simapimaps

142

CriandoocertificadoPEMparautilizaodoIMAPS:
Useseueditorpreferidoparacustomizarasinformaesdesuaorganizaonoarquivo: /etc/pki/dovecot/dovecotopenssl.cnf. Vejaabaixoumexemplode/etc/pki/dovecot/dovecotopenssl.cnf: [req] default_bits=1024 encrypt_key=yes distinguished_name=req_dn x509_extensions=cert_type prompt=no [req_dn] #country(2lettercode) C=BR #StateorProvinceName(fullname) ST=SantaCatarina #LocalityName(eg.city) L=Florianopolis #Organization(eg.company) O=laboratorio #OrganizationalUnitName(eg.section) OU=Laboratorio #CommonName(*.example.comisalsopossible) CN=alunoX.laboratorio.com #Emailcontact emailAddress=postmaster@alunoX.laboratorio.com [cert_type] nsCertType=server 143

Deleteoscertificadosantigos: rm/etc/pki/dovecot/certs/dovecot.pem rm/etc/pki/dovecot/private/dovecot.pem Crieseunovocertificadoexecutandoocomandoabaixo: /usr/share/doc/dovecot*/examples/mkcert.sh

Arquivosdeconfiguraoenvolvidos:

/etc/dovecot.conf /etc/pki/dovecot/dovecotopenssl.cnf

AtivandooServionaInicializaodoSistema:
chkconfigdovecoton;servicedovecotstart

TestedeImplementao/Validao:
Nesteexemploiremosusaroaplicativomuttparatestarasconfiguraes: muttf{carlos@localhost/ssl}

144

LaboratrioPOSTFIXDOVECOT,cenriodeconfiguraodepequenoporte:

ComoexplicadoanteriormenteoserviodeMAILestadiretamenterelacionadocomoserviode resoluodenomesdemquinasedomnios,iremosprimeirofornecerasconfiguraesmnimas necessriasparadepoisprocedercomaexecuodestelaboratrio. Comonomededomnioiremosadotaronomefictciolaboratorio.com.br.Paraatribuirnomeas mquinassigaoesquema:alunoX,ondeXrepresentaonmerodesuamquinanasalade aula. Vejaoexemploabaixoparaatribuironomedesuamquina: OFQDNdaprimeiramquinadasaladeauladeverser:aluno1.laboratorio.com.br

Efetueasseguinteconfiguraes: Editeoarquivo/etc/sysconfig/network ConfigureoparmetroHOSTNAME=alunoX.laboratorio.com.br Casosuamquinajestejaconfiguradavparaprximapgina! Editeoarquivo/etc/hosts Adicioneaseguinteconfiguraoabaixo: 192.168.200.X alunoX.laboratorio.com.bralunoX 6. Reinicieoservidorcomocomando:reboot 1. 2. 3. 4. 5.

OBS:SubstituaalunoXpelovalorrealrepresentadopelonmerodesuamquinanasaladeaula. Exemplo:aluno1paramquina1,aluno2paramquina2,aluno3paramquina3eassimpordiante.

OBS:DetermineseuIPcomocomandoifconfigeuseessevalorparaconfigurarcorretamenteo arquivo/etc/hostsdaformasugeridaacimasubstituindoovalor192.168.200.XpeloseuIPreal.

145

Instaletodospacotesabaixonaordememqueaparecem: rpmivhpostfix2* rpmivhperlDBI* rpmivhmysql5* rpmivhdovecot* Pareosendmail: servicesendmailstop ConfigureopostfixcomoMTApadro: alternativesconfigmta Ativetodasinterfacesderedepararecebimentodemailnopostfix: postconfeinet_interfaces=all Editeoarquivodeconfiguraododovecotlocalizadoem/etc/dovecot.confeadicionealinhaabaixo: protocols=pop3pop3simapimaps Useseueditorpreferidoparacustomizarcominformaesfictciasdesuaorganizaooarquivo: /etc/pki/dovecot/dovecotopenssl.cnf . Deleteoscertificadosantigos: rm/etc/pki/dovecot/certs/dovecot.pem rm/etc/pki/dovecot/private/dovecot.pem Crieseunovocertificadoexecutandoocomandoabaixo: /usr/share/doc/dovecot*/examples/mkcert.sh

146

Ativeopostfixeodovecotparainicializaoautomtica: chkconfigpostfixon;chkconfigdovecoton VerifiqueseocomandohostnameretornaoFQDNdesuamquina. Inicieopostfixeodovecotcomoscomando sabaixo: servicepostfixstart servicedovecotstart

TestedeImplementao/Validao:
Crieousuriocarlosseeleaindanoexistir.EnvieumamensagemdetesteparaousuriolocalCarlos, apsresgateamensagemutilizandooprotocoloIMAPSpeloMUAmu tt. mailstestecarlos@alunoX.laboratorio.com.br</proc/cpuinfo muttf{carlos@alunoX.laboratorio.com.br/ssl} OBS:SubstituaalunoX.laboratorio.com.brpelasadadocomandohostname.

147

OpenSSH: Introduo:
OprojetodoOpenSSHveioparasubstituirantigosmtodosinsegurosdecomunicaoeautenticao, podemosdizerqueoOpenSSH umsubstitutodiretodorlogin,rshetelnetevaialmdasubstituio incorporandocaractersticasprpriasenovasfunesextremamenteteisnosdiasatuais. OOpenSSHproveautenticaosegura,execuoremotaseguraeloginshellremotosegurobsicamente, diversasformasdeautenticaoestodisponveis,podemosestabelecerlistasdeacesso,criarpadresde senhasforteseat aautenticaoautomticapormeiodechavespblicascriptografadas,mtodo extremamentetilparaserusadoemshellscriptsouemeventosde manutenesautomatizados. Toda sesso criptografada fazendo uso das rotinas e bibliotecas do OpenSSL que requerido, adicionalmentepossvelfazerarbitrariamenteTCPportforwarding,isto,nestecasooOpenSSHir criarumtnelcriptografadoondequalqueraplicaoouprotocolopossautilizar. AopodeX11Forwardingquandoutilizadaenvia/redirecionapelotnelcriptografadoaconexoao servidor X da mquina remota para o servidor X da mquina local, desta forma, as aplicaes ou programasgrficosexecutadospeloshellremotoirosermostradasnodisplaylocal.

InstalandoPacotes/SoftwaresNecessrios:
Emquase100%doscasos,todosospacotesjestaroinstalados,oOpenSSHconsideradoumsoftware padrodemanutenoemsistemasLinux/Unix.Vejaabaixoospacotesnecessrios esuasdescries: openssh Pacoteprincipalqueprovefuncionalidadescoreparaambossshclienteesshservidor. openssl Bibliotecaserotinasdecriptografiaeferramentasparageraodechavesecertificados opensshclients EstepacoteproveosprogramasnecessriosparautilizaodoOpenSSH. opensshserver Estepacoteproveodaemonsshdnecessrioparadisponibilizaroacessoremotodeseusistema. opensshaskpass EstepacoteproveacapacidadededialogoX11dopassphraseparaoOpenSSH.

148

ConfiguraodoServio:
VeremosagoraaconfiguraodoOpenSSHservidor(sshd),osarquivosdeconfiguraodeambos OpenSSH Servidor e OpenSSH Cliente podem ser localizados em /etc/ssh. O principal arquivo de configuraodoOpenSSHServidorestalocalizadoem /etc/ssh/sshd_config.Vejaabaixoasprincipais opesdeconfiguraodestearquivo:

AllowUsers Este parmetro a forma mais simples de especificar arbitrariamente a lista de usurios permitidosautilizarosshd.Porpadroosshdpermitetodososusurios. PasswordAuthentication Especificase permitidaounoologinutilizandopasswords.Opadro permitido,omais comumaqui quandomudaresteparmetroparaimpedirologinporsenhas criaraschaves publicaseprivadasparagarantirseuacesso. PermitRootLogin Esteparmetrocontrolaoacessoaosuperusurionosshd.Ospossveisvaloresdesteparmetro so: yes valor padro, withoutpassword bloqueia a autenticao do super usurio por password. forcedcommandsonly Aceita autenticao do super usurio por chave publica somenteseespecificadoalgumcomando,estaopotilparaaexecuodealgumcomandono sistemaremotopoisnopermiteologin.nodesligaoacessodosuperusurio. Protocol Especifica as verses de protocolo suportadas pelo sshd. Lembrando que fortemente aconselhvelpermitirsomenteoprotocoloversoSSH2.OprotocoloversoSSH1aindaexiste apenasparamantercompatibilidadecomsistemamuitoantigos. Port Especificaaportaqueosshdiraguardarporconexes. X11Forwarding Ospossveisvaloressoyesouno,esteparmetrocontrolaoredirecionamentodasconexes aoservidorX.OvalorpadroyesnoRHEL. PermitTunnel EsteparmetrocontrolaocomportamentododispositivoTunusadoparaestabelecerVPN.O valorpadrodesligadono.

149

Arquivosdeconfiguraoenvolvidos:

/etc/ssh/* /etc/ssh/sshd_config

Gerandochavespblicaseprivadas:
Em ordem a gerar o par de chaves pblica (Servidor) e privada (Usurio) para implementar a autenticaoautomticasigaospassosabaixo: 1. 2. 3. 4. 5. Nodiretriohomedousurioexecute ocomando:sshkeygen TecleENTERparaaceitarovalorpadroparaonomedachavepblica TecleENTERparaignorarautilizaodepassphrase TecleENTERnovamenteparaconfirmaranoutilizaodopassphase Executeocomando:cp~/.ssh/id_rsa.pub~/.ssh/authorized_keys

OBS:Quandoespecificadoalgumpassphraseestasenhafraseserutilizadaparaencriptarachave privadadousuriocomumalgoritmo3DES.Semprequeforutilizadaachaveprivadater queser fornecidoopassphraseparadecriptarachaveantes. OBS1:Oarquivo~/.ssh/authorize_keyguardaalistadaschavespblicaspermitidasnoservidor. possveladicionarmaischavespblicasaessemesmoarquivo.

Autenticaobaseadaemhosts:
Osshdfoicompiladocomsuporteabibliotecalibwrap.so,destaformapossvelfazerusodosarquivos /etc/hosts.allowe/etc/hosts.denyemordemaimplementaraautenticaobaseadaemhosts,isto ,em nmerosIPsounomesdemaquinasedomnios.Paraliberaroacessoaosshdsigaoexemploabaixo: Noarquivo/etc/hosts.allowadicioneaseguintelinha: sshd:<IPsounomesdemquinas/domniospermitidos>

AtivandooServionaInicializaodoSistema:
chkconfigsshdon;servicesshdstart 150

LaboratrioOpenSSH,cenriodeconfiguraodemdioporte:
Disponibilize o acesso remoto ao sistema configurando o servidor OpenSSH. Um detalhe muito importantequeousuriorootapenasteracessoautenticandosepormeiodechavepblica/privada. Deformaalgumaosuperusuriopoderlogarsenosistemainformandoseupassword. Osdemaisusuriosdosistemapoderoautenticarseviapasswordouchavepblica/privadacasotenham criado.

TestedeImplementao/Validao:
1. Testeoacessoviapassworddeusuriosregularesdosistema:sshcarlos@localhost 2. Disponibilizandoachavepblicatesteoingressoautomticonosistema:sshroot@localhost 3. Agoraremovaachavepblicadousuriorootetentelogarse: rm/root/.ssh/authorized_keys sshroot@localhost

151

SoluodolaboratrioOpenSSH:
1. 2. 3. 4. 5. 6. InstaletodospacotesrequeridosparaoclienteeservidorOpenSSH ConfigureoservidorOpenSSHparainicializaoautomtica:chkconfigsshdon Configureoparmetronoarquivo/etc/ssh/sshd_configPermitRootLogin=withoutpassword Crieaschavespblica/privadacomocomando:sshkeygen Renomeieoarquivo/root/.ssh/id_rsa.pubpara/root/.ssh/authorized_keys Reinicieoservio:servicesshdrestart

152

DHCP: Introduo:
ODHCP(DynamicHostConfigurationProtocol)eoBOOTP(InternetBootstrapProtocol)hojeso desenvolvidosemantidospeloISC(InternetSoftwareConsortium).Aprincipalfuno permitirque mquinas num determinadosegmento TCP/IP solicitem suas configuraes de rede de um servidor central comum. O DHCP prove as informaes de configurao de rede para mquinas ainda desconhecidasnarede,informaescomooEndereoIP,Gateway,MscaradeRede,Endereodesub net,ConfiguraesdeDNSeetc.OprotocoloBOOTPproveasmesmasfuncionalidadescomrestries. GeralmenteexisteapenasumservidordeDHCPparacadasegmentoderede,asmquinasbuscamo servidor enviando pacotes de broadcast que so prontamente respondidos assim configurando dinamicamentearede.Oadministradoralocapoolsdeendereosquesoalugadosparaasmquinas porumperododetempoconfigurado,istochamadodeleasetime,quandoessetempoexpiradoo clientedecideseirounorenovaressemesmoendereo,paraoprotocoloBOOTPnohleasetime, essaumadasdiferenasentreoDHCPeBOOTP. EndereosIPspodemseralocadosestaticamentedeacordocomoendereonicoMACdasinterfaces.O administradorpodefacilmenteporexemploreservarumrangedeendereosparaumdeterminado grupodemquinasdentrodeumsegmentoderede,ouento,especificarqueoservidordeDHCPir apenasrespondersolicitaesdeumgrupodeclientesdefinidospeloendereoMAC. AdicionalmenteoservidordeDHCPtambmpodeproverasinformaesrelativasaoKickstart,desta forma,umamquinapodeserinteiramenteinstaladaeconfiguradaremotamente.

InstalandoPacotes/SoftwaresNecessrios:
Emquase100%dasinstalaesospacotesrelativosaoclientedeDHCPj estaroinstalados,para configuraroservidordeDHCPnecessrioainstalaodepacotesadicionais,vejaabaixo: dhclient EstepacoteforneceoDHCPDaemonCliente. dhcp EstepacoteforneceoDHCPDaemonServidoreoAgentedeRedirecionamento. dhcpv6_clientedhcpv6 Pacotesparaoperarcomcliente/servidorparaDHCPv6pararedeseparmetrosIPv6.

153

ConfiguraodoServio:
OarquivodeconfiguraoparaoservidordeDHCPestalocalizadoem/etc/dhcpd.conf,paracriarsuas configuraesutilizeoexemploqueacompanhaopacotedhcplocalizadoem: /usr/share/doc/dhcp3*/dhcpd.conf.sampleouverifiqueasmanpages:mandhcpd.conf. Vejaabaixoumexemplode/etc/dhcpd.conf # ddnsupdatestyleinterim; ignoreclientupdates; subnet192.168.0.0netmask255.255.255.0{ #defaultgateway optionrouters 192.168.0.1; optionsubnetmask 255.255.255.0; optionnisdomain "domain.org"; optiondomainname "domain.org"; optiondomainnameservers 192.168.1.1; # optionntpservers 192.168.1.1; # optionnetbiosnameservers 192.168.1.1; #Selectspointtopointnode(defaultishybrid).Don'tchangethisunless #youunderstandNetbiosverywell # optionnetbiosnodetype2; rangedynamicbootp192.168.0.128192.168.0.254; defaultleasetime21600; maxleasetime43200; #wewantthenameservertoappearatafixedaddress hostns{ nextservermarvin.redhat.com; hardwareethernet12:34:56:78:AB:CD; fixedaddress207.175.42.254; } } 154

ddnsupdatestyleeignoreclientupdates ConfiguramaatualizaodenomesautomticanoservidordeDNSgeralmenteotambmdaISC NAMED,nesteexemploapenasestaseconfigurandoqueotipodeatualizaoser apadro (interim) e que solicitaes vindas de clientes devem ser ignoradas. Para configurar a conversao/atualizao entre o servidor de DHCP e o servidor de nomes NAMED demais parmetrosdevemseradicionados.Procuredocumentaoadicionalparaisto. subnetenetmask DefineoescopoderedequeesteservidordeDHCPirtrabalhar. optionrouters Defineogatewaypadro.

optionsubnetmask Defineamscaraderede.

optiondomainnameeoptionnisdomain EspecificaonomedeseudomnioeonomedodomnioNIScasoexista.

optiondomainnameservers Especificaoendereodoservidordenomesprimrio. optionntpservers Especificaoendereodoservidordetempo(NTP). optionnetbiosnameservers EspecificaoendereodoservidorWINS. rangedynamicbootp DefineoescoporeservadodeendereosIPsaosprotocolosDHCPeBOOTP. defaultleasetimeemaxleasetime Defineotempodealuguelpadroeotempodealuguelmximoemsegundos. hardwareethernetefixedaddress FixaestaticamenteumendereoIPparaumendereofsicoMAC. 155

OservidormantemumalistaatualizadadosendereosIPsdisponibilizados/alugadosparaosclientesem: /var/lib/dhcp/dhcpd.leases.

ConfiguraodoClienteDHCP:
Para configurar uma interface de rede permanentemente para utilizar o servio de DHCP utilize a ferramenta systemconfignetwork eselecioneaoporeferenteaoDHCP,emseguidareinicieesta interfacecomocomandoifup.Exemplo:ifupeth0 ManualmenteoprocessodeconfiguraodoclienteDHCPpodeserfeitoapartirdocomando:dhclient

Arquivosdeconfiguraoenvolvidos:

/etc/dhcpd.conf

AtivandooServionaInicializaodoSistema:
chkconfigdhcpdon;servicedhcpdstart

156

XINETD: Introduo:
Oxinetdveioparasubstituiroantigoinetd,oprincipalobjetivoumsuperservidorquegerenciaoutros servios que no so muito requisitados ou tambm servios que necessitam recursos adicionais principalmentena readesegurana.Oxinetd capazdecontrolarvriosaspectosdesegurananos serviosvinculadosaeleetambmliberarrecursosdosistemaumavezqueosserviosapenasso acordadosquandoalgumasolicitaonasuaportaocorre,podemosdizerqueosuperservidorxinetd monitora as requisies em todas as portas de seus servios vinculados e dispara os respectivos servidoresdeacordocomademanda. Adicionalmenteoxinetd linkadonabibliotecalibwrap.sooquepermiteumcontroledeautenticao baseadoemIPsounomesdemquinaedomnios.Mesmoqueoserviovinculadoaoxinetdnotenha suporteaautenticaobaseadaemhosts,comooxinetd capazdegerenciarasconexes,todosos servios vinculados iro submeterse a checagem nos arquivos /etc/hosts.allow e /etc/hosts.deny preliminarmenteesapsmecanismosdeseguranaparticularesdoxinetdseroaplicados. Entreoutrosrecursosoxinetd capazdeoferecercomocitadoacimaautenticaobaseadaemhosts, redirecionamento de IP, recursos extensivos de logs do sistema, estatsticas, policy de nmero de conexesporsegundo,opomuitoeficientenocontroledoabusodeservioeporfimreservarrecursos dosistema,umavezqueosserviossodisparadossobdemanda. Sua estrutura de configurao muito objetiva, o controle de portas realizado pelo arquivo /etc/services,umarquivodecontroleprincipalpadrolocalizadoem/etc/xinetd.confcomumatodosos servios e arquivos de configurao particulares para cada servio localizados dentro do diretrio /etc/xinetd.d.Observequeonomedosarquivosdentrodaestrutura /etc/xinetd.d representatambmo nomedoservio,estaprticadenomenclaturamuitofrequente.

InstalandoPacotes/SoftwaresNecessrios:
Vejaabaixooscomandosnecessriosparaverificarseoxinetdjestainstaladoeinstalarlo. rpmqa|grepxinetd rpmUvhxinetd

157

XINETDConfiguraoPadrodosServios:
Oarquivodeconfiguraoglobalestalocalizadoem/etc/xinetd.conf,nestearquivoseroconfigurados parmetrospadresqueafetaramtodososdemaisserviosvi nculadosaoxinetd.

Vejaabaixoumexemplode/etc/xinetd.conf

# #Thisisthemasterxinetdconfigurationfile.Settingsinthe #defaultsectionwillbeinheritedbyallserviceconfigurations defaults { log_type=SYSLOGdaemoninfo log_on_failure=HOST log_on_success=PIDHOSTDURATIONEXIT cps=5010 instances=50 per_source=10 v6only=no groups=yes umask=002 } includedir/etc/xinetd.d

158

log_type Determinaparaonde os logs sero enviados.Noexemploacima para facility daemon do syslogdcomprioridadeinfo. log_on_failure Determinaquetipodeinformaesserologadasemcasodefalhaquandoalgumservidor iniciado. log_on_success Determinaquetipodeinformaesserologadasemcasodesucessoapsalgumservidorser iniciado. cps Limitaonmerodeconexodeentrada.Oprimeiroparmetroespecificaonmerodeconexes mxima por segundo, o segundo parmetro especifica o tempo que o servio ir ficar indisponvelquandoolimitedeconexesforultrapassado. instances Determinaonmerodeservidoresquepodeserativosimultaneamenteparacadaservio. per_source DeterminaonmeromximodeconexesoriginadasdeummesmoIP. V6only EspecificaseaoperaoserexclusivanoformatoIPv6. Groups Os valores para esse parmetro podem ser yes ou no. Quando especificado yes os servidoresiroserexecutadoscomacessoaogrupodousurioUIDqueoserviopertence.Caso oparmetrogrouptenhasidoespecificadoosserviosteroacessoaogrupoespecificadopelo parmetrogroup=. umask Especificaarbitrariamenteumaumaskparaosservios.

includedir Todososarquivoscontidosnodiretrioespecificadoserocarregadospeloxinetd.

159

XINETDConfiguraoParticulardosServios:
Abaixo esta a configurao do servio telnet vinculado ao xinetd (/etc/xinetd.d/telnet). O principal parmetrodeconfigurao odisablequecontrolaseoservioestaounoativo.Observequeeste parmetrocontroladoealteradopelasferramentaschkconfigountsysvquandooadministradorefetua algumaalteraonorunlevel. #default:on #description:Thetelnetserverservestelnetsessions;ituses #unencryptedusername/passwordpairsforauthentication. servicetelnet { flags=REUSE socket_type=stream wait=no user=root server=/usr/sbin/in.telnetd log_on_failure+=USERID disable=yes }

Arquivosdeconfiguraoenvolvidos:

/etc/xinetd.conf /etc/xinetd.d/*

AtivandooServionaInicializaodoSistema:
chkconfigxinetdon;servicexinetdstart OBS:Parareiniciaroxinetderelertodasuaconfiguraouse:killallHUPxinetd 160

TCPWRAPPERS: Introduo:
OTCP_WRAPPERSimplementaaseguranabaseadaemhosts,isto ,aautenticaodeacordocomo endereoIPounomededomniodosclientes.Geralmenteosservidoresqueutilizamotcp_wrappers fazemusodabibliotecalibwrap.so,pormpodemocorrerimplementaesindependen tes. Nosarquivos/etc/hosts.allowe/etc/hosts.denyexistemduascolunasquedividemoscampos.Oprimeiro campoespecificaalistadeexecutveis,noconfundaonomedosexecutveiscomonomedosservios ou servidores. O segundo campo contm a lista das especificaes dos clientes, diversas formas diferentespodemserutilizadascomo:endereoIP,nomedamquina,endereosderede,nomesde domnioouparesdemscarasderedeeetc.OscoringasvlidossoALLeEXCEPT. Oprocessodeimplementaoocorredaseguinteforma,quandooclientefazumasolicitaoaalgum serviovinculadoaotcpwrappersosarquivos /etc/hosts.allow e /etc/hosts.deny soverificados,toda regraimplementadanessesarquivos aplicadanaordememque encontrada.Porprimeirooarquivo /etc/hosts.allow examinado,seotrfegoexplicitamenteno permitidooarquivo /etc/hosts.deny examinadosetambmotrfegonoforexplicitamentebloqueadooacessoliberadoparaoclientepela regradefaltadeomisso,isto ,essaconexonoencontrounenhumaregraaplicvelaela.Para entenderissotenhaemmentequeumaregralistadanoarquivo/etc/hosts.allowirpermitiraconexo, enquantoumaregralistadanoarquivo /etc/hosts.deny ir bloquear.Asmudanassoimediatamente efetivas,nonecessrioreiniciarqualquertipodeservioouservidor.

EspecificaodoDaemon(Servidores):
Noprimeirocampoespecificadoalistadosexecutveisparaosserviosseparadasporvirgula,.Veja abaixoalgunsexemplos: in.telnetd: sshd,gdm: 192.168.200.1 192.168.200.1

Seasuamquinapossuimaisdeumainterfacederedeevocdesejaimplementardiferentespolicys,use asintaxeabaixo: in.telnetd@192.168.0.1: sshd@192.168.200.1: 192.168.0. 192.168.200. 161

LembrandoqueparaimplementarregrasnosserviosbaseadosnoRPCcomooNISouNFSnecessrio especificarcomoexecutvelo portmap. naturalquemudanasnopolicydosserviosbaseadosem RPClevemalgunsinstantesparatornarsemefetivas.

EspecificaodoClientes:
Diversasformaspodemserutilizadasparaespecificaodosclientes.Vejabaixoalgunsexemplos:

EndereoIP 192.168.1. 192.168.1.5 Network/Netmask 192.168.200.0/255.255.255.0 NomedaMquina aluno1.laboratorio.com.br .laboratorio.com.br NomedaRede (ApenasnomesdoNISoude/etc/networks) @exemplo

SintaxesComplexas:
Oscoringasvlidosso:

ALL(Especificatudo) LOCAL(Especificatodasasmquinassempontoemseunome) KNOWN(Especificatodosasmquinaseusurioquepodemserdeterminados) UNKNOWN(Especificatodasasmquinasquenopodemserdeterminadas) PARANOID(EspecificatodasasmquinasqueoendereoIPearesoluodenomenosoas mesmas)

OBS:AdeterminaodosnomesdehostsocorrepormeiodaverificaonoserviodeDNSetambm nosarquivoslocaisderesoluodenomes.

162

Osoperadoresvlidosso:

ALL(Especificatudo) EXCEPT(Podeserusadonalistadeservidoreseclientesparaefetuaraexcluso)

OBS:Osoperadorespodemserutilizadosjuntos,formandofrases. Vejaumexemplomuitocomum: ALL:ALLEXCEPT.laboratorio.com.brEXCEPTaluno3.laboratorio.com.br Noexemploacimaestamospermitindooubloqueandotodasasmquinanodomniolaboratorio.com.br menosparamquinaaluno3.laboratorio.com.br.

CenriodeExemplos:
Exemplo1: #/etc/hosts.allow sshd,portmap: in.telnetd: #/etc/hosts.deny ALL: in.telnetd: sshd,portmap:

192.168.200. 192.168.200.10

.hacker.orgEXCEPTpimper.hacker.org ALL ALL

NoexemploacimaoacessoaossheserviosdoportmapcomoNFSapenassogarantidosatodaclasse Cdarede192.168.200.0 Oacessoaotelnetliberadoapenasparaamquina192.168.200.10 Paraosdemaisserviosquenoestolistados,todossobloqueadosatodasasmquinasdodomnio hacker.orgmenosparamquinapimper.hacker.org.

163

Exemplo2: #/etc/hosts.allow sshd: in.telnetd: #/etc/hosts.deny ALL:

192.168.200. .laboratorio.com.br .laboratorio.com.br

ALL

Noexemploacimaoacesso apenaspermitidoparaoserviossh darede192.168.200.0 equalquer mquina do domnio .laboratorio.com.br. Oservio telnet tambm permitido somentea todas as mquinadodomnio.laboratorio.com.br. Todososdemaisserviosestarobloqueadosaqualquercliente. Oexemploacimamuitoprticodesermantidoetambmimplementaumaltograudesegurana,pode sedizerqueaformamaisseguraeeficazdeliberaroacessogradualmenteaosservios.

164

LaboratrioXINETDTCPWRAPPERS,cenriodeconfiguraodemdioporte:
Paramantercompatibilidadecomsistemasmaisantigosouatpermitiracomunicaocomdispositivos de rede como roteadores e modens o uso do protocolo telnet ainda utilizado. Muito cuidado necessrionautilizaodesteprotocolopoisnohcriptografiaeatrocadenomesdeusuriosesenhas ocorrem em textoplanopelarede.Oobjetivodestelaboratrio disponibilizaroserviode telnet vinculadoaosuperservidorxinetdeaplicarrestriesdeacessopelotcpwrappers.Oacessodeveser permitidoapenasparaamquinalocal(localhost.localdomain/127.0.0.1). OBS: Esse laboratrionovisa a funcionalidadedotelnet, massimadisponibilizao do servio vinculadoaoxinetdeaaplicaodasregraspelotcpwrappers.

TestedeImplementao/Validao:
1. Testeoacessolocaldotelnet:telnetlocalhost 2. ExecuteocomandoifconfigedescubraseuIP.InformandoseuIPaumcolega,peaaelepara tentaracessarseuservidor:telnet<endereoIP>

165

SoluodolaboratrioXINETDTCPWRAPPERS:
1. Instaleospacotesdoxinetdetelnet:rpmivhxinetd;rpmivhtelnet 2. Configure o servidor xinetd e telnet para inicializao automtica: chkconfigxinetdon;chkconfigtelneton 3. Inicieoservioxinetd:servicexinetdstart 4. Configureoarquivo/etc/hosts.denydaseguinteforma: in.telnetd:ALLEXCEPT127.0.0.1

166

Netfilter: Introduo:
AfiltragemdepacotesnoLinuxocorrenapilhaderededentrodoKernel,aanaliseeverificaodos pacotesocorremsemnenhumtipodeaplicativooudaemonexterno.Ainspeodospacotes muito rpida, isso porque analisadoeverificadosomenteocabealhodospacotes,isto ,umgrupo de informaespresentesqueincluemoendereodeorigem,endereodedestino,portadeorigem,portade destino,tipodeprotocoloeetc. A inspeo padro do netfilter ocorre pelo modelo OSI (Open Systems Interconnect) representado principalmentenascamadas4(Transportedeprotocolo),3(Rede)e2(Enlacededados),adicionalmente podemserincorporadosoutrosmdulosoufuncionalidadesqueampliemseuraiodeinspeoparaato contedodospacotesporexemplo,assimpartindoparaoutrascamadascomoodaaplicaoemsi. AcompanhandooLinux,aarquiteturadastecnologiasdefiltragemdepacotesdesenvolveusemuitonos ltimosanos,naversodoKernel2.0ofiltrodepacoteschamavaseipfwadm,apscomoKernel2.2 passouasechamaripchainseporfimcomoKernel2.4emdianteveiooNetfilterutilizandocomo ferramentaoiptables.Oprojetodonetfilter aberto,desenvolvidoemantidopelacomunidadevem contribuindoparaodesenvolvimentodoKerneletambmdosucessodoLinux.Ositeoficialdoprojeto podeseralcanadoem:http://www.netfilter.org.

MdulosBaseeExtensesdoNetfilter:
Oiptablesextensvel,assim,tantookernelquantooiptablespodemserextendidosparafornecernovas funcionalidades.Asextensesdoiptablessobibliotecascompartilhadasasquaisgeralmenteestoem: /lib/modules/<versoatual>/kernel/net/ipv4/netfilter,juntamentecomosmdulosbase. Extensesvmemdoistiposdiferentes:novosalvos(targets),enovasassociaes(depoisfalaremos maissobrenovosalvos'targets').Algunsprotocolosautomaticamenteoferecemnovostestes:atualmente soelesTCP,UDPeICMPcomomostradoabaixo. Paraessesprotocolosvocpoderespecificarnovostestesnalinhadecomandodepoisdaopo`p',que carregaraextenso.Paranovostestesexplcitos,utilizeaopo`m'paracarregaraextenso,depoisde m,todasasopesdaextensoestarodisponveis. Paraconseguirajudacomumaextenso,utilizeaopoqueacarrega(`p',`j'ou`m')sucedidapor`h' ou`help',conformeoexemplo:iptablesptcphelp 167

FluxodosPacotesnoNetfilter:

Oprocessodefiltragemdospacotesocorre basicamenteem5principaispontos,soeles:

PREROUTING Esteoprimeiropontodefiltragemlogoemqueospacoteschegam.(TabelaNAT) RoutingDecision Seoendereofinaldopacote osistemalocal,entoopacoteir serdirecionadoparaser verificadolocalmente.Seodestinodopacoteforoutrosistemaeacapacidadederouteamentode pacotes do kernel estiver ativada (/proc/sys/net/ipv4/ip_forward), ento o pacote ira ser redirecionadoeentreguedeacordocomatabeladerouteamento.

168

FORWARD: Estepontodefiltragemprocessaospacotesqueiropassarpeloseusistema,ouseja,quandoo destinofinalnoosistemalocal.(TabelaFILTER) INPUT: Estepontodefiltragemprocessaospacotesdestinadosaosistemalocal.(TabelaFILTER) OUTPUT: Estepontodefiltragemprocessaospacotesgeradosnosistemalocal,antesdePOSTROUTING. (TabelaNATeFILTER) POSTROUTING: Estepontodefiltragemprocessaospacotesimediatamenteantesdesuasada.(TabelaNAT)

VerificaodasRegras:
Asregrassonumeradaeordenadasdentrodaschains,aposiodeumaregradentrodachain fundamentalparasaberseelaserounoprocessada.Asverificaesiniciamsedocomeoparaofim, ouseja,asregrassotestadasumaporvez,aprimeiraregratestadaaregradenmero1. Quandoumaregra encontradaeaplicadaopacote entregueeaverificaoseencerra,asdemais regrasdachainnosoverificadas.Pararegrascomvrioscritrios,opacotedevesatisfazertodosos critriosparaserentregue.Casoaofinaldoprocessamentodachainnoforencontradonenhuma regraqueapliqueseaopacote,entoaplicadoopolicypadrodachain. Paravisualizarasregrasnumeradasuse:iptablesLvlinenumbers

AlvodasRegras:
Agoraquesabemosquaisasanlisespodemserfeitasemumpacote,precisamosdeumaformadedizer oquefazercomospacotesquepassamnascondiesqueestabelecemos.Isso chamadodealvo (target)daregra.Paraescolherumalvoutilizeaopoj. Hdoisalvosbemsimples:DROP(descartar)eACCEPT(aceitar).Searegraseassociacomopacotee seualvoumdessesdois,nenhumaoutraregraconsultada:odestinodopacotejfoidecidido. Hdoistiposdealvosdiferentesdosdescritosacima:asextenseseaschainsdefinidasporusurios. 169

ChainsDefinidasporUsurios:
Umafuncionalidadequeoiptablesherdoudoipchains apossibilidadedousuriocriarnovaschains, almdastrspadro(INPUT,FORWARDeOUTPUT).Porconveno,chainsdefinidaspelousurioso escritasemminsculas,diferenciandoas. Quandoumpacoteassociasecomumaregracujoalvo(target) umachaindefinidapelousurio,o pacotepassaaseranalizadopelasregrasdessachaindefinidapelousurio.Seachainnodecideoque deveserfeitocomopacote,omesmovoltaaseranalizadopelachainpadroquecontinhaaregraqueo levavaparaachaindefinidapelousurio.

ExtensesdeChains:
Ooutrotipodealvo umaextenso.Umaextensoalvoconsisteemummdulodokernel,euma extenso opcional ao iptables para prover opes de linha de comando. H diversas extenses na distribuiopadrodonetfilter:

LOG: Essemduloprovloggingdospacotessubmetidos.Possuiasseguintesopesadicionais: loglevel Seguido de um nmero de nvel ou nome. Os nome vlidos (sensveis a maisculas/minsculas)so`debug',`info',`notice',`warning',`err',`crit',`alert'and`emerg', correspondendoanmerosde7at 0.Vejaapginademanualdosyslog.confparauma explicaaomaisdetalhadadessesnveis. logprefix Seguidodeumastringdeat29characters,estaseradicionadanoinciodamensagemde log,permitindomelhoridentificaodamesma. Essemdulo tilapsumacomparaoporlimite(limitmatch),assim,vocnosobrecarrega seuslogs.

170

REJECT: Essemdulotemomesmoefeitode`DROP',porm enviadoumpacoteICMPderesposta informandoaquemenviouopacote. REJECTtambmtemoargumentoopcional'rejectwith'quealteraopacotederespostautilizado: vejaapginademanual.

OperaesBsicasnasRegrasdasChains:

Adicionaregraaofinaldachain,seatabelanoforespecificadaserassumidaatabela filter,exemplo: iptablesAINPUTs192.168.200.254jDROP Insere uma regra no inicio de uma chain ou na posio desejada representada numericamente,exemplo: iptablesIOUTPUTd192.168.0.0jDROP Deletaumaregrabaseadaemseunmerodeposionachain.Oexemploabaixoir deletararegranmero3dachainINPUT.Paravisualizaronmerodasregrasuse: iptablesLlinenumbers,exemplo: iptablesDINPUT3

OperaescomasChains:
Umafuncionalidademuitoimportantedoiptables ahabilidadedeajuntarregrasemchains(cadeias). Vocpodedaronomequequiserparaaschains,mas recomendadaautilizaodeminsculaspara evitarconfusocomaschainspadrooucomosalvos(targets).Nomesdechainspodemterat 31 letras. Criandoumanovachain: Usadoparacriarchains,vamoschamladetest.Utilizaseasopes`N'ou`newchain':
#iptablesNtest

171

ApagandoumaChain: Apagarumachaintosimplesquantocrila,utilizandoasopes`X'ou`deletechain'.
#iptablesXtest

H umasriederestriesaoseapagarumachain:eladeveestarvazia(vejaEsvaziandoumachain, logoabaixo)eelanodeveseralvodeNENHUMAregra.impossvelapagarnenhumadastrschains padro.Seumachainnoforespecificada,todasaschainsdefinidasporusurioseroapagadas,desde quesejapossvel. Esvaziandoumachain: Humaformamuitosimplesderetirartodasasregrasdeumachain,utilizandoasopes`F'(ou` flush').


#iptablesFFORWARD

Listandoumachain: Podeselistartodasasregrasdeumachainutilizandoasopes`L'(ou`list') Seonomedachainomitido,todasaschainsserolistadas,atasvazias. Htrsopesquepodemacompanhar`L'.Aopo`n'(numrico)muitotil,umavezqueprevine que o iptables tenteresolverosendereosIP,oque(sevoc utilizaDNSassimcomoamaioriadas pessoas)causariagrandesatrasosseoDNSnoestconfiguradocorretamente,ouvocestfiltrando requisiesDNS.EssaopotambmfazasportasTCPeUDPseremimpressascomonmerosemvez denomes. Aopo`v'mostratodososdetalhesdasregras,comooscontadoresdepacotesebytes,ascomparaes TOS,easinterfaces.Casotaloponosejapassada,essesvaloresseroomitidos. Notequeoscontadoresdepacotesebytessoimpressoscomossufixos`K',`M'ou`G'para1.000, 1.000.000e1.000.000.000respectivamente.Utilizandoaflag`x'(expandirnmeros)osnmerossero impressosinteiros,independen tedeseutamanho. #iptablesLvn Zerandocontadores: tilzeraroscontadores.Issopodeserfeitocomaopo`Z'(ou`zero'). #iptablesZFORWARD

172

Escolhendopolticapadro: Apenasaschainspadro(INPUT,OUTPUTeFORWARD)tmpolticas,porqueseumpacotechegaao fimdeumachaindefinidaporusurio,ocaminhodopacotecontinuapelachainanterior. ApolticapodesertantoACCEPT(aceitar)quantoDROP(rejeitar),porexemplo:


#iptablesPFORWARDDROP

CritriosdeverificaodasChains:
Emumaregrapodemosespecificardiversascaractersticasdeumpacote,vejaabaixoascaractersticas bsicas:

i Interfacederededeentrada.Exemplo: iptablesAINPUTieth1jDROP o Interfacederededesada.Exemplo: iptablesAOUTPUToeth0jREJECT p Protocolo.Exemplo: iptablesAINPUTpudpjDROP s OendereoIPdeorigem.Exemplo: iptablesAINPUTs192.168.200.0jACCEPT d OendereoIPdedestino.Exemplo: iptablesAOUTPUTd192.168.1.254jDROP

173

ExtensesTCP:
AsextensesTCPsoautomaticamentecarregadasseespecificadaaopo`ptcp'.Elasprovm asseguintesopes(nenhumaassociasecomfragmentos):

tcpflags Seguidaporumaopcional`!',eporduasstringsindicandoflags,permitequesejamfiltradasflags TCPespecficas.Aprimeirastringdeflagsamscara:umalistadeflagsqueseroexaminadas. Asegundastringdizquaisflagsdevemestarativasparaquearegraseaplique.Porexemplo:


#iptablesAINPUTprotocoltcptcpflagsALLSYN,ACKjDROP

Essa regra indica que todas as flags devem ser examinadas (`ALL' sinnimo de `SYN,ACK,FIN,RST,URG,PSH'),masapenasSYNeACKdevemestarativadas.Tambmhum argumento`NONE'quesignificanenhumaflag.

syn Indicarequisiodeiniciodeconexo.

sport Indicaportadeorigem.

dport Indicaportadedestino.

tcpoption seguidapor`!'opcionaleumnmero,associasecomumpacotecomaopoTCPigualaodo nmero passado. Um pacote que no tem um cabealho TCP completo automaticamente descartadosehumatentativadeexaminarsuasopesTCP.

OBS:Asportaspodemserespecificadaspelosseusnomesassociadosao/etc/service.Rangede portassoespecificadosseparadospelocaracter:.Paranegaoutilizeocaracter!.

174

ExtensesUDP:
Essasextensessoautomaticamentecarregadasseaopo`pudp'especificada.Elaprovasopes `sourceport',`sport',`destinationport'and`dport'conformedetalhadoparaoTCPacima.

ExtensesICMP:
Essasextensessoautomaticamentecarregadasseaopo`picmp'especificada.Elaspossui umaopodiferentedasdemais:

icmptype Especifica um nome de tipo icmp (por exemplo, `hostunreachable'), ou um tipo numrico (exemplo`3'),ouumtiponumricoecdigoseparadospor`/'(exemplo`3/3').Umalistadetipos icmppassadautilizandose`picmphelp'.

Checagensdeestadodospacotes:
Ocritrioparafiltragemdepacotesmais til providopelaextenso'state'queinterpretaaanlisedo controledaconexofeitapelomdulo`ip_conntrack'.Essaextensoaltamenterecomendada. Especificando`mstate'aopo`state'tornasedisponvel,aqualumalistadosestadospossveisdos pacotes separada por vrgula (a opo `!' indica para que a regra no se associe com os estados passados). Esta semdvidasacapacidademaispoderosadoNetfiltersobreoantigoipchains.Utilizandoesta extenso possvelevitardeabririnmerasportasderetornoparaospacotes.Antigamentecomo ipchainsasregraseramescritasemparesdeentradaesada. Existeumaumentosignificativonoconsumodememriaquandoutilizadoessaextenso,pormexiste tambm uma pequena vantagem pois o nmero de regras testadas reduzido aps a conexo ser estabelecida. Vejanaprximapginaadescriodessasextenses:

175

NEW Umpacotequecriaumanovaconexo.

ESTABLISHED Umpacotequepertenceaumaconexoexistente(umpacotederesposta,umpacotesaindopor umaconexonaqualjhouveramrespostas).

RELATED Umpacoterelacionado,masquenofazparte,deumaconexoexistente,comoumerroICMP,ou (comomduloFTPcarregado),umpacoteestabelecendoumaconexodedadosFTP.

INVALID Umpacotequenopdeseridentificadoporalgumarazo:issoincluifaltadememriaeerros ICMPquenocorrespondemaqualquerconexoconhecida.Geralmentetaispacotesdevemser descartados.

NAT:
NATou(NetworkAddressTable)umatcnicaquemanipulaalgunscamposdocabealhodopacote, como:endereodeorigem,endereodedestino,portadeorigemeportadedestinoafimderealizar roteamentosouredirecionamentosnarede.VejaabaixoostiposmaiscomunsdeNAT:

DestinationNATouDNAT OspacotessomanipuladosnachainPREROUTING,isto ,logoquandoospacoteschegam. Somanipuladososcamposdedestinoreenviandoospacotesparaoutroendereoouporta.Este tipodeNAT muitocomumemDMZs,ondeosservidoresdeMAIL,WEBporexemplo, pertencemaredeinterna. realizadoumredirecionamentodoIPvlidoparaosIPslocaisque correspondemaosservidoresquerespondemrequisiesdeMAILeWEB.Portforwarding,load sharing,eproxytransparentesoformadeDNAT.

176

SourceNATouSNAT,MASQUERADE OspacotessomanipuladosnachainPOSTROUTING,isto ,logoquandodeixamosistema. So manipulados os campos deorigemdospacotesqueestosaindo.Isso umaforma de mascararumaconexopoissemudadeondevmumaconexo.Masquerading umaforma especializadadeSNAT.

ExemploPrticodeNAT:

ObserveaDMZ(ZonaDesmilitarizada)abaixo:

AsmquinasservidorasdewwweftpnopossuemIPsvlidosnaInternet,pormsoacessadaspelo mundo exterior devido a regras de DNAT implementadas no firewall, isto , existem regras de redirecionamentodeconexesquechegamnofirewallnosprotocoloshttpeftpparaendereoslocais.

177

SourceNAT:
VocquerfazerSourceNAT;mudaroendereodeorigemdasconexesparaalgodiferente.Issofeito na chain POSTROUTING, logo antes de que o pacote saia da mquina. Isso um detalhe muito importante,poissignificaquequalquertarefadasuamquinaLinux(routing,packetfiltering)vero pacoteinalterado.Issotambmsignificaqueaopo`o'(interfacedesada)podeserutilizada. SourceNATespecificadocom`jSNAT',eaopo`tosource'demonstraumendereoIP,umrange deendereosIP,eumaportaopcionalouumrangedeportas(apenasparaosprotocolosTCPeUDP).
##Mudandooendereodeorigempara1.2.3.4. #iptablestnatAPOSTROUTINGoeth0jSNATto1.2.3.4 ##Mudandooendereodeorigempara1.2.3.4,1.2.3.5ou1.2.3.6 #iptablestnatAPOSTROUTINGoeth0jSNATto1.2.3.41.2.3.6 ##Mudandooendereodeorigempara1.2.3.4,portas11023 #iptablestnatAPOSTROUTINGptcpoeth0jSNATto1.2.3.4:11023

Masquerading:
HumcasoespecialdeSourceNATchamadomasquerading,quesdeveserutilizadoparaendereos IPdinmicos,comoasconexesdialup(paraendereosIPestticos,utilizeSNATdescritoacima). Nomasquerading,nonecessrioexplicitaroendereodeorigem:serutilizadooendereodeorigem dainterfacedesadadopacote.Masomaisimportante queseolinkcair,oendereodeorigemque estavasendoutilizado descartado,dandolugaraumnovoendereodeorigemdainterfacequandoo linkforrestabelecido.
##Mascarandotudoquesaipelainterfaceppp0. #iptablestnatAPOSTROUTINGoppp0jMASQUERADE

178

DestinationNAT:
DNAT feitonachainPREROUTING,assimqueopacotechega;issosignificaquetodasasoutras tarefas da sua mquina Linux (routing, packet filtering) vero o pacote j indo para seu destino verdadeiro.Aopo`i'(interfacedeentrada)podeserutilizada. Paraalterarodestinodepacotesgeradoslocalmente,achainOUTPUTdeveserutilizada,masissono muitoutilizado. Destination NAT especificada utilizando `j DNAT', e a opo `todestination' especifica um endereoIP,umrangedeIPs,eumaportaopcionalouumrangedeportas(apenasparaprotocolosTCP eUDP).
##Mudandodestinopara5.6.7.8 #iptablestnatAPREROUTINGieth0jDNATto5.6.7.8 ##Mudandodestinopara5.6.7.8,5.6.7.9ou5.6.7.10. #iptablestnatAPREROUTINGieth0jDNATto5.6.7.85.6.7.10 ##Mudandodestinodotrfegowebpara5.6.7.8,porta8080. #iptablestnatAPREROUTINGptcpdport80ieth0\ jDNATto5.6.7.8:8080 ##Redirecionarpacoteslocaiscomdestinoa1.2.3.4paraloopback. #iptablestnatAOUTPUTd1.2.3.4jDNATto127.0.0.1

Redirecionamento:
HumcasoespecializadodeDestinationNATchamadoredirecionamento:umasimplesconvenincia, aqualequivaleafazerDNATparaoendereodaprpriainterfacedeentrada.
##Mandandotrfegowebdaporta80paranossosquidproxy(transparente) #iptablestnatAPREROUTINGieth1ptcpdport80\ jREDIRECTtoport3128

SalvandoasRegrasdoIptables:
OiptablesumaferramentaquemanipulaasregrasdofiltrodepacotesdoKernel,asregrasficamativas namemriaatqueosistemasejareiniciado,quandoosistemadesligadotodasasregrasnamemria sero perdidas. O RHEL disponibiliza de uma forma muito prtica e eficaz de gravar toda sua configuraoderegrasatravsdogerenciamentodeumscriptrealizadocomocomandoservice.

Paragravaraconfiguraoatualdasregrasuse: serviceiptablessave OBS:Asregrasserogravadasemumarquivolocalizadoem:/etc/sysconfig/iptables 179

LaboratrioIPTABLES,cenriodeconfiguraodepequenoporte:
Antesdeiniciarestelaboratrio: Certifiquesequenohnenhumarestrioestabelecidanoarquivo/etc/hosts.denyetambmquenoh nenhumaregradefiltragemjconfigurada,paraissouse:iptablesL. Verifiqueseosserviosdesshehttpestoconfiguradoseativos.

Implementaodolabotatrio: Crieumaconfiguraodefirewallpersistenteaorebootparabloquearasconexesparaosserviosde sshehttp.Umdetalheimportante queoclientedevereceberumamensagemICMPderetornosea conexonoforrealizada.Todososbloqueiosdeconexesdevemserdevidamentelogadosnosistema. Apenas os servios descritos devem ser bloqueados, os demais servios devem continuar a operar normalmente.

TestedeImplementao/Validao:
1. Certifiquesequeosacessoslocaisestofuncionando: sshlocalhost elinksdump127.0.0.1 2. Desliqueseufirewall: serviceiptablesstop 3. Peaparaalgumcolegatestaradisponibilidadedosserviosdesshehttpdesuamquina: ssh<seuendereoIP> elinksdump<seuendereoIP> 4. Ativeseufirewall: serviceiptablesstart 5. Peaparaalgumcolegatestaradisponibilidadedosserviosdesshehttpdesuamquina: ssh<seuendereoIP> elinksdump<seuendereoIP> 180

SoluodolaboratrioIPTABLES:
1. Configureasregras: iptablesAINPUTptcpdport22jLOG iptablesAINPUTptcpdport80jLOG iptablesAINPUTptcpdport22jREJECT iptablesAINPUTptcpdport80jREJECT 2. Graveasregrasatuais: serviceiptablessave 3. Adicioneoiptablesparaserinicializadonoboot: chkconfigiptableson

181

LaboratrioIPTABLESSYSLOG,cenriodeconfiguraodepequenoporte:
Antesdeiniciarestelaboratrio: Certifiquesequenohnenhumaregradefiltragemjconfigurada,paraissouse:iptablesL.

Implementaodolabotatrio: Direcionetodososlogsdetodospacotesdainterfaceeth0para/var/log/eth0. Nenhumoutroarquivodelogdevereceberlogsrelativosainterafceeth0.

TestedeImplementao/Validao:
1. Executeocomandoabaixoparageraralgumtrfego: ping192.168.200.254& 2. Executeocomandoabaixoeobserveotrfegodainterface: tailf/var/log/eth0 3. Verifiquesenoarquivoprincipalde logs/var/log/messagesnohlogsdepacotes: tail/var/log/messages

182

SoluodolaboratrioIPTABLESSYSLOG:
1. Configureasregras: iptablesAINPUTieth0jLOG iptablesAFORWARDieth0jLOG iptablesAFORWARDoeth0jLOG iptablesAOUTPUToeth0jLOG 2. Adicioneasconfiguraesabaixonoarquivo/etc/syslog.conf kern.*/var/log/eth0 *.info;mail.none;authpriv.none;croin.none;kern.none/var/log/messages 3. Reinicieosyslogd KillallHUPsyslogd

183

LABORATRIOS COMPLEMENTARES

Rua Jornalista Manoel Menezes 149, Conj 402 Florianpolis SC CEP 88034-060
Fone/Fax +55 (48) 3024-0276 - linuxclass@linuxclass.com.br

Laboratrio de Instalao via Rede e Kickstart, cenrio de configurao:


Como objetivo principal, este laboratrio foca o procedimento completo de instalao via ambiente de rede automatizado, isto , iremos praticar a re-instalao completa do sistema onde todas as perguntas do programa instalador sero respondidas automaticamente por um arquivo previamente preparado. Siga corretamente as instrues abaixo, esta instalao ser definitiva para at o final de seu treinamento e proporcionar a realizao dos demais laboratrios e exerccios futuros. Abaixo esta o arquivo de kickstart que iremos utilizar:
# Inicio do arquivo de Kickstart install nfs --server=192.168.200.254 --dir=/var/ftp/pub lang en_US.UTF-8 keyboard br-abnt2 key --skip xconfig --startxonboot network --device eth0 --bootproto dhcp --hostname station1.lab.net rootpw --iscrypted $1$vg0zD7Me$3Pt/lGySKaT4RSbDYmUAd1 firewall --disabled authconfig --enableshadow --enablemd5 selinux --disabled timezone --utc America/Sao_Paulo bootloader --location=mbr --driveorder=hda --append="rhgb quiet" clearpart --all --drives=hda part /boot --fstype ext3 --size=100 part /var --fstype ext3 --size=2000 part / --fstype ext3 --size=5000 part swap --size=512 %packages @admin-tools @base @base-x @core @dialup @editors @games @gnome-desktop @graphical-internet @graphics @java @office @printing @sound-and-video @text-internet @web-server %post rm -rf /etc/gdm/custom.conf cd /etc/gdm /usr/bin/wget ftp://192.168.200.254/pub/custom.conf echo "send host-name ""$(hostname -s)"";" > /etc/dhclient.conf # Fim do arquivo de Kickstart

Instrues: (Leia completamente todas as instrues e s aps inicie o laboratrio)


1. Determine o nome real de sua mquina com o comando hostname 2. Usando um editor, crie seu arquivo de kickstart a partir do exemplo acima 3. Configure corretamente o parmetro --hostname station1.lab.net para o nome real de sua mquina 4. Copie seu arquivo de kickstart para o servidor 192.168.200.254, grave o arquivo com o nome real de sua mquina, exemplo: 4.1 mount 192.168.200.254:/mykickstart /mnt 4.2 cp kickstart /mnt/stationX.lab.net 4.3 umount /mnt 5. Insira o CD fornecido pelo instrutor no drive de CDROM e digite reboot 6. Aps o boot pelo CDROM digite: linux ks=nfs:192.168.200.254:/mykickstart/stationX.lab.net 7. (OPCIONAL) Realize suas prprias customizaes utilizando toda versatilidade dos scripts em bash na seo %post, mas no retire as linhas j includas nesta seo, acrescente seu script ao final do arquivo. Nota: Para economizar tempo de digitao efetue o download do arquivo de kickstart modelo via ftp de 192.168.200.254/pub/kickstart-modelo A senha do usurio root aps a instalao ser redhat. Foi reservado espao em disco propositalmente para realizao dos demais laboratrios deste treinamento.

Verificaes aps a instalao:


1. Verifique se o nome real de sua mquina esta configurado corretamente. 2. Verifique os arquivos de logs gerados durante o processo de instalao. (Consulte Apostila)

Laboratrio (01) - OpenSSH:


Disponibilize o acesso remoto ao sistema local configurando o servidor OpenSSH. O usurio root dever ter acesso atravs da conta do usurio marcos autenticando-se por meio de chave pblica/privada. De nenhuma forma o super-usurio poder logar-se remotamente no sistema informando seu password. Os demais usurios do sistema podero autenticar-se via password ou chave pblica/privada normalmente.
OBS:. Caso os usurios no existam no sistema voc dever criar-los.

Teste de Validao Laboratrio (01) - OpenSSH:


1. Teste o acesso via password de usurios regulares do sistema: ssh carlos@localhost 2. Com o usurio marcos logado, disponibilizando a chave pblica/privada teste o acesso automtico no sistema do usurio root: ssh root@localhost 3. Com o usurio carlos logado no sistema tente acessar o sistema como usurio root informando a senha correta. ssh root@localhost

Laboratrio (02) OpenSSH:


Configure tambm para acessar o sistema remotamente como usurio root atravs de chave pblica/privada as contas dos usurios adriano e lucas.
OBS:. Caso os usurios no existam no sistema voc dever criar-los.

Teste de Validao Laboratrio (02) - OpenSSH:


1. Respectivamente com os usurios adriano e lucas logados, disponibilizando a chave pblica/privada, teste o acesso automtico no sistema do usurio root: ssh root@localhost

Soluo Laboratrio (1) OpenSSH:


1. Com o usurio root logado no sistema, configure o servidor OpenSSH para inicializao automtica: chkconfig sshd on 2. Configure o parmetro no arquivo /etc/ssh/sshd_config PermitRootLogin = withoutpassword 3. Com o usurio marcos logado no sistema, crie as chaves pblica/privada com o comando: ssh-keygen 4. Com o usurio root logado no sistema, copie o arquivo /home /marcos/.ssh/id_rsa.pub para /root/.ssh/authorized_keys 5. Ajuste as permisses do arquivo: chmod 700 /root/.ssh/authorized_keys 6. Re-inicie o servio: service sshd restart

Soluo Laboratrio (2) OpenSSH:


1. Com o usurio adriano logado no sistema, crie as chaves pblica/privada com o comando: ssh-keygen 2. Com o usurio lucas logado no sistema, crie as chaves pblica/privada com o comando: ssh-keygen 3. Com o usurio root logado no sistema digite: 4. cat /home/adriano/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys 5. Com o usurio root logado no sistema digite: 6. cat /home/lucas/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Laboratrio RAID, cenrio de configurao:


(Leia completamente todas as instrues e s aps inicie o laboratrio)

Antes de iniciar este laboratrio, certifique-se de que voc desmontou completamente com sucesso as configuraes do laboratrio anterior. (mdadm --stop /dev/md0). Caso voc deseje criar um outro dispositivo RAID no sistema, dever criar o novo node antes. Se desejar o mdadm pode fazer isso por voc adicionando a opo auto=yes no momento da criao do array. Crie uma configurao de Software RAID de nvel 5, o total de espao disponvel para aplicaes deve ser de aproximadamente 200M. Disponibilize 02 discos em configurao de spare para este array. Um detalhe muito importante que este array deve ter o chunk size configurado para 128K. O Filesystem deve ser tipo ext3 com o tamanho de bloco igual a 4096 Bytes, crie o filesystem acomodando os blocos nos chunks do RAID de forma a criar uma estrutura de dados inteligente e otimizada. Pea verificao na hora da formatao contra bad blocks e tambm no esquea de especificar que no necessrio reservar espao neste filesystem para o super usurio. O dispositivo RAID 5 deve ser montado pelo volume label conteiner1 no momento do boot do sistema. Tamanho do RAID 5: Para calcular o tamanho total do array de um RAID 5 use a formula: (N-1)*S onde N o nmero de dispositivos e S o tamanho do menor dispositivo, extremamente recomendado que todos os dispositivos sejam do mesmo tamanho, se possvel mesmo modelo. Configurao de Spare: Configurao de spare onde dispositivos extras so adicionados para automaticamente substituir componentes ativos do array somente em caso de falha dos mesmos. Para efetuar esta configurao utilize o parmetro -x do mdadm na hora da criao do array. Para maiores detalhes consulte: man mdadm Block Sizes, Chunk Sizes & RAID 5 Tunning: O tamanho dos blocos de um filesystem afetam diretamente a performance desse filesystem. Caso voc tenha um filesystem muito grande ter que configurar o tamanho de bloco maiores, a no ser que esteja utilizando este filesystem para armazenar milhares de arquivos muito pequenos. Em geral 4K um tamanho razovel para um filesystem de alguns Gigabytes. A definio de chunk size o menor dado que pode ser escrito nos dispositivos que fazem parte do array. Por exemplo: Uma escrita de 16K em um RAID 0 com 2 discos com chunk size igual a 4K, resultara na escrita do primeiro e terceiro chunk de 4K no primeiro disco e o segundo e quarto chunk de 4K no segundo disco. Para escritas grandes o tamanho dos chunks deve ser maior, enquanto para arrays pequenos destinados ao armazenamento de arquivos pequenos o chunk size deve ser menor. O chunk size especificado para todos os nveis de RAID porm afeta diretamente a performance de nveis 0 e 5.

possvel ajustar o tamanho dos blocos de um filesystem ext2/ext3 na hora da formatao de acordo com o tamanho dos chunks do array, assim criando uma estrutura de dados de filesystem inteligente e melhor otimizada para dispositivos RAID. Se o chunk size for igual a 32K neste exemplo, isso significa que 32K de massa de dados consecutivas iro ser escritas num nico disco. Usando o tamanho de bloco igual a 4K, concluimos que teremos 8 blocos em apenas 1 chunk, na hora da criao do filesystem poderemos passar esse valor. Veja abaixo o exemplo: mkfs.ext3 -b 4096 -R stride=8 /dev/md15

Teste de Implementao/Validao:
1. Verifique a sada do comando: mdadm - -detail /dev/mdX 2. Verifique com o comando df -Th se o dispositivo /dev/mdX corresponde as necessidades requeridas por este exerccio (laboratrio).

Soluo do laboratrio RAID:


1. Crie 5 parties contendo aproximadamente 100MB cada. Tipo Linux Raid Autodetect ( fd). 2. Inicie o array: mdadm -C /dev/md1 -c 128 -l 5 -n 3 /dev/hdb7 /dev/hdb8 /dev/hdb9 -x 2 /dev/hdb10 /dev/hdb11 --auto=yes 3. Crie o Filesystem: mkfs.ext3 -b 4096 -R stride=32 /dev/md1 -c -m 0 -L conteiner1 4. Na fstab adicione: LABEL=conteiner1 /conteiner1 ext3 defaults 0 0 5. Monte: mkdir /conteiner1 ; mount -a

Laboratrio LVM, cenrio de configurao:


Crie 03 volumes fsicos (pv1,pv2,pv3) (100MB cada), crie um grupo de volumes (vg1) e por fim crie um volume lgico (lv1) ocupando todo espao disponvel do grupo de volume recm criado. A ida principal deste laboratrio imaginar que cada volume fsico ocupa 100% de um disco fsico tipo SCSI Hot Swap. O objetivo deste laboratrio realocar os dados do pv1 de modo que possamos retirar este disco correspondente a quente da mquina, assim substituindo por outro, porm com o volume lgico montado e acessvel s aplicaes do sistema. OBS:. A dica para realizao deste laboratrio acessar o prompt interativo do lvm digitando: lvm Aps voc pode entrar o comando: help que ajudara a identificar as ferramentas necessrias para a realizao deste laboratrio.

Teste de Implementao/Validao:
1. 2. 3. 4. Com o comando vgdisplay -v vg1 possvel visualizar todos os pvs contidos no vg1. Visualize pv1,pv2,pv3 respectivamente com 100MB cada. Observe a sada do comando df -Th representado lv1 montado com aproximadamente 300MB. Aps a realocao, pv1 no dever mais constar na sada do comando pvscan na mquina.

Soluo do laboratrio LVM:


1. Crie 4 parties contendo aproximadamente 100MB cada. Tipo LVM. 2. Crie os pvs: pvcreate /dev/hdb1 /dev/hdb2 /dev/hdb3 /dev/hdb4 3. Crie o vg: vgcreate vg1 /dev/hdb1 /dev/hdb2 /dev/hdb3 4. Crie o lv: lvcreate -L 276M -n lv1 vg1 5. Crie o filesystem: mkfs.ext3 /dev/vg1/lv1 6. Crie o ponto de montagem e monte o lv: mkdir /lablvm ; mount /dev/vg1/lv1 /lablvm 7. Aumente o VG: vgextend vg1 /dev/hdb4 8. Realoque os dados do pv1 no vg1: pvmove /dev/hdb1 9. Retire o pv1 do vg1: vgreduce vg1 /dev/hdb1 10. Remova o pv1 do sistema: pvremove /dev/hdb1

Laboratrio PAM, cenrio de configurao:


Implemente uma configurao onde o sistema force todos usurios a trocarem sua senha pessoal automaticamente partir da data de hoje. O sistema deve apenas aceitar senhas de no mnimo 10 caracteres, onde pelo menos 1 caracter deve estar em maisculo. A partir da data em que o usurio troca sua senha pessoal, esta ter validade de 30 dias, aps 30 dias o sistema novamente forar a troca de senha para os usurios regulares do sistema. OBS:. A dica para realizao deste laboratrio a consulta dos manuais (man pages) dos mdulos da PAM que realizam a atualizao de senha. Verifique os mdulos disponveis em /lib/security.

Teste de Implementao/Validao:
1. Crie um usurio e logue-se no sistema com ele. 2. O sistema deve pedir uma nova senha automaticamente. 3. Teste diversas combinaes de senhas no permitidas afim de garantir que a configurao apenas permita senhas com no mnimo 10 caracteres onde pelo menos 1 caracter esteja em maisculo.

Soluo do laboratrio PAM:


1. for i in $(cat /etc/passwd | cut -f 1 -d :); do chage -M 30 $i; chage -I 9999 $i; chage -d <data de hoje porm do ms passado> $i; done 2. No arquivo /etc/pam.d/system-auth adicione corretamente a linha abaixo: password requisite pam_cracklib.so try_first_pass retry=3 dcredit=0 ucredit=-1 ocredit=0 lcredit=0 minlen=8

Você também pode gostar