J'ai hérité d'un serveur dangereusement obsolète. Comment est-ce que je prévois de le mettre à jour en toute sécurité?

11

Apticron fonctionne tous les soirs sur la boîte et me dit que j'ai environ 150 mises à jour à faire. Le serveur exécute plusieurs services importants sans véritable sauvegarde, j'ai donc peur de commencer la mise à jour. Comment dois-je planifier cela?

Edit: lsb_release:
ID du distributeur: Ubuntu
Description: Ubuntu 8.04.3 LTS
Version: 8.04 Nom de code
: hardy

The following packages are currently pending an upgrade:

apache2 2.2.8-1ubuntu0.25
apache2.2-common 2.2.8-1ubuntu0.25
apache2-mpm-prefork 2.2.8-1ubuntu0.25
apache2-utils 2.2.8-1ubuntu0.25
apparmor 2.1+1075-0ubuntu9.3
apparmor-utils 2.1+1075-0ubuntu9.3
apt 0.7.9ubuntu17.6
apt-utils 0.7.9ubuntu17.6
base-files 4.0.1ubuntu5.8.04.8
bind9-host 1:9.4.2.dfsg.P2-2ubuntu0.12
bsdutils 1:2.13.1-5ubuntu3.1
bzip2 1.0.4-2ubuntu4.2
clamav 0.97.8+dfsg-1ubuntu1.08.04.1
clamav-base 0.97.8+dfsg-1ubuntu1.08.04.1
clamav-freshclam 0.97.8+dfsg-1ubuntu1.08.04.1
curl 7.18.0-1ubuntu2.4
dhcp3-common 3.0.6.dfsg-1ubuntu9.3
dnsutils 1:9.4.2.dfsg.P2-2ubuntu0.12
dpkg 1.14.16.6ubuntu4.2
dpkg-dev 1.14.16.6ubuntu4.2
fuse-utils 2.7.2-1ubuntu2.3
gnupg 1.4.6-2ubuntu5.2
gpgv 1.4.6-2ubuntu5.2
grub 0.97-29ubuntu21.2
gzip 1.3.12-3.2ubuntu0.1
klibc-utils 1.5.7-4ubuntu5
krb5-user 1.6.dfsg.3~beta1-2ubuntu1.8
ldap-utils 2.4.9-0ubuntu0.8.04.5
libapache2-mod-fcgid 1:2.2-1ubuntu0.8.04.1
libapache2-mod-php5 5.2.4-2ubuntu5.27
libapache2-svn 1.5.1dfsg1-1ubuntu2~hardy3
libapr1 1.2.11-1ubuntu0.2
libaprutil1 1.2.12+dfsg-3ubuntu0.3
libbind9-30 1:9.4.2.dfsg.P2-2ubuntu0.12
libbz2-1.0 1.0.4-2ubuntu4.2
libc6 2.7-10ubuntu8.3
libc6-dev 2.7-10ubuntu8.3
libc6-i686 2.7-10ubuntu8.3
libclamav6 0.97.8+dfsg-1ubuntu1.08.04.1
libcupsys2 1.3.7-1ubuntu3.16
libcurl3 7.18.0-1ubuntu2.4
libcurl3-gnutls 7.18.0-1ubuntu2.4
libdbus-1-3 1.1.20-1ubuntu3.9
libdns35 1:9.4.2.dfsg.P2-2ubuntu0.12
libdns36 1:9.4.2.dfsg.P2-2ubuntu0.12
libexpat1 2.0.1-0ubuntu1.2
libexpat1-dev 2.0.1-0ubuntu1.2
libfreetype6 2.3.5-1ubuntu4.8.04.10
libfreetype6-dev 2.3.5-1ubuntu4.8.04.10
libfuse2 2.7.2-1ubuntu2.3
libgc1c2 1:6.8-1.1ubuntu0.1
libgd2-xpm 2.0.35.dfsg-3ubuntu2.1
libgd2-xpm-dev 2.0.35.dfsg-3ubuntu2.1
libgnutls13 2.0.4-1ubuntu2.9
libhtml-parser-perl 3.56-1ubuntu0.1
libisc35 1:9.4.2.dfsg.P2-2ubuntu0.12
libisccc30 1:9.4.2.dfsg.P2-2ubuntu0.12
libisccfg30 1:9.4.2.dfsg.P2-2ubuntu0.12
libkadm55 1.6.dfsg.3~beta1-2ubuntu1.8
libklibc 1.5.7-4ubuntu5
libkrb53 1.6.dfsg.3~beta1-2ubuntu1.8
libkrb5-dev 1.6.dfsg.3~beta1-2ubuntu1.8
liblcms1 1.16-7ubuntu1.3
libldap-2.4-2 2.4.9-0ubuntu0.8.04.5
liblwres30 1:9.4.2.dfsg.P2-2ubuntu0.12
libmysqlclient15off 5.0.96-0ubuntu3
libpam0g 0.99.7.1-5ubuntu6.5
libpam-modules 0.99.7.1-5ubuntu6.5
libpam-runtime 0.99.7.1-5ubuntu6.5
libpango1.0-0 1.20.5-0ubuntu1.2
libpango1.0-common 1.20.5-0ubuntu1.2
libperl5.8 5.8.8-12ubuntu0.8
libpng12-0 1.2.15~beta5-3ubuntu0.7
libpng12-dev 1.2.15~beta5-3ubuntu0.7
libpq5 8.3.23-0ubuntu8.04.1
libsnmp15 5.4.1~dfsg-4ubuntu4.4
libsnmp-base 5.4.1~dfsg-4ubuntu4.4
libssl0.9.8 0.9.8g-4ubuntu3.20
libssl-dev 0.9.8g-4ubuntu3.20
libsvn1 1.5.1dfsg1-1ubuntu2~hardy3
libsvn-perl 1.5.1dfsg1-1ubuntu2~hardy3
libtasn1-3 1.1-1ubuntu0.1
libthai0 0.1.9-1ubuntu0.2
libthai-data 0.1.9-1ubuntu0.2
libtiff4 3.8.2-7ubuntu3.16
libtomcat5.5-java 5.5.25-5ubuntu1.3
libwww-perl 5.808-1ubuntu0.1
libxml2 2.6.31.dfsg-2ubuntu1.12
libxml2-dev 2.6.31.dfsg-2ubuntu1.12
libxslt1.1 1.1.22-1ubuntu1.4
libxslt1-dev 1.1.22-1ubuntu1.4
linux-image-2.6.24-32-server 2.6.24-32.107
linux-image-server 2.6.24.32.34
linux-libc-dev 2.6.24-32.107
linux-server 2.6.24.32.34
linux-ubuntu-modules-2.6.24-32-server 2.6.24-32.52
logrotate 3.7.1-3ubuntu0.8.04.1
mount 2.13.1-5ubuntu3.1
mysql-client-5.0 5.0.96-0ubuntu3
mysql-common 5.0.96-0ubuntu3
mysql-server 5.0.96-0ubuntu3
mysql-server-5.0 5.0.96-0ubuntu3
nagios-plugins 1.4.11-1ubuntu5.1
nagios-plugins-basic 1.4.11-1ubuntu5.1
nagios-plugins-extra 1.4.11-1ubuntu5.1
nagios-plugins-standard 1.4.11-1ubuntu5.1
nfs-common 1:1.1.2-2ubuntu2.4
nscd 2.7-10ubuntu8.3
ntp 1:4.2.4p4+dfsg-3ubuntu2.3
ntpdate 1:4.2.4p4+dfsg-3ubuntu2.3
openssh-client 1:4.7p1-8ubuntu3
openssh-server 1:4.7p1-8ubuntu3
openssl 0.9.8g-4ubuntu3.20
perl 5.8.8-12ubuntu0.8
perl-base 5.8.8-12ubuntu0.8
perl-doc 5.8.8-12ubuntu0.8
perl-modules 5.8.8-12ubuntu0.8
php5 5.2.4-2ubuntu5.27
php5-cli 5.2.4-2ubuntu5.27
php5-common 5.2.4-2ubuntu5.27
php5-curl 5.2.4-2ubuntu5.27
php5-dev 5.2.4-2ubuntu5.27
php5-gd 5.2.4-2ubuntu5.27
php5-ldap 5.2.4-2ubuntu5.27
php5-mysql 5.2.4-2ubuntu5.27
php5-sybase 5.2.4-2ubuntu5.27
php5-tidy 5.2.4-2ubuntu5.27
phpmyadmin 4:2.11.3-1ubuntu1.3
postfix 2.5.1-2ubuntu1.4
python2.5 2.5.2-2ubuntu6.2
python2.5-dev 2.5.2-2ubuntu6.2
python2.5-minimal 2.5.2-2ubuntu6.2
python-apt 0.7.4ubuntu7.7
python-libxml2 2.6.31.dfsg-2ubuntu1.12
python-subversion 1.5.1dfsg1-1ubuntu2~hardy3
samba-doc 3.0.28a-1ubuntu4.18
snmp 5.4.1~dfsg-4ubuntu4.4
ssh 1:4.7p1-8ubuntu3
subversion 1.5.1dfsg1-1ubuntu2~hardy3
subversion-tools 1.5.1dfsg1-1ubuntu2~hardy3
sudo 1.6.9p10-1ubuntu3.10
sun-java5-bin 1.5.0-22-0ubuntu0.8.04
sun-java5-demo 1.5.0-22-0ubuntu0.8.04
sun-java5-jdk 1.5.0-22-0ubuntu0.8.04
sun-java5-jre 1.5.0-22-0ubuntu0.8.04
tomcat5.5 5.5.25-5ubuntu1.3
tomcat5.5-admin 5.5.25-5ubuntu1.3
tomcat5.5-webapps 5.5.25-5ubuntu1.3
tzdata 2012e~repack-0ubuntu0.8.04
update-manager-core 1:0.87.33
util-linux 2.13.1-5ubuntu3.1
util-linux-locales 2.13.1-5ubuntu3.1
w3m 0.5.1-5.1ubuntu1.1
wget 1.10.2-3ubuntu1.2
x11-xserver-utils 7.3+2ubuntu0.1
jon_brockman
la source
1
quelle version d'Ubuntu est en cours d' exécution , il?
Tarun
Description: Ubuntu 8.04.3 LTS
jon_brockman
8
Vous attendez-vous vraiment une réponse où vous ne serez pas dit de faire une sauvegarde? :-)
Andrea Corbellini
Je crois que vous avez besoin d'une réponse plus au niveau de la gestion ici. Sans sauvegardes et sans informations sur les services et les données, il n'y a pas vraiment de réponse spécifique à fournir autre que "vous devriez pouvoir passer de LTS (8.04) à LTS (10.04) à LTS (12.04)". Et oui, corrigez simplement la partie des sauvegardes. Personnellement, je préférerais une nouvelle installation, copiez les données sur la nouvelle installation.
gertvdijk
1
Andrea: Je m'attendais bien sûr à ce que faire une sauvegarde fasse partie de chaque réponse. Cependant, c'est la partie facile.
jon_brockman

Réponses:

16

Sur la base des versions de ces packages, cela semble être Ubuntu Hardy 8.04 LTS. Cela fait plus de cinq ans. Malgré son âge, le support officiel n'a pris fin qu'en mai 2013, mais il ne recevra plus de mises à jour de sécurité et c'est un problème.

Les versions énumérées ci-dessus ont été publiées en 2010 et cela devrait souligner l'urgence de la tâche à accomplir. Ce serveur est probablement vulnérable à de multiples exploits à distance.

Vous pouvez tenter des mises à niveau de distribution sur place vers la version 12.04 (qui est prise en charge jusqu'en 2017), mais cela signifie une interruption de service immédiate et peut signifier une rupture. Cela peut également prendre quelques itérations pour arriver à 12.04. C'est juste une idée en désordre.

Je recommencerais. Nouveau serveur, nouvelle installation Ubuntu.

  1. Faites une sauvegarde juste au cas où elle exploserait, mais sinon laissez l'ancien serveur tel quel. Quiconque utilise actuellement ce serveur n'appréciera aucun temps d'arrêt, donc laisser l'ancien en place est votre chemin vers des collègues heureux et un patron heureux.

  2. Installez Ubuntu 12.04 (ou quel que soit le dernier LTS au moment de la lecture) sur un nouveau serveur (ou une machine virtuelle, mais vous avez configuré les choses). S'il s'agit de l'un des nombreux serveurs de l'entreprise, il peut être utile de rechercher des techniques de consolidation / redondance matérielle avec lesquelles la virtualisation fonctionne bien.

  3. Construisez une liste de choses dont vous avez besoin pour travailler à partir de l'ancien serveur. Quels sites Web fonctionnent-ils? De quels services dépendent-ils? Quelles IP utilise-t-il? L'IP peut-il être modifié? Comment? Où? Qui va perturber cela?

    À la fin de cette étape, vous devriez avoir un document vous indiquant ce que vous devez faire.

  4. Installez les packages à partir de # 3, mais ne copiez pas simplement l'ancienne configuration.

    C'est vraiment tentant de porter / etc / over depuis l'ancien serveur mais j'ai déjà fait des choses similaires avec PHP et cela m'a fait reculer de plusieurs jours. Utilisez vos observations de # 3 et de jouer avec l'ancien serveur pour créer une nouvelle configuration basée sur les meilleures pratiques modernes.

  5. Copiez vos sites Web et bases de données.

  6. Testez et corrigez. Je ne sais pas combien de temps cela prendra, car je n'ai jamais mis à niveau un site Web Tomcat auparavant, mais au moins vous devez vous assurer qu'il fait toujours tout ce qu'il est censé faire.

  7. Lorsque vous êtes satisfait que cela fonctionne, vous devrez recopier les données de l'ancien serveur (en supposant que les gens l'utilisent entre-temps).

  8. Débranchez l'ancien serveur et jetez-le dans la mer. Ou réutilisez-le. C'est probablement ancien et inefficace donc ce n'est peut-être pas une mauvaise idée de

Comme Brendan le mentionne dans les commentaires, vous devriez générer une tonne de documentation entre les étapes 3 et 6. Si vous continuez à écrire ce que vous faites et pourquoi pendant que vous faites les choses, cela vous prendra 30 minutes de plus mais cela '' Je vous laisse avec un plan solide pour la prochaine fois. Lorsque vous avez terminé, il peut y avoir des étapes inutiles que vous pouvez ignorer la prochaine fois, alors assurez-vous d'ajouter une conclusion.

Je serais également tenté de laisser au propriétaire précédent et à son patron une note sur l'état du serveur et la dangerosité de la mise à jour de la sécurité. Vous pouvez le faire sans sonner comme un outil interférant mais c'est facultatif.

Oli
la source
8
"jetez-le dans la mer" :)
don.joey
Eh bien, on dirait que je vais mordre la balle et construire un nouveau serveur. Merci pour la contribution.
jon_brockman
2
J'examinerais également la virtualisation - Virtualisez le serveur tel quel, puis un instantané et vous avez maintenant une sauvegarde et une aire de jeux. Essayez des trucs, du succès? instantané, sinon restaurez et réessayez. Pareil pour repartir de zéro. Essayez, prenez un instantané ou revenez.
WernerCD
4
Ce sont d'excellentes informations. La seule chose que j'ajouterais, c'est qu'à l'étape 4, documentez ce que vous avez fait pour que ce soit plus facile pour la personne suivante.
Brendan Long