[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: BIND 9



Olá Ronaldo... tudo blz?

Cara, é o seguinte, manuais e howtos sobre linux, aplicativos open
source entre outros existem aos montes. O que você deve saber analisar é
se eles foram escritos baseados em experiência do usuário ou como
referência confiável (sites oficial do aplicativo, consultores etc..).

Bom, com relação ao bind, o artigo que você leu se precipitou ao relatar
que você *precisa* desinstalar o bind9 que acompanha o debian (binary
package - .deb) para poder fazer chroot (esse é o nome técnico para o
que vc chamou de "in jail").

Certo, eu estou escrevendo um artigo que em breve publicarei sobre
bind9+chroot no debian.

Mas afinal, o que é chroot? "In Jail"? o quê significa? 

Bom, todos os serviços (daemons) que rodam no Linux possuem um usuário
que o executa. No caso do debian aqui vão alguns exemplos: 
www-data -> apache
mysql -> mysqld
entre outros...

Agora imaginem se o software que está sendo executado num sistema
público (disponível na internet) possui um bug, ou uma vulnerabilidade
de segurança. Se um atacante conseguir "explorar" esta vulnerabilidade e
conseguir "derrubar" o aplicativo ele (através de outros métodos)
conseguirá acessar o sistema de arquivos de seu servidor. Seja como root
ou como o usuário que "roda" o serviço. Assim ele poderia navegar no seu
filesystem inteiro, buscar por arquivos com permissões erradas, e
conseguir, eventualmente, escalar privilégios para se tornar root.
O chroot() é uma chamada de sistema (que provém do kernel) que ENJAULA o
aplicativo a um determinado diretório, tornando este o seu diretório
raiz. Explicando. 

No caso do bind, o daemon de inicialização tem uma opção (-t) que indica
qual o diretório para se fazer o chroot(). Por exemplo, se eu rodar o
named dessa maneira: "bash# named -t /var/lib/named", ele irá fazer com
que o named execute "bash# chroot /var/lib/named" e somente depois
inicialize suas configurações. Assim o "/" para o named será o diretório
/var/lib/named. Entao o "/etc/" para o named neste caso seria o
diretório "/var/lib/named/etc". Por isso que para o chroot é necesário
configurar uma "árvore" personalizada dentro do diretório para onde se
vai fazer o chroot. Entao, voltando ao caso do atacante, imaginemos
agora que ele conseguiu derrubar o bind e entrar no servidor. Ele não
conseguirá enxergar nada acima do "/var/lib/named". Afinal ele nem tem
como saber (ter tem, mas com bons conhecimentos) que ele está num
chroot. Assim o máximo que vai acontecer é o bind parar.. e isso nao
comprometerá mais nenhum recurso do servidor. =)

Bom, isso é uma rápida e básica descrição do que é o chroot. Obs: Nunca
vi falhas no chroot, afinal, para burlar um sistema em chroot é
necessário que haja um bug no kernel.

No site www.tldp.org existem dois how-to interessantes nos quais me
baseei para escrever o artigo que em breve estarei publicando.
DNS-HOWTO e BIND9+CHROOT (leitura recomendada). Mas o de chroot se
refere à compilação do bind a partir dos fontes. O meu artigo trará a
configuração específica ao debian :) .

Bom, espero ter esclarecido alguns detalhes.

Leia o DNS-HOWTO e configure *todo* o seu sistema. Não se preocupe com o
chroot neste momento. Configure o DNS e depois te ajudamos a colocar o
chroot pra funcionar.

Falowz

Burnys


 


Em Sex, 2004-05-07 às 13:14, Ronaldo escreveu:
> Galera alguem ai tem um manual ou Howto de como configurar o bind 9 no
> debian,
> dei uma pesquisada no google e achei ums artigos que inclusive me deixaram
> mais intrigado
> o arquivo que achei fala em desinstalar o bind que pre instalado e baixar o
> fonte e eu mesmo compila-lo
> para que eu faça o procedimento de "jail"  engaiolamento do bind por
> segurança..
> alguem ai poderia me explicar esse esquema de engaiolamento "in jail"
> atualmente fiz o senguinte passo no meu debian
> apt-get install bind
> parece que criou a seguinte estrutura /var/cache/bind/  e  /etc/bind  ate ai
> blza ,
> ai que to com duvida a respeito da configuração e do artigo que li sobre o
> "in jail"
> dos serviços do bind como funcionam como devo configurar...etc
> blza espero que tenham entendido a minhas duvidas e que possam me ajudar
> na verdade eu to querendo aprender como configurar um servidor no debian
> tipo
> um web server com o apache dns mysql  e cia
> alguem sabe aonde posso encontrar um material legal a respeito ?
> 
> 
> Agradeço desde já
> 
> 
> Um abraço
> Ronaldo
> ICQ 102691933
> www.uailinux.com.br
>         Uai - Linux
> O linux com sutaque do interior
> 
-- 
Burnys <burnystw@yahoo.com.br>



Reply to: