Instalando e configurando o ntpd como um servidor de hora

tux-04-128No Linux o daemon padrão do serviço de NTP é o ntpd, que pode ser configurado para funcionar tanto como servidor de hora, como apenas como cliente.

Geralmente em um ambiente de rede, independentemente do seu tamanho,  é interessante que haja pelo menos um servidor de hora. A configuração de um servidor de hora baseado no ntpd é relativamente fácil e não requer muito conhecimento.

Neste artigo é descrito o processo de instalação e configuração   do ntpd como um servidor de hora.

Atualizando a distribuição

Antes de instalar os pacotes necessários para o funcionamento do ntpd, ou qualquer outro daemon, sempre é interessante atualizar os pacotes que foram previamente instalados, desta forma, garantimos que estamos utilizando os pacotes mais recentes, os quais provavelmente, devem estar livres de vulnerabilidades.

Para atualizar os pacotes instalados, podemos utilizar os comandos abaixo:

apt-get update
apt-get dist-upgrade
apt-get install -f

Instalando os pacotes básicos

Com todos os pacotes atualizados podemos iniciar o processo de instalação do daemon do NTP, para tal podemos utilizar o comando abaixo:

apt-get install ntp ntpdate

 

Configurando o daemon para funcionar como servidor

Com os pacotes instalados podemos iniciar o processo de configuração do cliente. Iniciaremos esta atividade criando um novo arquivo /etc/ntp.conf, para isto execute os comandos abaixo:

mv /etc/ntp.conf /etc/ntp.conf.org
touch  /etc/ntp.conf

Em seguida devemos editar o arquivo /etc/ntp.conf, que deve está vazio, e acrescentar as linhas abaixo:


# Enable this if you want statistics to be logged.
statsdir /var/log/ntpstats/

## -------------------------------------------
#   Servidores de NTP
## -------------------------------------------
#       Arquivo: /etc/ntp.conf
## -------------------------------------------
server a.st1.ntp.br     iburst dynamic
server b.st1.ntp.br     iburst dynamic
server c.st1.ntp.br     iburst dynamic
server d.st1.ntp.br     iburst dynamic
server a.ntp.br          iburst dynamic
server b.ntp.br          iburst dynamic
server c.ntp.br          iburst dynamic
server gps.ntp.br      iburst dynamic

## -------------------------------------------
#  Restringindo o acesso ao servico de ntp
## -------------------------------------------
# VLAN SRE
restrict 192.168.0.0 mask 255.255.255.0

# Protegendo contra  -  NTP Monlist Feature
disable monitoring

Para limitar o acesso ao serviço de NTP, podemos utilizar a primitiva restrict, no arquivo de configuração descrito acima, por exemplo, o acesso ao serviço foi limitado às maquinas da rede 192.168.0.0/24.

Caso o servidor seja utilizado para fornecer a marca do tempo (timestamp)  para mais de uma rede, devemos adicionar a linha abaixo para cada rede; substituindo “xxx.yyy.zzz.kkk” pelo endereço da rede  “aaa.bbb.ccc.ddd” e pela mascara de rede.

restrict xxx.yyy.zzz.kkk mask aaa.bbb.ccc.ddd

Em seguida devemos reiniciar o daemon para ativar o serviço e as configurações.


service ntp restart

 

Depois de reiniciar o serviço podemos utilizar o comando abaixo para testa-lo:


ntpq -p -n

O comando anterior deve gerar uma listagem com todos os servidores com os quais a máquina  está sincronizando sua marca de tempo.

Ainda temos uma ultima configuração a ser aplicada ao novo servidor de hora. O linux possui uma “vulnetavilidade” relacionada ao fornecimento do seu “timestamp” para evitar que a máquina distribua esta informação para máquinas não autorizadas devemos editar o arquivo “/etc/sysctl.conf” e dicionar a linha abaixo:


net.ipv4.tcp_timestamps = 0

Para ativar este ajuste execute comando:


sysctl -p

Com isto finalizamos a configuração do nosso servidor.