Pour apprendre un peu d’administration de serveur, j’ai mis en place un simple serveur Ubuntu 14.04 sur lequel je gère un site Web personnel. Je l'ai configuré pour installer automatiquement les mises à jour de sécurité, mais je laisse de côté les autres mises à jour. Cela semble fonctionner assez bien. Parfois, lors de la connexion au serveur (avec ssh), je reçois un message disant:
*** System restart required ***
Les fois où cela s'est produit, j'ai simplement redémarré Ubuntu et tout allait bien. C'est ok parce que c'est un site web personnel simple. Ce que je me demande cependant, c’est comment cela fonctionne pour les serveurs Web, ce qui devrait représenter jusqu’à 99,9999% du temps? Ne redémarrent-ils pas et risquent-ils de compromettre la sécurité parce que les mises à jour de sécurité ne sont pas installées (ce que je ne peux pas imaginer)? Ou prennent-ils le temps d'arrêt pour acquis (ce que je ne peux pas imaginer non plus)?
Comment devrais-je gérer cela s'il s'agissait d'un serveur de production très important que je souhaite maintenir en activité? Tous les conseils sont les bienvenus!
[EDIT] Je sais que je peux faire cat /var/run/reboot-required.pkgs
pour lister les paquets qui causent le redémarrage. La commande génère actuellement les éléments suivants:
linux-image-3.13.0-36-generic
linux-base
dbus
linux-image-extra-3.13.0-36-generic
linux-base
mais comment puis-je savoir si les mises à jour sont de petites choses ou si j'ai une faille de sécurité grave si je ne fais pas le redémarrage?
[EDIT2] D'accord, j'ai maintenant combiné les commandes que j'ai trouvées utiles:
xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
Si cela ne produit rien, il ne semble pas y avoir de problèmes de sécurité urgents.
Une dernière question cependant: y low
at-il medium
, et high
les seules possibilités d’urgence, ou existe-t-il plus comme par exemple critical
ou extremelyimportant
?
| grep 'urgency=' | egrep -v '=(low|medium)'
Réponses:
La réponse n’est pas simple car elle dépend des mises à jour effectuées. Si le noyau a eu un grave problème de sécurité, il est conseillé de redémarrer le plus rapidement possible. Si le noyau ne contenait que des correctifs mineurs, le redémarrage pourrait être différé.
Si vous garantissez une disponibilité> 99,9%, vous disposerez presque toujours d'un système en cluster où vous pourrez redémarrer les nœuds un par un sans interrompre le service.
Vous devez donc redémarrer le premier système et le rattacher au cluster. Puis le second et ainsi de suite. Ensuite, le service ne deviendra jamais indisponible.
la source
cat /var/run/reboot-required.pkgs
pour obtenir les packages qui nécessitent le redémarrage. Mais comment savoir s'il ne s'agit que de corrections mineures ou s'il s'agit d'une grave vulnérabilité de la sécurité?aptitude changelog <package>
, voici un exemple de sortie: paste.ubuntu.com/8410798 (Ceci est sur un système Debian, pas Ubuntu, mais cela fonctionnera aussi sur Ubuntu.)xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
(l'ajoutée à la question initiale également), ce qui donne un résultat indiquant quels paquets ont des correctifs hautement urgents. Après cela, les paquets individuels peuvent bien sûr être inspectés. Merci mille fois pour toutes les réponses et idées!addon pour la solution de sujet
J'effectue une vérification similaire pour les «exigences de redémarrage» du système de surveillance zabbix
Je vois 2 problème dans la solution 'Topic':
Ma logique est:
En utilisant la documentation Debian, j'ai trouvé 5 valeurs possibles pour 'urgence' et le fait qu'elle puisse être suivie de caractères égaux ("=") ou en point-virgule (":"). Il peut aussi y avoir des majuscules et des minuscules
Alors je me suis retrouvé avec:
Par conséquent:
reboot_required_check.sh status
renvoie 1 si un redémarrage est requis, 0 sinonreboot_required_check.sh urgency
renvoie le niveau 'd'urgence' le plus élevé ou '0' si le redémarrage n'est pas requisJ'espère que ça aide quelqu'un à gagner du temps;)
la source
Les gros serveurs Web sont redémarrés lorsque le * redémarrage du système requis * apparaît pour des raisons de sécurité.
Mais cela est transparent pour l'utilisateur et le site n'est jamais en panne car les gros serveurs exécutent souvent deux ou trois serveurs qui stockent exactement les mêmes fichiers et affichent le même site. Le premier est le serveur principal tandis que les deux autres sont secondaires et ne sont utilisés que lorsque le serveur principal est en panne.
la source
Big web servers
exécutez les versions personnalisées de Linux. Ils ne verront pas deSystem restart required
dialogue, ils mettront à jour ce dont ils ont besoin pour rester en sécurité. Dans la plupart des cas, bon nombre des mises à jour, voire toutes, peuvent être effectuées lorsque le système est en cours d'exécution (je pense qu'il est même possible de mettre à jour un noyau Linux sur un système en cours d'exécution sans redémarrage).Big web servers
sont exécutés sur des serveurs et VPS dédiés. De ce fait, l’administrateur système a plus de contrôle sur le logiciel. Amazon vous donne-t-il un accès root à votre serveur?freezes execution of a computer so it is the only program running
lors de l’application d’un correctif, il peut donc rester un peu de temps mort (en raison du blocage du processus du serveur Web). C’est là que la réponse de @Uwe Plonus intervient.