Ligue para as crianças! O tio Andrey agora conta a história de terror de Natal sobre o NTP (Network Time Protocol).
Há quase dois anos, na segunda-feira, 16 de janeiro de 2017, um bilhete interessante de um estranho chegou ao nosso sistema de relatórios de erros
BitFolk . Sender se apresentou como engenheiro de software líder na NetThings UK Ltd.
Assunto: Pedido NTP no IP 85.119.80.232
Oi
Isso pode parecer estranho, mas preciso configurar o servidor NTP pelo endereço IP 85.119.80.232
.
O que há de tão especial em
85.119.80.232
? Este é o endereço IP de um dos servidores NTP para atender nossos clientes. Algumas semanas antes desse ticket, o servidor também fazia parte do projeto
Pool NTP .
Aqui está a palavra importante "era". No final de dezembro de 2016, retirei os servidores BitFolk NTP do pool público e os bloqueei para pessoas de fora.
Fiz isso porque, por causa do
bug do
Snapchat NTP, uma quantidade incomumente grande de tráfego foi para eles. Na verdade, isso não causou grandes problemas, apenas esse volume de tráfego empurrou informações úteis da base de armazenamento da rede
Jump de tamanho fixo, e eu não queria lidar com isso durante as férias, então apenas desliguei o acesso público ao serviço.
NTP?
Este artigo
apareceu no Hacker News e, em alguns comentários, eles me pediram para explicar brevemente o que é o NTP, então adicionei esta seção não técnica. Se você conhece a tecnologia, pode ignorá-la.
O Network Time Protocol é um meio pelo qual um computador pode usar vários outros computadores, geralmente da Internet em redes completamente diferentes, sob o controle de diferentes administradores, para determinar com precisão o horário atual. Ao usar vários computadores diferentes, alguns deles apresentam resultados imprecisos, outros podem ser quebrados ou comportar-se hostilmente, mas o protocolo pode reconhecer o relógio “errado” e levar em conta apenas o resultado da maioria mais precisa.
Supõe-se que o NTP seja usado em uma ordem hierárquica: o hardware para determinar a hora exata está diretamente conectado a vários servidores: relógios atômicos, GPS etc. Eles são chamados de servidores Stratum 1. Os servidores de segundo nível definem seu tempo nos servidores Stratum 1, eles servem muito mais clientes e assim por diante.
No passado, era difícil encontrar servidores NTP acessíveis. Na sua própria empresa, um ou dois desses servidores podem ser instalados, mas, na realidade, você tinha que consultar pelo menos 3 a 7 servidores e, melhor, de organizações diferentes. Era mais fácil no ambiente da universidade: você podia conversar com colegas e trocar acesso ao NTP. Mas à medida que a Internet cresceu, o número de consultas aumentou, inclusive de empresas comerciais e indivíduos.
O projeto NTP Pool veio em socorro. Por meio de uma interface da Web simples, aqueles que desejam podem adicionar seus próprios servidores NTP ao pool: eles são servidos coletivamente em uma zona DNS comum com alguns meios básicos de balanceamento de carga. Um indivíduo foi autorizado a especificar três nomes do pool e recebeu três servidores NTP diferentes (em constante mudança) de graça.
Supunha-se que as empresas comerciais se aplicariam a uma “zona de fornecedores” separada. Eles transferem uma pequena contribuição para o projeto - e recebem a zona DNS alocada para seu produto, para que os administradores do pool fiquem mais fáceis de direcionar o tráfego.
Infelizmente, muitas empresas não se preocuparam em estudar essas sutilezas e simplesmente usaram a área da piscina comum. NetThings UK Ltd. foi ainda mais longe em uma direção muito errada - e pegou o endereço IP do pool, apenas usando-o diretamente e assumindo que ele sempre estará disponível. De fato, esse serviço gratuito foi doado ao pool compartilhado pelo BitFolk e, devido a inconvenientes temporários, o serviço foi desativado.
Voltando à nossa história ...
Eles querem ... o que?
O principal engenheiro de software continuou:
Recentemente, o serviço NTP foi desativado e estou interessado em saber se há alguma maneira de iniciá-lo novamente no endereço IP especificado. Pelo proprietário atual do endereço IP ou pela migração da máquina atual para outro endereço, para que possamos alugar 85.119.80.232
.
Hmm ...
Entendo que esse é um pedido estranho, mas posso garantir que é sincero.
Não vai funcionar
Obviamente,
85.119.80.232
usado por todos os nossos clientes como um servidor NTP e resolvedor. Peça a todos que reconfigurem para conceder o endereço à NetThings UK Ltd. - isso não é uma opção. Acabei de remover o firewall, para que o
85.119.80.232
a trabalhar novamente na NetThings UK Ltd. até descobrir o que pode ser feito.
Depois, fiz algumas perguntas pertinentes para determinar o escopo dos serviços que precisariam ser fornecidos:
- Quantos clientes você usa este servidor?
- Você conhece os endereços IP deles?
- Quando eles precisam de um servidor NTP e por quanto tempo?
- Eles podem ser forçados a usar o pool corretamente (através da zona do fornecedor)?
Mais fundo na floresta
As respostas para algumas perguntas foram muito decepcionantes.
O servidor é parcialmente usado pelo nosso sistema de produção, onde o RTC foi originalmente instalado. Infelizmente, um número bastante grande de equipamentos (~ 500 unidades com chamadas NTP semanais) funciona no roaming GPRS SIM. Não sei se é possível, neste caso, contar com o endereço IP original do APN para configurar o firewall (vou verificar). Também não podemos atualizar remotamente o firmware nesses dispositivos, porque eles têm uma cota de tráfego de 5 MB por mês. Podemos atualizá-los localmente, mas isso levará meses, não semanas.
Aparentemente, a NetThings UK Ltd produziu termostatos com controle remoto, controladores de iluminação para grandes áreas de varejo, etc. Parece que eles escreveram um dos endereços IP do BitFolk no firmware e esses dispositivos não puderam ser identificados ou atualizados remotamente.
E sim, em qualquer caso, sem uma fonte de tempo externa, os relógios desses dispositivos começarão a mudar visivelmente em duas semanas.
A propósito, eles resolveram o problema com um endereço IP codificado,
aumentando localmente o endereço IP BitFolk localmente em sua fábrica para definir a data / hora de início.Admito que, naquela época, houve uma leve tentação de identificar esses dispositivos, fornecer dados completamente incorretos - e ver se algumas lojas começam a acender e apagar as luzes em um horário estranho do dia.
Weekly ??
As chamadas NTP de nós iniciam coroas semanais sem balanceamento de carga no lado do cliente. Isso resulta em um fluxo de solicitações no mesmo horário todos os domingos, por volta das 19:45.
Sim, eles fizeram cada um de seus dispositivos não identificados bater em um endereço IP codificado por um intervalo de dois minutos, todos os domingos à noite.
O engenheiro de software líder estava muito preocupado que eles causassem o excesso de fluxo que eu mencionei anteriormente, mas assegurei que esse era definitivamente um bug do Snapchat. De fato, seus 500 dispositivos nunca diferiram do ruído de fundo. Aconteceu que meio mil solicitações SNTP são uma carga bastante leve. Eles fizeram isso por mais de dois anos antes que o problema surgisse.
Obviamente, notei a sorte deles de notar rapidamente o problema; caso contrário, tudo poderia terminar como no
caso da Netgear contra a Universidade de Wisconsin [quando os dispositivos da Netgear inundaram o servidor NTP da universidade com solicitações - aprox. trans.].
Eu me sinto muito, muito mal por isso. Sinto muito se causamos seus problemas.
Perdoado. Devo observar que, durante todo esse tempo, foi um prazer trabalhar com um engenheiro líder.
Fizemos um acordo
De fato, o BitFolk fornece aos clientes um serviço NTP por cortesia, este não é um serviço pago. Afinal, quem pagará por isso se houver uma piscina pública? É certo que uma empresa comercial mantenha um pool assinando a zona do fornecedor.
Mas a NetThings UK Ltd. estavam em uma situação difícil, e a proibição de acesso ao servidor NTP causará sérios danos financeiros. Potencialmente, eu poderia pedir muito dinheiro naquele momento, mas senti (sem dúvida, em detrimento do meu bolso) que isso estava simplesmente errado.
Para começar, me ofereci duas horas de consulta para cobrir o trabalho já realizado para fazer alterações no firewall.
Além disso, sugeri pagar uma hora de consultas por mês durante 12 meses para cobrir os custos de continuar operando o servidor NTP. É claro que não passo uma hora por mês mexendo com o NTP, mas um desvio fora do padrão do meu trabalho usual exigia uma certa taxa.
Eu realmente queria observar que isso não é para sempre:
Finalmente, isso é bom. Você parece estar em uma situação difícil no momento e existe uma tentação de cobrar o valor máximo (em qualquer caso, muito mais do que 840 libras + IVA), mas isso me parece injusto. No entanto, o fornecimento de serviços NTP a terceiros não é da nossa conta, portanto esperamos que o contrato termine dentro de 12 meses. Se, eventualmente, você precisar estender esse serviço, isso significa que não cobramos o suficiente e aumentaremos o preço.
Isso parece razoável?
NetThings UK Ltd. de bom grado concordou com tal oferta.
Obrigado novamente pelas informações e ajuda. Você me salvou de uma enorme quantidade de trabalho estúpido e inútil. Temos tempo suficiente para consertar tudo.
Solavancos na estrada
No futuro, conversei com um engenheiro de software líder apenas uma vez. O restante da correspondência foi com a equipe financeira, principalmente porque a NetThings UK Ltd. Não gostava de pagar as contas em dia.
NetThings UK Ltd. ao longo do ano pagou três ou quatro contas atrasadas. Em cada caso, tentei cobrar uma multa legal por atraso no pagamento.
Resultados decepcionantes do ano
Quando o ano de 2017 chegou ao fim, perguntei ao engenheiro de software líder, como está a situação do nosso endereço IP no firmware de seus dispositivos, com que êxito eles resolveram o problema?
Em suma, a maioria dos nossos produtos conseguiu se livrar do uso de um endereço IP fixo. Resta atualizar outro projeto, após o qual a produção de novas unidades com esse firmware será completamente descontinuada. Mas ainda temos cerca de 1.000 unidades em produção que não são fáceis de atualizar: elas continuarão a enviar solicitações NTP semanais para um endereço IP fixo. Portanto, respondendo à sua pergunta: sim, ainda precisaremos do serviço em janeiro de 2018.
Foi um pouco triste, porque há um ano havia "cerca de 500" dispositivos. Apesar de todos os esforços ao longo do ano, o número parece ter dobrado.
Isso por si só é suficiente para aumentar a taxa, o que eu ainda faria devido a atrasos regulares nos pagamentos da parte deles. Por dois meses eu os avisei anteriormente que o preço dobraria.
Você quer discutir?
Cerca de 15 semanas após o relatório dobrar o preço, o diretor financeiro da NetThings UK Ltd. perguntou por que isso aconteceu, enquanto relatava simultaneamente a transferência de um dos pagamentos em atraso:
Data: quarta-feira, 21 de fevereiro de 2018 14:59:42 +0000
Já pagou, mas você poderia explicar por que o preço dobrou?
Fiquei muito feliz em explicar novamente em detalhes por que ela dobrou. Em resposta, o CFO tentou acordar um preço fixo para o ano, com o qual eu concordei, sujeito a pagamento antecipado no ano.
Minha lógica era que o aumento de preço se devia principalmente a pagamentos em atraso da parte deles: eles demoram muito; portanto, se eu salvar o pagamento trimestral, preciso poder cobrar mais, se necessário. Se eles querem garantias, na minha opinião, devem pagar por isso efetuando um pagamento anual.
Como não houve resposta, os pagamentos continuaram trimestralmente.
Esse é o fim da história
Em 20 de novembro de 2018, recebemos uma carta da
Deloitte :
Netthings Limited - Em Administração (“A Empresa”)
Número da empresa: SC313913
[...]
Encerramento da atividade
A empresa parou de operar em 15 de novembro de 2018.
Investigação
Como parte de nossas responsabilidades com o gerente de ativos, estamos investigando quais ativos pertencem à empresa e quais fundos podem ser restaurados aos credores e como a empresa foi conduzida.
E então 21 de dezembro:
De acordo com o parágrafo 51 (1) (b) da Lei de Falências e Insolvências de 1986, o Gerente de Ativos não é obrigado a convocar uma reunião de credores, a menos que a empresa tenha fundos suficientes para distribuir a credores quirografários ou se uma reunião for exigida na forma de SADM_127 por credores quirografários com 10% ou mais do custo da dívida. Não há fundos para distribuição entre credores quirografários, portanto, a reunião não será convocada.
Felizmente, sua única conta não paga era para serviços desde novembro, então tudo foi pago.
Esta é a história da NetThings UK Ltd, um corajoso conquistador da Internet, que pensou que o pool público de NTP é simplesmente parte integrante da Internet e que todos podem usá-lo gratuitamente, basta selecionar aleatoriamente um endereço IP e protegê-lo em milhares de seus dispositivos distribuídos país sem a possibilidade de atualizações remotas.
Infelizmente, essa fé, combinada com a relutância inovadora em pagar pontualmente qualquer coisa, não foi suficiente para manter a solvência.