curso de montagem de celular motrorola

32
Entendendo e configurando o Firewall (Shorewall) Aplicativos Qua, 22 de Julho de 2009 00:50 Montar um firewall para a proteção de uma única máquina não é tarefa das mais simples, imagine montar um firewall para uma rede inteira, que requer muito mais atenção e conhecimento, tanto dos serviços quanto das ferramentas utilizadas. Qualquer descuido pode comprometer toda a segurança da rede e a reputação do seu administrador. No caso específico do Linux, trabalhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas, principalmente para usuários novatos ou acostumados apenas com cliques na interface gráfica. A criação de regras mais elaboradas requer tantas opções e parâmetros, e em uma rede mais complexa teremos dezenas delas, que é fácil cometer erros. Não estamos questionando a eficácia dessa poderosa ferramenta, muito pelo contrário, mas o domínio de seus comandos para uma utilização eficiente e segura em situações mais avançadas exige bastante experiência por parte do usuário. Pensando nisso, Thomas M. Eastep teve a brilhante idéia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e atarefado administrador de rede e o prolixo mas poderoso Iptables: o Shorewall, que é a ferramenta utilizada pelas soluções disponibilizadas neste site na configuração do firewall. A forma simples e intuitiva como são criadas as regras do Shorewall facilita bastante a criação e manutenção do firewall, deixando todo o trabalho sujo transparente para o usuário. Na inicialização do serviço, essas regras serão compiladas e convertidas em regras do Iptables, que, no final das contas, fará a função de firewall. Ou seja, o Shorewall foi feito com o objetivo de facilitar a criação e a manutenção de regras para o Iptables e a vida do administrador de rede. Uma benção para os seus usuários.

Upload: informatica-vinas

Post on 13-Sep-2015

20 views

Category:

Documents


8 download

DESCRIPTION

Montagem de celular motorola

TRANSCRIPT

Entendendo e configurando o Firewall (Shorewall)

Aplicativos

Qua, 22 de Julho de 2009 00:50

Montar um firewall para a proteo de uma nica mquina no tarefa das mais simples, imagine montar um firewall para uma rede inteira, que requer muito mais ateno e conhecimento, tanto dos servios quanto das ferramentas utilizadas. Qualquer descuido pode comprometer toda a segurana da rede e a reputao do seu administrador.No caso especfico do Linux, trabalhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas, principalmente para usurios novatos ou acostumados apenas com cliques na interface grfica. A criao de regras mais elaboradas requer tantas opes e parmetros, e em uma rede mais complexa teremos dezenas delas, que fcil cometer erros.No estamos questionando a eficcia dessa poderosa ferramenta, muito pelo contrrio, mas o domnio de seus comandos para uma utilizao eficiente e segura em situaes mais avanadas exige bastante experincia por parte do usurio. Pensando nisso, Thomas M. Eastep teve a brilhante idia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e atarefado administrador de rede e o prolixo mas poderoso Iptables: o Shorewall, que a ferramenta utilizada pelas solues disponibilizadas neste site na configurao do firewall.A forma simples e intuitiva como so criadas as regras do Shorewall facilita bastante a criao e manuteno do firewall, deixando todo o trabalho sujo transparente para o usurio. Na inicializao do servio, essas regras sero compiladas e convertidas em regras do Iptables, que, no final das contas, far a funo de firewall. Ou seja, o Shorewall foi feito com o objetivo de facilitar a criao e a manuteno de regras para o Iptables e a vida do administrador de rede. Uma beno para os seus usurios.Com o Shorewall podemos, inclusive, aprimorar nossos conhecimentos no Iptables, estudando as regas que sero criadas aps a sua execuo, recomendamos que todos faam isso. So tantas configuraes avanadas que seria praticamente impossvel para um "usurio mortal" configur-las e administr-las "na mo".Neste tutorial mostraremos como fazer a configurao das regras do firewall, mas antes de configurar as regras propriamente ditas, necessrio definir as zonas, que representaro as redes conectadas ao servidor, as interfaces que estaro vinculadas a cada zona, as polticas de acesso das zona e ativar o mascaramento, permitindo encaminhamento de pacotes entres as interfaces. No se preocupe, todas essas configuraes so feitas automaticamente na instalao de uma de nossas solues, mas importante o entendimento, mos obra.ZonasA zonas representam as redes que estaro conectadas ao servidor e o prprio servidor (firewall), por exemplo, a rede local ser representada pela zona loc, a Internet ser representada pela zona net, o servidor ser representado pela zona fw. Caso pretenda adicionar uma DMZ ao servidor, devemos criar a zona dmz, o importante representar cada rede com uma zona, mais adiante isso ficar mais claro pra voc.Para verificar quais as zonas foram definidas no servidor aps a instalao da soluo, acesse opl > Firewall > Configuraes Avanadas > Zonas. Caso queira saber mais sobre o arquivo de configurao das zonas digite man shorewall-zones no terminal.InterfacesCada zona criada anteriormente dever ser associada a uma interface (placa de rede) do servidor (aquela em que a rede da zona estar conectada). Nas nossas solues, a zona net estar associada interface eht0, ou seja, o roteador ou modem ADSL dever ser conectado placa de rede eth0 do servidor, e a zona loc estar associada interface eth1. Caso tivssemos configurado a zona dmz, esta deveria ser associada a uma outra placa de rede, eth2 provavelmente. Repare que a zona fw no precisa ser associada a nenhuma interface, pois ser o prprio servidor.Para verificar como as interfaces foram definidas no servidor aps a instalao da soluo, acesse opl > Firewall > Configuraes Avanadas > Interfaces. Caso queira saber mais sobre o arquivo de configurao das interfaces digite man shorewall-interfaces no terminal.PolticasAqui definiremos as polticas padro de acesso entre as zonas, onde ACCEPT significa que o acesso entre as zonas ser livre e REJECT e DROP o acesso ser bloqueado, sendo que no primeiro haver respostas ao solicitante e no segundo nada ser informado.Para verificar como as polticas foram definidas no servidor aps a instalao da soluo, acesse opl > Firewall > Configuraes Avanadas > Polticas (policy). Observe que podemos usar a palavra chave all para representar todas as zonas e a palavra chave info para ativar o registro (log) das tentativas de violao da poltica. Caso queira saber mais sobre o arquivo de configurao das polticas digite man shorewall-policy no terminal.MascaramentoAgora iremos definir para quais interfaces ser permitido o mascaramento ou encaminhamento de pacotes, graas a esta configurao ser possvel realizar NAT/DNAT atravs do servidor.Para verificar o mascaramento (masq) definido no servidor aps a instalao da soluo, acesse opl > Firewall > Configuraes Avanadas > Mascaramento (Masq). Repare que a interface da zona net, no nosso caso a eth0, dever sempre ser a primeira, seguida pela interface da zona que se quer ativar o mascaramento. Caso queira saber mais sobre o arquivo de configurao do mascaramento, digite man shorewall-masq no terminal.Configurando as regras do firewallTodas as configuraes realizadas at aqui somente devero ser feitas uma nica vez, a no ser que haja alguma alterao na infra-estrutura da rede, como a adio de uma DMZ. Mas as alteraes realizadas no arquivo de configurao das regras (opl > Firewall > Editar Regras do Firewall) sero freqentes e necessrias sempre que se desejar a liberar algum acesso que no foi previsto pela soluo, por isso daremos maior ateno a essa configurao.Aps a instalao das solues OpoLinux PDC e E-jovem Proxy, o firewall (Shorewall) estar pre-configurado para permitir o acesso a todos os servios em execuo no servidor, no entanto, devido a forma como foram configuradas as polticas de acesso no arquivo policy (DROPs e REJECTs), o trfego entre as zonas estar bloqueado para os demais protocolos e portas, logo, qualquer liberao de acesso no prevista na configurao inicial dever ser configurada nesse arquivo, por isso o perfeito entendimento da sua sintaxe essencial para a configurao do firewall.Organizao do arquivo de regrasAbra o arquivo, observe as regras pre-configuradas e procure entender como ele est organizado, repare que as regras foram dividias pelo tipo de acesso: loc para net, loc para fw etc. muito importante procurar manter essa organizao, embora no seja obrigatrio, pois assim ser mais fcil ter o controle sobre a configurao do firewall. Repare tambm que no ser necessrio criar regras do firewall para as demais zonas, uma vez que a zona fw teve sua poltica definida como ACCEPT para as demais zonas. O arquivo de regra ser lido de forma seqencial, assim as regras que estiverem mais acima tero precedncia em relao s que estiverem mais embaixo.O Shorewall vem com vrias regras (macros) pre-definidas e isso facilita bastante a configurao, pois no ser necessrio saber quais so os protocolos e portas de determinados servios na definio das regras, basta usar a macro correspondente ao servio, caso exista uma. Para saber quais so as macros disponibilizadas pelo Shorewall, basta acessar o diretrio "/usr/share/shorewall" no servidor. Cada macro corresponde a um arquivo com o nome macro.SERVIO. Utilizamos muitas delas na configurao do firewall.Regas do firewallA melhor maneira de ensinar e aprender como configurar o firewall com exemplos prticos, vamos mostrar isso agora, mas lembre-se que, para o perfeito entendimento dos exemplos que sero mostrados aqui, necessrio saber que protocolos e portas so utilizados pelos servios que se quer configurar, e ensinar isso foge do objetivo deste tutorial.Vamos analisar uma das regras configuradas da rede local para o firewall (loc para fw). Observe que a primeira regra definida no arquivo de configurao esta listada abaixo:DNS/ACCEPT loc fwEsta regra est permitindo o acesso ao servio DNS que est em execuo no firewall a todas as estaes da rede local. Repare que no definimos o protocolo (tcp ou udp) nem a porta (53) usados pelo servio, isso porque utilizamos uma macro fornecida pelo Shorewall, caso contrrio a regra seria assim:ACCEPT loc fw tcp 53ACCEPT loc fw udp 53Repare que agora foi necessrio definir duas regras, uma para o protocolo tcp e outra para o protocolo udp, mas com o uso da macro DNS bastou criar uma nica regra. Macros so bastante teis quando temos servios que utilizam vrias portas e protocolos como o Samba (SMB).Caso tenha a curiosidade em saber quais os protocolos e portas esto definidos em uma macro, visualize o arquivo correspondente macro em "/usr/share/shorewall".No ser necessrio criar regras para o trfego de retorno (sentido inverso), como ocorreria se estivssemos configurando o Iptables na mo, isso ser feito automaticamente pelo Shorewall, moleza no?Agora voc j tem como entender a maioria das regras pre-configuradas na soluo que instalou no seu servidor, aproveite e d uma nova vistoriada no arquivo de configurao. Mas vamos estender um pouco mais o nosso exemplo, suponhamos agora que voc precise liberar acesso ao servio SMTP na Internet a todas as mquinas da sua rede local, para isso devemos adicionar a regra abaixo:SMTP/ACCEPT loc netSem o uso de macros teramos:ACCEPT loc net tcp 25E se quisssemos limitar essa regra apenas para a estao da rede local com o endereo 192.168.0.100? Basta adicionar dois pontos e o endereo da estao aps o nome da zona loc.SMTP/ACCEPT loc:192.168.0.100 netouACCEPT loc:192.168.0.100 net tcp 25Para adicionar mais estaes regra, pode-se criar uma nova regra para cada estao ou inserir o endereo precedido de vrgula aps o endereo existente (sem espaos):SMTP/ACCEPT loc:192.168.0.100,192.168.0.101 netouACCEPT loc:192.168.0.100,192.168.0.101 net tcp 25E se quisssemos agora restringir o acesso a apenas um host especfico na Internet, pois da maneira como a regra foi definida acima, as estaes locais tero aceso ao servio SMTP de todas as mquinas da Internet? Nesse caso, adicione o endereo do host aps no nome da zona net:SMTP/ACCEPT loc:192.168.0.100,192.168.0.101 net:200.200.200.200E para dar acesso ao servio SMTP do host 200.200.200.200 a todas as estaes rede local, devemos definir a regra abaixo: SMTP/ACCEPT loc net:200.200.200.200Fcil demais! quem j configurou o Iptables na mo sabe do que estou falando. Podemos tambm definir uma faixa de portas que sero abertas, veja como permitir o acesso s portas altas (1024 a 65535) do protocolo tcp para estao 192.168.0.100 na Internet:ACCEPT loc:192.168.0.100 net tcp 1024:65535At aqui definimos apenas regras da zona loc para a zona net, mas devem ser definidas tambm regras para as demais zonas se necessrio, por exemplo, suponhamos que voc tenha instalado o servio Web no servidor e queira dar acesso tanto rede local quanto Internet, ser necessrio ento criar duas regras no firewall:Web/ACCEPT loc fweWeb/ACCEPT net fwCrie regras apenas para os servios que deseje permitir, se no exemplo acima o servio Web fosse apenas para a rede local, no seria necessrio, nem prudente, criar a segunda regra.Redirecionamento e Proxy TransparenteVamos falar agora sobre o redirecionamento que utilizado pelo Proxy Transparente. Como dissemos em outras oportunidades aqui no site, nossas solues trabalham com o Proxy Transparente, isso significa que os pacotes com destino porta 80 (http) sero desviados automaticamente pelo firewall para o servio proxy na porta 3128 (Squid), isso feito atravs do comando mostrado abaixo:REDIRECT loc 3128 tcp http - - Dessa maneira, nenhum acesso a porta 80 (http) ser feito diretamente pelas estaes, tudo passar pelo proxy e ser controlado pelas suas regras de acesso. No entanto, se precisarmos dar acesso direto porta 80 a uma determinada estao, o que devemos fazer? Neste caso temos que fazer duas coisas, remover a estao do redirecionamento para o proxy (fique atento o ponto de exclamao que funciona como excluso):REDIRECT loc:!192.168.0.100 3128 tcp http - - e liberar o trafego da estao para a porta 80:HTTP/ACCEPT loc:192.168.0.100 netAgora a estao 192.168.0.100 acessar diretamente a Internet atravs de NAT, sem ser desviada para o proxy, e no ser mais controlada pelas regras de controle acesso do Squid, nem far uso do cache, o que deixar o acesso a sites na Internet mais lento (pelo menos em teoria).Caso queira excluir alguns hosts da Internet do redirecionamento, fazendo com que o acesso a eles seja feito diretamente sem o uso do proxy, exclua seus endereos da regra REDIRECT:REDIRECT loc 3128 tcp http - !200.200.200.200,200.200.200.201depois crie uma regra permitindo o acesso direto a eles:Web/ACCEPT loc net:200.200.200.200,200.200.200.201Esta configurao bastante til para servios como a Conectividade Social da Caixa Econmica Federal, que percisam ser acessados diretamente sem passar pelo proxy. Os endereos dos servidores da Conectiviade Social so: 200.201.166.0/24,200.201.173.0/24,200.201.174.0/24 (sim, voc pode usar endereo de rede nas regras!), configure-os no seu firewall caso precise usar esse servio na rede local da sua empresa (bem provvel).O leitor mais atento deve ter percebido que nos referimos s macros Web e HTTP nos exemplos mostrados. que no Shorewall a macro Web se refere s porta 80 e 443, j a macro HTTP se refere apenas porta 80. Temos ainda a macro HTTPS que se refere porta 443. Use aquela que atender as suas necessidades.Acesso s estaes da rede localAgora falaremos sobre o trafego da zona net para a zona loc, que um pouco diferente dos demais. Como no temos IPs vlidos nas estaes da rede local, ser necessrio fazer um redirecionamento das requisies ao IP vlido do servidor para o endereo no vlido da estao que se deseja acessar remotamente. A este tipo e conexo dar-se o nome de DNAT.Vejamos ento um outro exemplo prtico, vamos supor que o endereo do servidor seja 100.100.100.100 (um endereo vlido) e queiramos que o host 200.200.200.200 da Internet acesse o servio VNC (porta 5900) na estao 192.168.0.100 da rede local. Basta definir a regra abaixo no arquivo de configurao do firewall:DNAT:info net:200.200.200.200 loc:192.168.0.100:5900 tcp 5900 - 100.100.100.100 - -Agora, basta acessar o servidor (atravs do seu endereo IP) na porta 5900 que o trfego ser redirecionado para o servio VNC, porta 5900, na estao. Parece complicada a regra, e realmente um pouco, mas funciona perfeitamente bem. No entanto necessrio que o servidor tenha um endereo IP vlido. Se no tiver, caso esteja utilizando um modem ADSL roteado (Velox), ser necessrio fazer uma configurao semelhante no modem. Assim, o trfego ser redirecionado do modem para o servidor que o redirecionar para a estao. Acredite! isso funciona..Mas h um grande porm nisso tudo, voc est abrindo uma vulnerabilidade de segurana na sua rede, pois est permitindo que estaes na Internet acessem a sua rede local e isso no nada bom. Caso realmente necessite dar acesso s estaes da sua rede local atravs da Internet com segurana, experimente uma outra soluo nossa, a connectVpn. Caso queira saber mais sobre o arquivo de configurao das regras do firewall digite man shorewall-rules no terminal.Ativando as alteraesSempre que fizer alguma altarao nas regras do firewall, ser necessrio ativar as alteraes: opl > Firewall > Ativar Alteraes. Ao fazer isso, surgir na tela uma listagem semelhante a mostrada abaixo:Compiling...Compiling /etc/shorewall/zones...Compiling /etc/shorewall/interfaces...Determining Hosts in Zones...Preprocessing Action Files... Pre-processing /usr/share/shorewall/action.Drop... Pre-processing /usr/share/shorewall/action.Reject...Compiling /etc/shorewall/policy...Compiling Kernel Route Filtering...Compiling Martian Logging...Compiling /etc/shorewall/masq...Compiling MAC Filtration -- Phase 1...Compiling /etc/shorewall/rules...Generating Transitive Closure of Used-action List...Processing /usr/share/shorewall/action.Reject for chain Reject...Processing /usr/share/shorewall/action.Drop for chain Drop...Compiling MAC Filtration -- Phase 2...Applying Policies...Generating Rule Matrix...Creating iptables-restore input...Shorewall configuration compiled to /var/lib/shorewall/.startProcessing /etc/shorewall/params ...Starting Shorewall....Initializing...Processing /etc/shorewall/init ...Setting up ARP filtering...Setting up Route Filtering...Setting up Martian Logging...Setting up Accept Source Routing...IP Forwarding EnabledSetting up Proxy ARP...Setting up Traffic Control...Preparing iptables-restore input...Running /sbin/iptables-restore...Processing /etc/shorewall/start ...Processing /etc/shorewall/started ...done.Caso alguma coisa d errado, devido a um erro de configurao por exemplo, no ser mostrada a palavra done (feito em ingls) no final da listagem. Repare que podemos observar as duas etapas de inicializao do Shorewall: a compilao das configuraes e a inicializao do firewall com a ativao das regras do Iptables.Visite o site do desenvolvedor, l voc encontrar vrias informaes e dicas sobre a configurao e utilizao do Shorewall e saber mais sobre o potencial dessa maravilhosa ferramenta.

Como configurar o DNS Reverso

Aplicativos

Seg, 29 de Setembro de 2008 11:36

ndice do Artigo

Como configurar o DNS Reverso

Contratando o servio

Pacotes necessrios

Configurando o Bind

Arquivo da zona reversa

Iniciando o servio

Testando o DNS Reverso

Todas as Pginas

Pgina 1 de 7

Mas o que significa o DNS reverso? Todos ns sabemos que DNS (Domain Name Server) o servio responsvel pela converso de nomes em endereos IP na Internet, e que sem ele seramos obrigados a memorizar o endereo IP de cada site que quisssemos acessar, o que seria praticamente impossvel. O DNS reverso faz justamente o contrrio, esse servio converte endereos IP em nomes e bastante utilizado por alguns servios.O Comit Gestor da Internet no Brasil CGI.br recomenda que o DNS reverso seja configurado para todas as mquinas que provem servios Internet, e assim o fao em todos os meus servidores, mas muitos administradores de rede no o implementam devido s dificuldades de configurao. Entretanto, no caso especfico dos servios de e-mail, sua implementao essencial, pois a maioria dos servidores iro verificar se os endereos IP das mensagens recebidas possuem respostas reversas, caso contrrio, as rejeitaro como se fossem spam.Pensando nisso, resolvi mostrar neste tutorial como fiz para configurar o DNS reverso de uma rede cujo link fora contratado da Embratel, mas que pode ser facilmente adaptado para os servios de qualquer outra que permita a delegao da sub-rede reversas.Prefira sempre os servios de operadoras que lhe permita configurar sua prpria zona reversa.Em nossas configuraes, usaremos CentOS 4 Server e suporemos que o DNS direto j esteja devidamente configurado.

Contratando o servioPara prover servios Internet, tais como e-mails, home pages etc., necessrio contratar um link de acesso que fornea endereos IP fixos e vlidos. Aqui em Fortaleza, cidade de onde escrevo este tutorial, temos vrias empresas que oferecem esse tipo de servio, no nosso caso optamos pelos servios da operadora Embratel.Quando a Embratel instala um link em um cliente, ela fornece um documento chamado OTS (Ordem Tcnica de Servio). A partir desse documento, podemos obter todos os dados necessrios para a configurao dos nossos servidores.Dentre as vrias informaes constantes na OTS, as mais importantes para a configurao dos servidores so o IP e a mascara da sub-rede oferecida ao cliente. Atravs deles, obteremos todos IP fixos e vlidos disponveis. No nosso exemplo temos:

IP: 201.30.191.160 (representa o endereo IP da sub-rede, NETWORK); Mascara: 28 (representa a mascara da sub-rede, NETMASK ).Como a nossa inteno aqui apenas mostrar como configurar o servidor DNS reverso, mostraremos apenas resumidamente uma maneira prtica de obter os endereos da sub-rede. Caso esteja interessado em maiores informaes sobre como calcular endereos de redes e sub-redes IP, sugerimos uma pesquisa rpida no Google.Para calcular o nmero de endereos da nossa sub-rede, basta subtrair 32 do nmero de bits da mascara fornecida (28), e elevar a 2 ao resultado dessa subtrao:32 28 = 4 4 = 16 Assim, teremos 16 endereos IP para cada sub-rede de mascara 28.Como primeiro endereo da nossa sub-rede (NETWORK) comea em 160 (conforme indica a OTS), o ltimo endereo (BROADCAST) ser (160 + 16) 1 = 175, ou seja, 201.30.191.175.Para quem no sabe (ou no lembra), a macara 28 representada pelos octetos 11111111.11111111.11111111.11110000 (28 dgitos 1), que equivale a 255.255.255.240 na base decimal, onde: 255 = 128+64+32+16+8+4+2+1 e 240 = 128+64+32+16.No fique assustado, pode parecer difcil a primeira vista, mas fcil de entender, apenas fiz uma soma para descobrir os valores decimais referentes aos binrios 11111111 e 11110000 (chamamos isso de bizu aqui em Fortaleza). Para saber mais sobre converso de binrios para decimais, acesse este site.Pronto, agora temos todos os endereos disponibilizados pela operadora: 201.30.191.160 NETWORK 201.30.191.161 rt.centec.org.br (roteador da rede gateway) 201.30.191.162 mail.centec.org.br 201.30.191.163 ns1.centec.org.br 201.30.191.164 www.centec.org.br 201.30.191.165 ...(continua) 201.30.191.174 201.30.191.175 BROADCASTObserve que definimos os nomes do roteador e de trs servidores que sero utilizados na rede, os demais IP no sero utilizados. Uma pena, pois disponibilizar mais endereos que o necessrio ajuda a aumentar a escassez de endereos IPv4 vlidos na Internet. Podemos agora configurar o nosso DNS reverso.Pacotes necessriosO servidor DNS mais utulizado no Linux o Bind, embora tenhamos outras opes menos populares (no recomendo, um bom administrador de redes tem que saber usar o Bind). Como dito anteriormente, partiremos da premissa de que o Bind j esteja instalado e o DNS direto devidamente configurado, iremos apenas configurar o DNS reverso, no entanto, caso o Bind no esteja instalado, execute o comando abaixo:# yum install bindNa instalao padro do CentOS 4 Server, todos os pacotes do Bind j so instalados e prontos para usar, mas caso queira verificar a instalao no seu servidor, execute o seguinte comando:# rpm -aq | grep bindbind-9.2.4-28.el4ypbind-1.17.2-13bind-chroot-9.2.4-28.el4bind-utils-9.2.4-28.el4bind-libs-9.2.4-28.el4Aps a instalao do CentOS, execute o comando yum update, esse procedimento ir atualizar todos os pacotes do seu servidor, inclusive os do Bind.Configurando o BindInicialmente devemos configurar o arquivo named.conf localizado no diretrio /etc, nesse arquivo faremos referncia zona reversa de definiremos mais adiante.O usurio mais atento perceber que /etc/named.conf representa um link simblico (atalho) para o verdadeiro arquivo localizado em /var/named/chroot/etc/named.conf. Isso se deve ao fato do Bind no CentOS ser executado em uma gaiola chroot (no entraremos em detalhes sobre isso neste tutorial), por isso todos os nossos arquivos de configurao do Bind na verdade ficaro localizados no diretrio /var/named/chroot.Agora definiremos os dados referentes nossa zona reversa adicionando as seguintes linhas no final do arquivo /etc/named.conf.zone "160-175.191.30.201.in-addr.arpa" IN { type master; file "160-175.191.30.201.zone"; allow-update { none; }; allow-transfer { 200.255.125.214; };};No arquivo named.conf foi configurada a zona reversa 160-175.191.30.201.in-addr.arpa. Observe como foi definido o nome dessa zona: 160 o primeiro endereo da sub-rede (NETWORK), 175 o ltimo endereo (BROADCAST), 191.30.201 so os trs primeiros octetos da sub-rede invertidos e o final in-addr.arpa por padro. O nome da zona reversa dever ser sempre representado dessa maneira.Segundo a configurao acima, o nosso DNS reverso ser do tipo master, ou seja, ser o DNS primrio da nossa zona reversa; o arquivo onde ficaro os dados da zona ser 160-175.191.30.201.zone, mostraremos isso em detalhes mais adiante; no sero permitidas atualizaes dinmicas de endereos nessa zona, pois allow-update ser definido como none, e ser permitida transferncia de zona para o servidor reverso secundrio da Embratel (altere esse endereo para aquele fornecido pela sua operadora), pois allow-transfer est definido como 200.255.125.214.Falando um pouco mais da zona reversa, sempre configuro meus DNS reversos como primrios (como mostrado acima), pois caso fossem configurados como secundrio, seria a operadora que controlaria a zona reversa, e sempre que fosse necessria a adio de novos endereos reversos, teramos que entrar em contato com ela para efetivasse a operao, embora nesse caso a configurao do servidor seja bem mais simples, porque no necessrio configurar o arquivo da zona reversa (nosso prximo passo).Configurar o servidor reverso como primrio nos d o poder de controlar diretamente os nosso endereos.Devemos configurar agora o arquivo da zona reversa 160-175.191.30.201.zone.Arquivo da zona reversaConforme definimos no arquivo named.conf, o arquivo da zona reversa ser chamado 160-175.191.30.201.zone e dever estar localizado no diretrio /var/named/chroot/var/named (no CentOS).# cat 160-175.191.30.201.zone$TTL 3h$ORIGIN .160-175.191.30.201.in-addr.arpa IN SOA mail.centec.org.br. admin_sede.centec.org.br. ( 2008061301 3h 1h 1w 1h )

IN NS ns.embratel.net.br. IN NS ns2.embratel.net.br. IN NS mail.centec.org.br.

$ORIGIN 160-175.191.30.201.in-addr.arpa.161 IN PTR rt.centec.org.br.162 IN PTR mail.centec.org.br.163 IN PTR ns2.centec.org.br.164 IN PTR www.centec.org.br.No entrarei nos detalhes de todos os parmetros configurados no arquivo da zona, apenas daqueles mais importantes para a manuteno da zona: Registro SOA: mail.centec.org.br nome do servidor DNS reverso primrio e admin_sede.centec.org.br o e-mail do administrador da zona (observe que o @ foi substitudo por um ponto); 2008061301: nmero seqencial, sempre que fizermos alguma alterao na zona, devemos acrescer esse nmero para que o DNS reverso secundrio perceba que houve alteraes e atualize deus dados. Sempre uso esta seqncia padro: ano da alterao (2008), ms (06), dia (13) e nmero da alterao do dia (01); Registros NS: ns.embratel.net.br e ns2.embratel.net.br: so os servidores DNS fornecidos pela operadora, caso trabalhe com a Embratel no ser necessrio mudar, e mail.centec.org.br o nome do servidor DNS reverso primrio, no caso o nosso servidor; Registros PTR: repare que esses registros so os ltimos octetos dos endereos IP definidos para cada servidor associados a seus respectivos nomes (terminados com um ponto, esse detalhe muito importante).Para maiores detalhes sobre a configurao do Bind, recomendo a leitura do livro DNS e BIND da editora Campus/OREILLY, a melhor referncia sobre o assunto de que conheo.Os demais registros devero ser adaptados conforme as suas necessidades. Aps a criao do arquivo da zona reversa, devemos criar um link simblico para esse arquivo no diretrio /var/named:# ln -s /var/named/chroot/var/named/160-175.191.30.201.zone \> /var/named/160-175.191.30.201.zonePronto, o Bind j est configurado, agora basta ativar as alteraes.Como configurar o DNS Reverso - Iniciando o servio

Iniciando o servioAgora estamos prontos para reiniciar o servidor DNS (lembra que supomos que o DNS direto j estava configurado):# service named restartParando o named: [ OK ]Iniciando named: [ OK ]Caso todas as configuraes tenham sido feitas corretamente, o DNS reverso da nossa rede deve estar funcionando adequadamente. No entanto, diferente do DNS direto, ser necessrio ainda entrar em contato com a operadora para que essa delegue a zona reversa da sub-rede ao nosso servidor.No cado da Embratel, ligue para o telefone 0800 721.1021 e pea para falar com o departamento tcnico informando que quer configurar a zona reversa. Sero solicitadas algumas informaes da empresa (CNPJ, nome do circuito etc.), o nome do servidor onde foi configurado o DNS reverso, o IP desse servidor, como dever ser configurado (master ou slave) e o seu e-mail para envio dos dados da configurao.O tcnico da Embratel verificar se o servidor foi configurado corretamente, caso contrrio ser necessrio rever a configurao e ligar novamente. Se tudo estiver correto, o DNS reverso entrar em operao em aproximadamente uma hora.O leitor mais atento deve ter percebido que no foi necessrio acessar o site registro.br e definir os endereos dos servidores de nome responsveis pelo domnio em questo. Como dissemos, o DNS direto j devia estar configurado e operante, logo, essa definio j foi realizada.Relembrando, no necessrio configurar servidores secundrios (slaves) para as zonas reversas, esses sero configurados e mantidos pela operadora.Testando o DNS ReversoPara testar seu DNS reverso utilize o comando nslookup:# nslookup 201.30.191.162Server: 127.0.0.1Address: 127.0.0.1#53

Non-authoritative answer:162.191.30.201.in-addr.arpa canonical name = 162.160-175.191.30.201.in-addr.arpa.162.160-175.191.30.201.in-addr.arpa name = mail.centec.org.br.

Authoritative answers can be found from:160-175.191.30.201.in-addr.arpa nameserver = ns2.embratel.net.br.160-175.191.30.201.in-addr.arpa nameserver = mail.centec.org.br.160-175.191.30.201.in-addr.arpa nameserver = ns.embratel.net.br.ns.embratel.net.br internet address = 200.255.253.241ns2.embratel.net.br internet address = 200.245.255.33mail.centec.org.br internet address = 201.30.191.162Perfeito! agora as mensagens do seu servidor de e-mails no sero mais rejeitadas devido falta de um DNS reverso.Procurei ser bastante sucinto nesse tutorial, claro que para o perfeito entendimento das funcionalidades e configuraes do Bind necessrio um material bem mais completo, no entanto espero ter atingido o meu objetivo de dar alguma orientao aos administradores de rede que estejam com dificuldades no entendimento e na configurao do DNS reverso.

Pr-requisitosPara executar a soluo connectVpn necessrio ter instalada a verso 4 ou superior servio openSSH, que permite bind address para endereos remotos (parmetro -L). Infelizmente, o CentOS 4 vem com uma verso inferior, o que impossibilita a sua utilizao (a menos que seja atualizada). J no CentOS 5 e no Ubuntu Server 8.04, podemos execut-la sem problemas.Antes de iniciar a instalao ser necessrio: Um servidor Linux com o servio openSSH verso 4 (ou superior); Baixar o arquivo de instalao da soluo connectVpn.Arquivo de instalaoVerso 1.2.2 : connectVpn.1.2.2.tar.gzInstalaoAps baixar o arquivo, descompacte-o no seu servidor e execute o script de instalao:# wget http://www.opcaolinux.com.br/download/connectVpn/connectVpn.1.2.2.tar.gz# tar xzf connectVpn.1.2.2.tar.gz# cd connectVpn.1.2.2/# ./install.sh

VPN via tneis SSH

Imagine a seguinte situao; voc um administrador de rede, e na empresa onde trabalha um de seus usurios da equipe de desenvolvimento (usurio_local) necessita acessar uma base de dados MySQL que est em execuo em um servidor da filial (www.ssh_server.com.br). Em um segundo momento, um outro usurio, dessa vez da equipe de suporte, precisa acessar remotamente essa mesma filial para dar manuteno via VNC a uma determinada estao (host_remoto).

Ambas, matiz e filial, tm conectividade com a Internet e a infra-estrutura da rede semelhante a mostrada na figura acima. Observe que os servidores ssh_local e www.ssh_server.com.br tm acesso tanto Internet quanto s suas redes locais, e que o endereo IP de ssh_local na rede interna 192.168.1.254 (ip_local). E agora, o que fazer?Uma maneira rpida e fcil de resolver esse problema seria abrir a porta do MySQL (3306) no servidor remoto e fazer um DNAT no firewall desse servidor, redirecionando as solicitaes dos usurios para o servio VNC em execuo no host remoto. No entanto, essa abordagem no seria muito prudente uma vez que no prov autenticao e os dados trafegariam abertos atravs da Internet (sem criptografia). Esse um caso tipico onde interessante a criao de uma Rede Privada Virtual, mais conhecida como VPN.Pesquisando na Internet, encontramos vrias solues para implementar VPN, mas a maioria delas requer configuraes complexas, algumas at a recompilao do kernel, o que seria invivel para servidores em produo como os do nosso exemplo. Dentre as vrias opes disponveis, a que mais nos chamou a ateno foi a criao de tneis atravs do SSH, tanto pela sua facilidade de implementao, sem a necessidade de nenhuma instalao adicional, quanto pelo fato de j termos tudo instalado e pronto para ser usado (usamos servidores Linux, claro). Mostraremos ento como fizemos para configurar nossa VPN.ConfiguraoInicialmente, no servidor local (ssh_local) onde sero criados os tneis, devemos gerar um par de chaves pblica e privada que ser utilizada na autenticao da nossa VPN, para isso execute o seguinte comando como root:# ssh-keygen -t dsa -b 1024 -P "" -f ~/.ssh/vpnKey_dsa Note que esse servidor local no precisa necessariamente ser o gateway da rede local, pode ser qualquer mquina Linux que possa acessar o servio ssh de outras atravs da Internet. Aps a execuo do comando mostrado acima, ser criado um par de chaves no diretrio /root/.ssh denominadas: vpnKey_dsa e vpnKey_dsa.pub.Cuidado! Mantenha sua chave privada (vpnKey_dsa) guardada a sete chaves, pois ela dar acesso aos seus servidores remotos, sem senha, a qualquer um que a possua.Em seguida, copie a chave pblica para os servidores que sero acessados remotamente via ssh, no caso www.ssh_server.com.br:# cat /root/.ssh/vpnKey_dsa.pub | ssh www.ssh_server.com.br -l root -p 22 \> 'umask 007; [ -d .ssh ] || mkdir .ssh; cat >> ~/.ssh/authorized_keys'Agora que j temos criada a infra-estrutura de autenticao para a nossa VPN, vamos criar os tneis para cada servio solicitado atravs da sintaxe abaixo:# ssh -f -N -C -p 22 \> -i /root/.ssh/vpnKey_dsa \> -o serverAliveInerval=120 \> -L ip_local:porta_local:ip_remoto:porta_remota> -l root> www.ssh_server.com.brOnde: -f = execuo em segundo plano; -N = no executa comandos remotos; -C = comprime os dados ante de envi-los (economia de banda); -p 22 = porta do servio ssh no servidor remoto; -i /root/.ssh/vpnKey_dsa = chave privada usada na autenticao; -o serverAliveInerval=120 = mantm a conexo sempre ativa (a cada 2 minutos); -L ip_local:porta_local:ip_remoto:porta_remota = cria o tnel.Para acessar o servio MySQL em www.ssh_server.com.br teramos:# ssh -f -N -C -p 22 \> -i /root/.ssh/vpnKey_dsa \> -o serverAliveInerval=120 \> -L 192.168.1.254:3306:200.200.200.200:3306 \> -l root> www.ssh_server.com.brPronto! agora basta informar aos usurios que acessem ssh_local (192.168.1.254) na porta 3306 que a conexo ser redirecionada automaticamente para www.ssh_server.com.br, ou seja, para os usurios ser como se o servio remoto estivesse sendo executado em ssh_local (192.168.1.254); faclimo, no?E o servio VNC? bem, para acessar o VNC como indicado na figura, devemos criar um novo tnel da seguinte maneira:# ssh -f -N -C -p 22 \> -i /root/.ssh/vpnKey_dsa \> -o serverAliveInerval=120 \> -L 192.168.1.254:5900:172.16.1.100:5900 \> -l root> www.ssh_server.com.bre conectar em ssh_local (192.168.1.254) atravs da porta 5900. Observe que agora utilizamos o IP do host_remoto (172.16.1.100). Poderamos ter utilizado qualquer porta em ssh_local, desde que superior a 1023 e que no estivesse sendo utilizada por outros servios.O interessante que os servios remotos podem ser acessados de qualquer estao da rede local, independente do sistema operacional utilizado, de maneira totalmente transparente para os usurios, e que os tneis podem ser criados em qualquer uma das estaes locais (Linux claro), desde que a estao utilizada tenha permisso para acessar o servidor SSH remoto, ou seja, no necessria a utilizao de um servidor gateway para isso, embora seja o ideal (no exemplo acima, criamos nossos tneis no servidor gateway da rede local).Fique atento, os tneis sero quebrados caso a mquina seja reiniciada ou a conexo fique off-line por mais de 120 segundos.

Soluo connectVpnPara facilitar a criao de tneis SSH, criamos uma aplicao em shell script chamada connectVpn. Atravs dessa ferramenta, podemos criar e manter nossos tneis de maneira fcil, rpida e eficiente.Sua instalao bastante simples, basta baixar e descompactar o arquivo connectVpn.1.x.x.tar.gz na nossa seo de downloads e executar o script install.sh como mostrado a seguir:# wget http://www.opcaolinux.com.br/download/connectVpn/connectVpn.1.2.2.tar.gz# tar -xzvf connectVpn.1.2.2.tar.gzconnectVpn.1.2.2/connectVpn.1.2.2/install.shconnectVpn.1.2.2/vpn_final_1.2.2.tar.gz

# cd connectVpn.1.2.2# ./install.sh connectVpn v.1.2.2 - www.opcaolinux.com.br

NOME connectVpn - Cricao de VPNs atravs tneis SSH.

SINOPSE connect {start|quiet|status|clean|stop|edit|keygen|help}

DESCRICAO start: inicia tneis configurados em connectVpn.conf; quiet: inicia tneis silenciosamente (uso com cron); status: mostra tneis iniciados; clean: elimina tneis seletivamente; stop: elimina todos os tneis ativos; edit: edita arquivo de configurao connectVpn.conf; keygen: cria e exporta chave pblica para hosts remotos; help: mostra este texto.

AUTOR Tarcsio Carvalho Espnola tarcisio(arroba)opcaolinux.com.br www.opcaolinux.com.br

COPYRIGHT Este um software livre e pode ser distribudo sobre os termos da GNU General Public License .

Fortaleza/Cear/Brasil, 28 de Janeiro de 2007

VEJA TAMBM Para maiores informaes ver arquivo connectVpn.confAps a instalao sero criados dois arquivos e um link simblico:/usr/local/bin/connectVpn/connectVpn.sh = script do programa;/usr/local/bin/connectVpn/connectVpn.conf = arquivo de configurao;/usr/local/bin/connect = link simblico.Vejamos como utiliz-la:# connect {start|quiet|status|clean|stop|edit|keygen|help}Onde: sart = inicia tneis configurados em connectVpn.conf; quiet = inicia tneis silenciosamente (uso com cron); status = mostra tneis iniciados; clean = elimina tneis seletivamente; stop = elimina todos os tneis ativos; edit = edita arquivo de configurao connectVpn.conf; keygen = cria e exporta chave pblica para hosts remotos; help = Ajuda.O arquivo de configurao connectVpn.conf, que pode ser acessado digitando-se connect edit, contm uma srie de informaes sobre como configurar os tneis, leia-o e edite de acordo com as suas necessidades. No nosso exemplo, adicionaremos as seguintes linhas no arquivo connectVpn.conf:Para acessar o VNC no host_remoto:192.168.1.254:5900:172.16.1.100:5900:www.ssh_server.com.br:22ou192.168.1.254:5900:172.16.1.100::www.ssh_server.com.br:22Observe que podemos omitir a porta no host_remoto quando essa for igual porta_local. Para acessar o MySQL em www.ssh_server.com.br:192.168.1.254:3306:www.ssh_server.com.br:3306:www.ssh_server.com.br:22ou192.168.1.254:3306:www.ssh_server.com.br::www.ssh_server.com.br:ou192.168.1.254:3306:::www.ssh_server.com.br:Observe que podemos omitir a porta do ssh no www.ssh_server.com.br (a ltima), quando essa for igual porta padro (22). Veja mais detalhes sobre omisso de parmetros no arquivo connectVpn.conf.Aps efetuadas as todas as configuraes, devemos iniciar os tneis:# connect start [ OK ] 192.168.1.254:5900 -> 172.16.1.100:5900 (www.ssh_server.com.br) [ OK ] 192.168.1.254:3306 -> www.ssh_server.org.br:3306 (www.ssh_server.com.br)Agora seus usurios iro acessar os servios remotos acessando o ssh_local (192.168.1.254).Experimente, modifique, aprimore, sugira e compartilhe! Qualquer dvida entre em contato conosco. Os fatos relatados aqui so reais e as solues demonstradas at hoje utilizadas satisfatoriamente em servidores de produo.Nota: Todas as configuraes aqui mostradas somente sero possveis com a utilizao do openSSH verso 4.0 ou superior, que permite bind address para endereos remotos (parmetro -L). Consulte o manual do SSH para maiores informaes.Material de referncia: http://www.guiadohardware.net/dicas/ssh-apenas-tunelando.html http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=882 http://unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1 http://www.brasport.com.br/index.php?Escolha=8&Livro=L00191

E-jovem Proxy

Servidor Proxy do Projeto E-jovem

Em junho de 2008, a equipe de TI do Instituo Centec foi convidada para desenvolver e implementar uma soluo de servidor proxy para as escolas do Estado do Cear que iriam participar do Projeto E-jovem, uma vez que o acesso Internet dessas escolas era bastante lento e isso inviabilizaria os cursos on-line que seriam ministrados.Como j tnhamos alguma experincia com a implementao de servios Linux, no foi difcil adaptar uma de nossas solues para uso no projeto, assim nasceu a soluo E-jovem Proxy.Embora o objetivo inicial fosse apenas armazenar sites acessados para aumentar a performance da rede (cache), na primeira verso implementamos tambm os seguintes servios adicionais atravs do CentOS Linux Server 4: Ferramenta para administrao do servidor desenvolvida em shell script: OpoLinux Administrator (opl); Proxy transparente com cache e controle de acesso Internet com as seguintes caractersticas: controle de acesso pelo endereo IP das estaes; definio de endereos IP administrativos (acesso total); definio de endereos IP com acesso ao MSN MessengerTM; definio de endereos IP sem acesso algum; definio de intervalos de tempo para proibio de acesso por endereos IP; controle de acesso por palavras na URL; controle de acesso por domnio; controle de acesso por tipo de arquivo; controle de acesso por tipo de URL; controle de acesso pela rede local das estaes. Servidor DHCP; Cache DNS; Firewall (Shorewall). No total, essa soluo foi implementada em 68 escolas do ensino mdio do Estado do Cear e em 2009 estima-se que esse nmero chegue a 100, nada mal para uma soluo desenvolvida em apenas uma semana.Nova VersoDevido ao sucesso da primeira verso e atendendo a solicitaes dos usurios, resolvemos adicionar e aprimorar alguns servios que passaram a ter as seguintes caractersticas adicionais: Novo instalador, agora a ser executado sobre o Ubuntu Server 8.04 LTS; (novo) Ferramenta administrativa atualizada; (melhoria) Proxy transparente com cache e controle de acesso aprimorado: controle de acesso pelos nomes ou endereos IP das estaes; (melhoria) definio de intervalo de tempo com acesso livre (sem restries); (novo) monitoramento do acesso Internet das estaes; (novo) tamanho dos downloads limitado para estaes no administrativas. (novo) Servidor DHCP integrado ao DNS; (melhoria) Servidor DNS dinmico (inclusive reverso) com cache e consultas no recursivas Internet; (melhoria) Servidor de arquivos (pasta compartilhada no servidor). (novo) Caso queira experimentar a soluo E-jovem Proxy, acesse nossa seo de downloads e baixe o arquivo de instalao.

Pr-requisitosA soluo OpoLinux PDC foi feita para ser instalada sobre a distribuio Ubuntu Server 8.04 ou 10.04 LTS, ento, antes de iniciar a instalao, ser necessrio: Um servidor com duas placas de rede e acesso Internet; O Ubuntu Server 8.04 ou 10.04 LTS previamente instalado e configurado; Baixar o arquivo de instalao da soluo OpoLinux PDC de acordo com a verso do Ubuntu instalada.Faa a instalao padro do Ubuntu Server como mostrado aqui no site, no ser necessrio selecionar nenhum pacote adicional, todos os pacotes necessrios sero baixados e instalados durante a execuo do script de instalao.Arquivo de instalaoVerso 4.804.3 para Ubuntu Server 8.04 LTS : oplpdc_4.804.3_final.tar.gz (descontinuada)Verso 6.1004.2 para Ubuntu Server 10.04 LTS : oplpdc_6.1004.2_final.tar.gzInstalaoAps baixar o arquivo, descompacte-o no seu servidor e execute o script de instalao com a conta do usurio root:# wget http://www.opcaolinux.com.br/download/oplpdc/oplpdc_6.1004.2_final.tar.gz# tar xzf oplpdc_6.1004.2_final.tar.gz# cd oplpdc_6.1004.2_final/# ./config.sh

Para maiores informaes sobre esta soluo, clique aqui.Todos os softwares e ferramentas disponibilizados neste site so livres e podem ser copiados e/ou usados sem restries, no entanto no damos nenhum tipo de garantia quanto a sua utilizao. Pedimos apenas que sejam preservados os devidos crditos de autoria.