위험한 구식 서버를 물려 받았습니다. 안전하게 업그레이드하려면 어떻게해야합니까?


11

Apticron은 매일 밤 상자에서 실행되며 약 150 개의 업데이트가 필요하다고 알려줍니다. 서버는 진정한 백업없이 상당히 중요한 서비스를 실행하고 있으므로 업데이트를 시작하기가 두렵습니다. 게임을 어떻게 계획해야합니까?

편집 : lsb_release:
배포자 ID : Ubuntu
설명 : Ubuntu 8.04.3 LTS
릴리스 : 8.04
코드 이름 : 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

1
어떤 버전의 Ubuntu가 실행되고 있습니까?
Tarun

설명 : 우분투 8.04.3 LTS
jon_brockman

8
실제로 백업을하라는 지시를받지 않는 답변을 기대하십니까? :-)
Andrea Corbellini

관리 수준에 대한 답변이 더 필요하다고 생각합니다. 백업과 서비스 및 데이터에 대한 정보가 없으면 "LTS (8.04)에서 LTS (10.04)로 LTS (12.04)로 업그레이드 할 수 있어야한다는 것 외에는 특별한 대답이 없습니다. 예, 백업 부분 만 수정하면됩니다. 개인적으로 새로운 설치를 선호하고 새 설치에 데이터를 복사했습니다.
gertvdijk

1
Andrea : 물론 백업을하는 것이 모든 응답의 일부가 될 것으로 기대했습니다. 그러나 그것은 쉬운 부분입니다.
jon_brockman

답변:


16

해당 패키지의 버전에 따라 Ubuntu Hardy 8.04 LTS 인 것으로 보입니다. 5 살이 넘었습니다. 나이에도 불구하고 공식 지원은 2013 년 5 월에 끝났지 만 더 이상 보안 업데이트를받을 수 없으며 이는 문제입니다.

위에 나열된 버전은 2010 년에 발표되었으며 현재 작업의 긴급 성을 강조해야합니다. 이 서버는 여러 원격 익스플로잇에 취약 할 수 있습니다.

당신은 할 수 즉시 (2017까지 지원) 12.04에 현재 위치에서 배포 업그레이드 그러나이 수단의 서비스 중단을 시도하고 일의 휴식을 의미 할 수있다. 12.04에 이르기까지 몇 번의 반복이 필요할 수 있습니다. 지저분한 아이디어 일뿐입니다.

새로 시작하겠습니다. 새로운 서버, 새로운 우분투 설치.

  1. 폭발 할 경우를 대비하여 백업을 작성하십시오. 그렇지 않으면 기존 서버를 그대로 둡니다. 현재이 서버를 사용하는 사람은 다운 타임에 대해 감사하지 않으므로 이전 서버를 떠나는 것은 행복한 동료와 행복한 상사에게가는 길입니다.

  2. 새 서버 (또는 가상 머신이지만 설정이 완료된)에 Ubuntu 12.04 (또는 최신 LTS를 읽을 때마다)를 설치하십시오. 이것이 회사의 많은 서버 중 하나라면 가상화가 잘 작동하는 하드웨어 통합 / 중복 기술을 살펴볼 가치가 있습니다.

  3. 이전 서버에서 작업하는 데 필요한 항목 목록을 작성하십시오. 어떤 웹 사이트에서 실행되고 있습니까? 사람들이 제공하는 서비스는 무엇입니까? 어떤 IP를 사용합니까? IP를 변경할 수 있습니까? 어떻게? 어디? 누가 방해할까요?

    이 단계가 끝나면 당신이해야 할 일을 알려주는 문서가 있어야합니다.

  4. # 3에서 패키지를 설치하되 이전 구성을 단순히 복사하지 마십시오.

    그건 정말 이전 서버에서 이상은 / etc / 포트에 유혹하지만 난 전에 PHP와 비슷한 일을 한 적이 그리고 그것은 나를이 일을 다시 설정합니다. # 3에서 얻은 관찰 내용과 기존 서버를 가지고 놀면서 현대적인 모범 사례를 기반으로 새로운 구성을 새로 만듭니다.

  5. 웹 사이트와 데이터베이스를 복사하십시오.

  6. 테스트하고 수정하십시오. 나는 Tomcat 웹 사이트를 전에 업그레이드 한 적이 없기 때문에 이것이 얼마나 오래 걸릴지 모르겠지만 최소한 그것이 여전히 모든 것을 수행하는지 확인해야합니다.

  7. 작업이 만족 스러우면 기존 서버에서 사람들이 데이터를 사용하고 있다고 가정하면 이전 서버에서 데이터를 다시 복사해야합니다.

  8. 기존 서버의 플러그를 뽑고 바다에 던져 넣습니다. 또는 용도를 변경하십시오. 아마도 고대와 비효율적 일 것이므로

Brendan이 의견에서 언급했듯이, 3 단계와 6 단계 사이에 많은 문서를 생성해야합니다. 수행중인 작업과 왜 작업을 계속 기록하면 30 분 더 오래 걸리지 만 다음에 확실한 계획을 세우십시오. 완료되면 다음에 건너 뛸 수있는 불필요한 단계가 있었을 수 있으므로 결론을 추가하십시오.

또한 이전 소유자와 상사에게 서버 상태에 대한 메모와 누락 된 보안 업데이트가 얼마나 위험하지 않은지에 대한 메모를 남기고 싶습니다. 방해 도구처럼 들리지 않고이 작업을 수행 할 수 있지만 선택 사항입니다.


8
"바다에 던져":)
don.joey

글쎄, 내가 총알을 물고 새 서버를 구축하는 것처럼 들린다. 입력 주셔서 감사합니다.
jon_brockman

2
또한 가상화에 대해 살펴 보겠습니다. 서버를있는 그대로 가상화 한 다음 스냅 샷을 작성하면 이제 백업 및 놀이터가 있습니다. 물건을 사용해보십시오, 성공? 그렇지 않으면 롤백 한 후 다시 시도하십시오. 처음부터 동일합니다. 스냅 샷을 시도하거나 되 돌리십시오.
WernerCD

4
이것은 훌륭한 정보입니다. 내가 추가 할 유일한 것은 4 단계에서 수행 한 작업을 문서화 하여 다음 사람이 더 쉽게 할 수 있다는 것입니다.
Brendan Long
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.