De Quais são as regras do iptables para permitir o ntp? :
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT
Além disso, no site do NTP :
... o ntpd requer acesso bidirecional completo à porta UDP privilegiada 123. ...
Minha pergunta é por que? Para alguém não familiarizado com o NTP, isso parece ser uma falha de segurança em potencial, especialmente quando estou pedindo a um cliente meu que abra essa porta no firewall para que meus servidores possam manter o tempo sincronizado. Alguém tem uma justificativa decente que posso dar ao meu cliente para convencê-lo de que preciso desse acesso no firewall? Ajuda é apreciada! :)
Respostas:
Você só precisa permitir as portas do NTP de tráfego de entrada se estiver atuando como servidor, permitindo que os clientes sejam sincronizados com você.
Caso contrário, a existência de um estado NTP determinará automaticamente se o pacote NTP recebido será bloqueado ou permitido por um estado de firewall existente que iniciamos.
iptables -A OUTPUT -p udp --sport 123 --dport 123 -j ACEITAR
iptables -A INPUT -m state --state ESTABELECIDO, RELACIONADO -j ACEITO
Por favor, deixe-me saber se as regras do iptables são adequadas. Não tenho experiência com iptables. Meu cliente NTP permanece sincronizado no meu roteador pfSense com apenas uma regra de permissão de saída porque o pfSense é um firewall com estado.
fonte
NTP requer acesso bi-direcional na porta 123 porque a NTP RFC especifica o seguinte sobre a porta de origem do cliente:
Como a porta de origem do cliente é 123, quando o servidor enviar a resposta de volta, ela será enviada para a porta 123. Naturalmente, para poder receber essa resposta, o cliente deve permitir respostas de entrada na porta 123. Normalmente, as respostas retornariam em alguma faixa de portas efêmeras .
Como Ben Cook mencionou acima, isso é necessário apenas ao lidar com um firewall sem estado, pois um firewall com estado permitiria que a resposta voltasse sem uma regra explícita.
fonte
Eu acho que a melhor solução é habilitar a porta 123 para entrada, apenas para os endereços IP esperados para dar ao servidor o sinal ntp.
Dentro do arquivo de configuração ntp, /etc/ntp.conf, existem os endereços de vários servidores ntp nos quais o servidor deve apontar. Você pode usar o comando de pesquisa para encontrar o ip correspondente para cada endereço.
host -t a 0.debian.pool.ntp.org
Em seguida, você pode adicionar a regra ao firewall do servidor:
iptables -I INPUT -p udp -s 94.177.187.22 -j ACCEPT
... e assim por diante.
Isso pode impedir que qualquer pessoa mal-intencionada danifique seu servidor.
Eu acho que não adianta restringir a saída.
fonte
a comunicação servidor a servidor ntp é a porta 123 de origem e de destino. É mais conveniente permitir explicitamente isso pelo menos para os hosts nos quais você está executando um serviço ntp.
Você pode considerar apenas expor um host externo à Internet para obter tempo de fontes externas. Um serviço ntp interno sincronizado com isso pode ser a fonte de todos os dispositivos. Se esses hosts forem dedicados ao objetivo, a possível exposição será limitada: eles aceitam apenas o tráfego ntp e não armazenam outros dados.
Como alternativa, não use uma rede IP externa. Use uma fonte de rádio como GPS por tempo, por exemplo.
http://www.diablotin.com/librairie/networking/firewall/ch08_13.htm http://support.ntp.org/bin/view/Support/Trou TroubleshootingNTP
fonte