J'ai un serveur privé sur AWS qui a aucun port entrant ouvert au public . Le seul port ouvert est SSH, et il n'est accessible qu'à partir d'autres machines du même sous-réseau.
Cette machine lit les fichiers de S3 sur le réseau. Récemment, elle a cessé de fonctionner parce que l'heure du serveur avait dérivé de plus de 15 minutes et que les demandes adressées à S3 étaient rejetées :
<Code>RequestTimeTooSkewed</Code>
<Message>
The difference between the request time and the current time
is too large.
</Message>
<MaxAllowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds>
La solution la plus simple consiste à installer ntp
mais il faut pour cela ouvrir le port UDP 123. L'UDP étant sans état, les ports d'entrée et de sortie doivent être ouverts.
Comment puis-je mettre à jour automatiquement l'heure du système en utilisant uniquement les connexions TCP initiées par mon serveur ? Existe-t-il un démon standard basé sur TCP comme NTP ? Je me fiche que ce ne soit pas aussi précis : même un décalage de 10 minutes serait acceptable.
Editer le 2 juin 2017
C'est ainsi que le les groupes de sécurité sont mis en place :
-
Inbound
Type Protocol Port Range Source SSH TCP 22 172.31.0.0/16
-
Sortie
Type Protocol Port range Destination All traffic All All 0.0.0.0/0
Il s'agit de la réseau ACL pour le sous-réseau - seulement l'ACL par défaut :
-
Inbound
Rule # Type Protocol Port Range Source Allow / Deny 100 ALL Traffic ALL ALL 0.0.0.0/0 ALLOW * ALL Traffic ALL ALL 0.0.0.0/0 DENY
-
Sortie
Rule # Type Protocol Port Range Destination Allow / Deny 100 ALL Traffic ALL ALL 0.0.0.0/0 ALLOW * ALL Traffic ALL ALL 0.0.0.0/0 DENY
Editer le 2 juin 2017 #2
Très bien, cela fonctionne maintenant sans groupe de sécurité spécial, comme prédit par @Tim. Je pense que je ne l'ai pas testé correctement :
-
ntpdate
n'utilise pas les serveurs de/etc/ntp.conf
Il signalait donc une erreur :aucun serveur ne peut être utilisé, quitter
-
ntpd
n'essaie pas de mettre à jour l'horloge dès qu'il démarre ; il attend environ une minute.
Tester plutôt avec ntpdate-debian
et sans le port 123 ouvert dans un groupe de sécurité, fonctionne bien ; et ntpd
met à jour l'heure correctement si je le laisse fonctionner pendant un certain temps.