Feeds:
Posts
Comentários

DNS – Instalação Prática e Rápida

Como foi explicado no artigo anterior como funciona o dns na teoria, nós vamos precisar de doi endereços ips para configurar o dns master e slave. Neste tutorial, irei utilizar o bind9 no ubuntu como teste.

Existem 3 arquivos que somos obrigados a configurar (sendo que 2 teremos que criar). O primeiro a ser modificado é o /etc/bind/named.conf.local, que vai ser onde vamos configurar o arquivo que vai conter as configurações das zonas de nosso servidor dns. A função entre o named.conf e o named.conf.local é as mesmas, e nada impede que seja inserido as zonas diretamente no named.conf, mas é recomendado que você use o arquivo “/etc/bind/named.conf.local” (que é processado como se fosse parte do named.conf principal). A existência deste arquivo separado, visa separar a configuração geral do servidor, da configuração dos domínios, minimizando a possibilidade de erros. Mas, na verdade, o efeito de editar qualquer um dos dois arquivos é o mesmo. Os outros
arquivos que devemos criar / configurar são os arquivos de zona propiramente ditos – esses arquivos podem ter qualquer nome que voce queira – e o arquivo de dns revers (não é obrigatorio, mas é extremamente importante).

Vamos começar pelo named.conf.local. Um modelo simples seria:
zone “fulano.com.br” IN {
type master;
file “/etc/bind/db.zonas”;
allow-transfer { 10.1.1.53; };
};

Vamos entender as linhas do código acima.
Começando pelo zone “fulano.com.br” que indica o domínio que estamos configurando, e que esta registrado na fapesp.
A linha type master server para dizer que é o servidor master.
O file “/etc/bind/db.zonas”; especifica onde está o arquivo de configuração deste domínio. Voce pode salvá-lo em qualquer local.
allo-transfer é usado para o dns secundário (slave) assuma a responsabilidade pelo domínio em caso de problemas com o master.

Algumas observações importantes: Ao registrar um domínio na fapesp, você precisa fornecer dois endereços de dns. Em muitos casos, o segundo DNS não é obrigatório, ele é apenas uma segurança para o caso do primeiro sair fora do ar. Uma opção muito usada para o segundo DNS é pedir para que algum amigo que também possua um servidor dedicado seja seu DNS secundário. Ele precisará apenas adicionar a configuração do seu domínio na configuração do DNS, o
que é rápido e indolor. Caso você não tenha um amigo que possa fornecer um segundo endereço de dns para você, existe mais uma alternativa: conecte-se via modem na hora de fazer o registro, assim você terá dois endereços (o do link e o do modem) e conseguirá concluir o registro. Naturalmente, neste caso, você perde a redundância: se o seu DNS principal cair seu site ficará fora do ar.

Note que nem sempre esta questão da redundância é realmente um problema, pois se o servidor DNS está hospedado no mesmo servidor que seu site, não faz muita diferença ter dois servidores DNS, pois se o servidor principal cair, o site ficará fora do ar de qualquer forma.

Ok, feito isso, podemos criar / configurar o domínio no arquivo /etc/bind/db.zonas como foi falado anteriormente.
@ IN SOA servidor.fulano.com.br. hostmaster.fulano.com.br.(
2008020820 3H 15M 1W 1D )
NS servidor.fulano.com.br.
NS ns2.fualno.com.br.
IN MX 10 servidor.fulano.com.br.
IN MX 20 beltrano.ciclano.com.br.
fulano.com.br. A 10.1.1.53
www A 10.1.1.53
ftp A 10.1.1.53
smtp A 10.1.1.53
ns2 A 10.1.1.54
renato A 200.200.200.200
beltrano IN CNAME renato

Neste arquivo, a formatação é importante. Você pode usar espaços e tabs (ambos tem o mesmo efeito) para organizar as opções, mas existem algumas regras. As linhas “IN SOA” até “IN MX” precisam ficar justificadas (como no exemplo), e você não pode esquecer dos espaços entre as opções. Caso queira incluir comentários, use “;” ao invés de “#”, como em outros arquivos.

Agora vamos intender o código que digitamos acima.
@ IN SOA servidor.fulano.com.br. hostmaster.fulano.com.br. (
O @ indica a origem do domínio e o início da configuração. É sempre usada, assim como em endereço de emails.
O “IN” é abreviação de “internet” e o “SOA” de “Start of autority”. Em seguida vem o nome do servidor (que você checa usando o comando “hostname”), seguido do e-mail de contato do administrador. Note também que existe um ponto depois do “servidor.kurumin.com.br” e do “hostmaster.kurumin.com.br”, que faz parte da configuração. O ponto se refere ao domínio raiz, de responsabilidade dos rootservers.
O 2008020820 é o valor de sincronismo que permite que o servidor dns secundário mantenha-se sincronizado com o principal. Sempre que modificar ou instalar um servidor dns, lembre-se de atualizar esta data.
Os próximos campos 3H 15M 1W 1D ) orientam o dns secundario (caso você tenha um). O primeiro campo indica o tempo que o servidor aguarda entre as atualizações.

Caso ele perceba que o servidor principal está fora do ar, ele tenta fazer uma transferência de zona, ou seja, tenta assumir a responsabilidade sob o domínio. Caso a transferência falhe e o servidor principal continue fora do ar, ele aguarda o tempo especificado no segundo campo (2 horas) e tenta novamente. O terceiro campo indica o tempo máximo que ele pode responder pelo domínio, antes que as informações expirem (1 semana, tempo mais do que suficiente para você arrumar o servidor principal ;) e o tempo mínimo antes de devolver o domínio para o servidor principal quando ele retornar (1 dia).

Muita gente prefere especificar estes valores em segundos. Uma configuração muito comum é separar os valores por linha, incluindo comentários, como em:
2006061645; serial
28800; refresh, seconds
7200; retry, seconds
604800; expire, seconds
86400 ); minimum, seconds

O resultado é exatamente o mesmo. A única diferença é que você vai acabar digitando várias linhas a mais ;) .
IN MX 10 servidor.fulano.com.br.
fulano.com.br. A 10.1.1.53

As duas linhas acima mostram quem são as máquinas responsáveis pelo domínio. Se estiver usando dois servidores, é necessário especificar ambos.
A linha “IN MX” é necessária sempre que você pretende usar um servidor de e-mails.
fulano.com.br. A 10.1.1.53
www A 10.1.1.53
ftp A 10.1.1.53
smtp A 10.1.1.53

Nas linhas acima, a primeira linha especifíca o ip do servidor, e as outras três, subdomínios que eu cadastrei. Com isso, estou permitindo que visitantes possam digitar ftp.fulano.com.br, www.fulano.com.br etc.
A directiva IN CNAME na verdade é apenas um alias (apelido) de beltrano para renato. Com isso, quando você utilizar o subdominio beltrano, na verdade, você será redirecionado para o servidor onde se encontra o dominio renato.
renato A 200.200.200.200
beltrano IN CNAME renato

O DNS reverso é um recurso que permite que outros servidores verifiquem a autenticidade do seu servidor, checando se o endereço IP atual bate com o endereço IP informado pelo servidor DNS. Isso evita que alguém utilize um domínio que não lhe pertence para enviar spam, por exemplo.
Qualquer um pode enviar e-mails colocando no campo do remetente o servidor do seu domínio, mas um servidor configurado para checar o DNS reverso vai descobrir a farsa e classificar os e-mails forjados como spam. O problema é que os mesmos servidores vão recusar seus e-mails, ou classificá-los como spam caso você não configure seu servidor DNS corretamente para responder às checagens de DNS reverso.

No arquivo “/etc/hosts” deve conter duas entradas, uma para a interface de loopback, o 127.0.0.1, e outra para o IP de internet do seu servidor, que está vinculado ao domínio, como em:
127.0.0.1 localhost.localdomain localhost
10.1.1.53 servidor.fulano.com.br servidor

Agora, vamos criar o arquivo que especificamos no named.conf.local. No nosso caso, é o db.fulano.rev
@ IN SOA servidor.fulano.com.br. hostmaster.fulano.com.br. (
2008020820 3H 15M 1W 1D )
NS servidor.fulano.com.br.
NS ns1.fulano.com.br.
53 PTR fulano.com.br.
54 PTR ns1.fulano.com.br.

Esse arquivo é bastante similar ao arquivo de configuração de domínio, porém, ao invés de usar A para relacionar o domínio da cada subdominio ao ip correspondete, usamos a diretiva PTR.

Agora Ja temos um servidor de DNS funcionando. :)

Vamos testar:

dig fulano.com.br@10.1.1.53.

Isso faz com que ele pergunte diretamente ao seu servidor, o que permite testar a configuração imediatamente, sem precisar esperar pela propagação do registro do domínio. Faça o mesmo com o IP do DNS secundário.

E agora o servidor de dns reverso:

dig -x 10.1.1.53.

Funcionamento do DNS na teoria

DNS é ainda a causa das mais belas confusões e pior que também a causa de diversos problemas básicos no provedor de Internet. O DNS é provavelmente o mais importante serviço que define se o serviço do provedor é bom ou ruim. Antes de configurar o DNS precisa entender como que ele funciona, caso contrário sem chance de que isso jamais funcione legal. A entidade responsável pelos serviços de DNS no Brasil é a FAPESP.

Quando você visita um site através de seu navegador ou quando você envia um email, a internet precisa saber em qual servidor o site esta hospedado, para poder responde a solicitação. É aqui que entra em ação o seu servidor DNS. A internet ira procurar o seu DNS Mater, e caso não encontre (pode estar em manutenção), irá buscar os seu servidores slave.

A estrutura hierárquica funciona como uma árvore invertida, sendo que começa pelo servidor raiz e segue pelos TLD (top level domains) que são divididos em Genericos (gtld) usados em todo o mundo e os de código do país (cctld) que possuem extensões de dominios administrados pelos paises. Por exemplo, os domínios terminados em .COM são respeondidos pelos servidores da VeriSign e os .BR são respondidos pelo registro.br. Por segurança, o servidor raiz foi replicado em 13 servidores raizes espalhados pelo mundo e 2 vezes ao dia seu conteúdo é replicado. Desta maneira, quem realmente processa o maior volume de consultas para resolução de nomes são os servidores TLD’s.

Para que um servidor de DNS funcione corretamente, é necessário ter 2 servidores – Master e Slave – isso é exigido por motivo de que um deles possa ficar off-line. Apesar de que os dois servidores dependem um do outro (master e slave) cada um deles pode respender sem a existência do outro. O funcionamento de master e slave é simples. Após o master ter sido devidamente configurado, configura-se o slave especificando quem é o master daquele dominio. A partir de agora, quando precisarmos fazer alguma alteração, faremos no master, pois o slave irá atualizar pelas versões do master. Lembrando que pode existir diversos servidores slaves, mas somente um master.

Algo muito importante no DNS é ter o reverso configurado. O trabalho do DNS reverso é vereficar se realmente o ip que está tentando se comunicar existe. Com isso, é possível bloquear uma boa quantidade de SPAM e também não entrar em nenhuma black list como spammer. Para que a configuração do DNS reverso funcione, será preciso ajuda da teleoperadora que fornece ip para você e seu Provedor. Isso funciona da seguinte forma: o DNS resolve o nome em ip, e o reverso ao contrário, resolve os ip’s em nomes. Para ativar o DNS reverso com a operadora, irá demorar de 2 a 4 dias em média. Nesse período, a rede pode ficar lenta ou com problemas de email.

Para realizar testes de dns, pode-se utilizar o comando lookup. Também pode-se utilizar alguns testes na internet, como dnsstuff.

Configurações adicionais no Ubuntu 7.10 (Gutsy)

Bom, resolvi tomar vergonha na cara, e atualizar esse site ;-) . Após baixar e instalar o ubuntu 7.10, notei que ainda assim, precisa de alguns ajustes para funcionar corretamente (no meu ponto de vista).
Bom, primeiramente, vamos precisar instalar alguns pacotes extras, e antes de mais nada, vamos modificar o /etc/apt/sources.list para não precisar mais do cd do ubuntu. Antes de mais nada, faça um bkp do seu sources.list. Algo como:

mv /etc/apt/sources.lit /etc/apt/bkp_sources.list
vi /etc/apt/sources.list
e insira o seguinte conteúdo:

# deb cdrom:[Ubuntu 7.10 _Gutsy Gibbon_ - Release i386 (20071016)]/ gutsy main restricted
deb http://br.archive.ubuntu.com/ubuntu/ gutsy main restricted
deb-src http://br.archive.ubuntu.com/ubuntu/ gutsy main restricted
deb http://br.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://br.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted
deb http://br.archive.ubuntu.com/ubuntu/ gutsy universe
deb-src http://br.archive.ubuntu.com/ubuntu/ gutsy universe
deb http://br.archive.ubuntu.com/ubuntu/ gutsy multiverse
deb-src http://br.archive.ubuntu.com/ubuntu/ gutsy multiverse
deb http://br.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src http://br.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu gutsy partner
deb-src http://archive.canonical.com/ubuntu gutsy partner
deb http://security.ubuntu.com/ubuntu gutsy-security main restricted
deb-src http://security.ubuntu.com/ubuntu gutsy-security main restricted
deb http://security.ubuntu.com/ubuntu gutsy-security universe
deb-src http://security.ubuntu.com/ubuntu gutsy-security universe
deb http://security.ubuntu.com/ubuntu gutsy-security multiverse
deb http://br.archive.ubuntu.com/ubuntu/ gutsy-proposed restricted main multiverse universe
deb-src http://security.ubuntu.com/ubuntu gutsy-security multiverse

Feito isso, atualize usando apt-get update.

Bom, agora vamos melhorar algumas funcionalidades. É muito importante instalarmos os codecs multimídia para que o Ubuntu consiga tocar diversos formatos de arquivos como MP3, MP4, DivX, Xvid, Real Player, Quick Time, etc. Para isso, abra o Synaptic e instale os seguintes pacotes:
gstreamer0.10-ffmpeg gstreamer0.10-gl gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse libxine-extracodecs w32codecs

Os plugins permitem acréscimo de recursos ao seu Ubuntu Linux. Os mais importantes são o Flash Player 9, Java e suporte a vídeos dentro do Firefox. Para instalá-los vamos seguir os passos abaixo:
- Flash Player: Para instalar o Flash Player, abra o Synaptic e instale os pacotes flashplayer-nonfree e flashplugin-nonfree.

Agora vamos instalar alguns pacotes:
vlc = media player
lastfm = radio online
amule = emule
amsn = msn
skype = skype
supertux, superkart = jogos (não necessitam de placa 3D).
inkscape, digikam = imagens
k3b = gravador de cd dvd
k9copy =ripador
xmms = winamp
Java = Java
Real Player = Radio on-line (necessário baixar do site do desenvolvedor)
outros que talvez sejam interessante instalar: xchat, wine, cedega, kaffeine

Você deve estar se perguntando 2 coisas:

1 – Por que esses programas não vem instalados no ubuntu ?
Por que alguns deles, utilizam bibliotecas compatíveis com o KDE e o ubuntu utiliza o gnome como ambiente gráfico. Dependendo do caso, alguns programas podem deixar o sistema mais lento, ja que o ubuntu irá ter que carregar bibilotecas que não são nativas de seu sistema (mas isso não é uma regra).

2 – Não tem alguma distro que ja venha “pronta” para utilizar, sem ter que ficar reconfigurando ?
Sim, a que eu acho a mais completa é o Kurumin 7. Muitas vezes não damos valor para coisas que são brasileiras e ficamos batendo cabeça atras de coisas gringas.

Lembre-se que as dicas acima, eu fiz, baseado no que me fez falta ao instalar o Ubuntu 7.10. Pode ser que ele ja tenha alguns programas semelhantes, porém, isso é questão de gosto. Caso você tenha alguma sugestão ou crítica a respeito desse artigo, pode postar nos comentários :-) .

my_screenshot

Campanhas que eu apoio

touro.jpg

Começando a sessão de atualizações e restruturação aqui do blog, resolvi começar por 2 campanhas que eu achei bem interessante. A primeira delas, é Eu torço pro touro, criada no blog Verdade Absoluta. Acho que a imagem da campanha já é bem auto explicativa :D

gato

A outra, e que também gostei bastante é de adoção de gatos. Nesse site, ele doam gatos (filhotes e adultos) que foram abandonados. Gostei bastante da iniciativa, principalmente por doarem eles, independente de raça ou não. Por que as pessoas tem mania de ter que ter um gato de “marca” e pagarem R$ 500,00, R$ 1.000,00 ou mais para poder ter um gato, quando poderiam estar ajudando outros que realmente precisam, e são praticamente de graça.
Eu disse que são praticamente de graça, por que, na hora que você vai adotar algum, é necessário contribuir com o simbólico valor de R$ 80,00, que são usados para despesas de alimentação e veterinário com novos gatos que são encontrados.

Reestruturação do Blog

Esse blog tem andado parado ultimamente. Esse foi um dos motivos que eu decidi reestruturar o blog. Além de eu ter pouco tempo para criar artigos novos sobre linux, minha vida não se resume somente a linux. Tenho muitas outras coisas que eu gosto de fazer, e gostaria de postar aqui, além de linux, SL e novas tecnologias.
Com isso, esse final de semana, estarei fazendo algumas modificações para melhor, que logo vocês irão notar. O There’s no place lik 127.0.0.1 deixará de ser um blog somente sobre linux e passará a englobar outros assuntos que eu gosto e acompanho.
That’s all folks !

Segurança Efetiva no SSH

Quem nunca teve uma tentativa de invasão no servidor através do ssh ? Acredito que são raros os casos que não tiveram alguém tentando se conectar no ssh sem ter sido “convidado”. Pensando nisso, resolvi postar aqui apenas 2 dicas de segurança, que apesar de simples, ajudam muito, além de aproveitar e dar uma atualizada no site :D .
1 – Edite o arquivo sshd_config (geralmente dentro de /etc/ssh/) e modifique as seguintes linhas:

Port 2756
Protocol 2

Explicando:

Port: Informe qualquer número entre 1024 e 65535 (evite usar portas já usadas por outros serviços, senão não funcionará nem o SSH, nem o serviço com a mesma porta)

Protocol: Use o 2, que é mais seguro que o 1

2 – Uma outra dica, que eu ainda não conhecia, e achei extremamente útil foi essa abaixo. Ainda dentro do arquivo sshd_config altere as seguintes linhas:

LoginGraceTime 1m
MaxStartups 3:50:6

Explicando:

O primeiro parâmetro informa que a conexão será cortada caso fique inativa por 1minuto.

O segundo quer dizer que depois de 3 tentativas não autenticadas, 50% das conexões do IP são recusadas e quando o número de de tentavivas chegar a 6 todas as tentativas de conexões do IP serão recusadas.

Pronto, rápido, fácil e muito útil. Mas veja bem, isso não significa que seu ssh está livre de invasões. Apenas esta um pouco mais seguro.

OBS: Não se esqueça de reiniciar o serviço ssh para que as alterações tenham efeito.

Finalmente foi descoberto o problema dos aeroportos no Brasil, bem como sua solução. Apenas não sabemos se a solução vai ser empregada ;-) .

aerowin.jpg

Fonte: Desciclopedia
(obs: Desciclopedia também é cultura ;p)

Apagando Backups Antigos

Muitas vezes, ao criar um backup, esquecemos de criar um comando para que limpe os backups mais antigos. Nessa dica, estou mostrando uma maneira rápida e fácil de garantir que os backups antigos sejam excluídos automaticamente do servidor. Para isso, basta usar o comando:

find /home/backup/bkp_teste* -ctime +5 | xargs rm -f

traduzindo: Este comando irá procuar dentro do diretório /home/backup/ todos arquivos bkp_teste* que tenham sido criados a mais de 5 dias e irá apagá-los. Porém, para automatizar ainda mais o processo agende ele na crontab do seu servidor de backups. No meu caso, eu programei para o sistema rodar o comando acima, de segunda a sábado, as 23:00 hs. Para isso, digite:

crontab -e = edita a crontab do usuário atual

00 23 * * 1-6 find /home/backup/bkp_teste* -ctime +5 | xargs rm -f

service crond restart ou /etc/init.d/crond restart = reinicia o serviço da crontab

crontab -l = lista as tarefas agendadas da crontab.

TcheLinux em Erechim

logo.gif

Neste sábado, dia 23/06/2007, haverá o evento TcheLinux no instituto Barão do Rio Branco em Erechim – RS. O evento terá diversas palestras nas áreas de Segurança, Administração de Redes, Kernel, Desktop entre outras. Caso alguém tenha interesse de participar, a entrada é apenas 2kg de alimentos (massa, feijão, arroz ou leite em pó). O evento tem capacidade para 500 pessoas, porém ainda há vagas. Quem quiser se cadastrar ou obter mais informações, pode acessar este link.

Esta dica tem objetivo acadêmico. Não me responsábilizo pelo seu uso de maneira incorreta. Steganografia é uma tecnica de criptografia que permite “esconder” informações em um arquivo gráfico ou de audio. Hoje em dia, há cerca de 3% de imagens na internet que contém algo oculto em sua imagem. Há vários programas que utilizam esta tecnica. Aqui irei falar do JPHide e o JPSeek. JPHIDE e JPSEEK são os programas que permitem que você esconda um arquivo em uma imagem do visual do JPEG. Há uns lotes das versões dos programas similares disponíveis na Internet, mas JPHIDE e JPSEEK são especiais. O objetivo de projeto não era simplesmente esconder um arquivo mas fazer isto de tal maneira que é impossível provar que arquivo contém alguma mensagem escondida. Dado uma imagem visual típica, uma taxa baixa da inserção (sob 5%) e a ausência de um arquivo original, não é possível concluir com nenhuma certeza de valor que a imagem contém dados introduzidos. Enquanto a porcentagem da inserção aumenta a natureza estatística dos coeficientes do JPEG difere do “normal” até ao ponto em que levanta a suspeita. Acima de 15% os efeitos começam a tornar-se visíveis ao olho nú. Naturalmente algumas imagens são muito melhores do que outras quando usando com uma informação escondida.

Isto está disponível como uma versão de Linux e windows para interessados testarem essa técnica. Porém a maior parte dos arquivos está em extensão tgz (pacotes slackware) que podem ser encontrados em http://www.software-mirror.com/linuxpackages/Slackware-10.0/Console/jphs/

Arquivos de computadores (em imagens neste caso) contêm áreas não utilizadas ou insignificantas de dados. Steganografia faz exame da vantagem destas áreas, substituindo-as com dados escondidos. Steganografia pode também ser usado para criar marcas d’agua digitais como marcas registradas encaixadas.

Para esconder uma informação em um arquivo jpg, usa-se a seguinte sinta-se:

./jphide /local_da_imagem/imagem.jpg
/local_da_imagem/imagem_renomeada.jpg
/local/arquivo_com_mensagem_a_”esconder”

nesta parte, ele irá pedir para que você insira uma senha na nova imagem. É obrigatório a digitação de uma senha.

Para “visualisar” informações contidas no arquivo anterior, usa-se o seguinte comando:

./jpseek /local_onde_esta_o_arquivo/arquivo.jpg
/local_onde_desimcriptara_o_arquivo/arquivo.jpg

ao digitar este comando, ele pedirá uma senha, que deve ser a senha que foi inserida pelo jphide.

Essa tecnica ainda é um assunto relativamente novo e pouco conhecido, não havendo ainda muito material disponível na internte.

Postagens Antigas »