Preparando o sistema
Atualização dos pacotes já instalados:
# yum -y update rpm
# yum -y -v update
Inicialize somente o que interessa:
# chkconfig --list |grep 3:on
# chkconfig "service" on
# chkconfig "service" off
Onde:
- Linha 1 → Retorna na tela quais serviços estão programados para inicializar junto com o S.O;
- Linha 2 → É para caso precise adicionar mais algum serviço, trocando "service" pelo nome do serviço;
- Linha 3 → É para caso precise remover algum serviço, trocando "service" pelo nome do serviço.
Criação de usuário não-root com direito de
sudo:
# useradd user
# passwd user
# visudo
Onde:
- Linha 1 → Adiciona o usuário "user";
- Linha 2 → Altera a senha do usuário "user";
- Linha 3 → Abre o arquivo que contém os usuários habilitados para sudo.
Adicione o usuário criado abaixo do root, deste modo:
root ALL=(ALL) ALL
user ALL=(ALL) ALL
Dificultar o acesso ao root e remover o login do SSH:
# passwd root
# vim /etc/ssh/sshd_config
Obs.: Crie uma senha forte, para que não possam usar
brute force attack.
No arquivo aberto, altere a linha abaixo:
PermitRootLogin no
Instalando o BIND 9
Instalação com a segurança do
chroot e inicialização automática:
# yum –y install bind-chroot
# chkconfig named on
Onde:
- Linha 1 → Instala o BIND com chroot e suas dependências;
- Linha 2 → Adiciona o serviço do BIND (chamado de "named") à inicialização do S.O.
Edição do arquivo de configuração "named.conf"
# vim /etc/named.conf
Altere e/ou adicione as linhas abaixo:
Option {
listen-on port 53 { any; };
allow-query { any; };
allow-transfer { none; };
version "[null]";
Inicie o serviço
named e verifique se está rodando dentro da
jail chroot:
# service named start
# pidof named
Onde:
- Linha 1 → Inicia o serviço de DNS
- Linha 2 → Pede o Process ID do serviço named (o exemplo retornou o 2466)
Exemplo de output do comando
pidof:
2466
# ls -ld /proc/2466/root
Este comando pede para mostrar onde o processo está sendo rodado. Deve aparecer como abaixo:
Output esperado do comando acima:
lrwxrwxrwx. 1 named named 0 Sep 18 12:09 /proc/2466/root -> /var/named/chroot
Configurando zonas
Neste ponto, seu servidor já está funcionando como um
Caching DNS e já está resolvendo nomes de forma não-autoritativa.
Você pode testar com o
nslookup:
# nslookup
> server 127.0.0.1
> www.vivaolinux.com.br
Para um servidor DNS ter autoridade sobre uma zona, esta deve estar incluída no arquivo de configuração "named.conf" e ter um arquivo só pra ela
em
/var/named.
Inserção da zona no named.conf
Imagine que sou dono do
Viva o Linux, e o hospedo dentro do meu bloco de IPs: 177.128.168.0/24 (estes são nomes e números
fictícios):
# vim /etc/named.conf
Adicione as linhas abaixo ao arquivo "named.conf":
; //[final do arquivo named.conf]
// adicionado por mim
zone "vivaolinux.com.br" {
type master;
file "vivaolinux.zone.db"; //entre aspas coloque qualquer nome de
arquivo, mas lembre-se dele
};
// reverso adicionado por mim
zone "168.128.177.in-addr.arpa" IN {
type master;
file "reverse.168.128.177"; //entre aspas coloque qualquer nome
de arquivo, mas lembre-se dele
};