IT pass HikiWiki - [ITPASS2017]2017年度サーバアップグレードログ(tako) Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

tako-itpass のサーバアップグレード作業ログ

= 経緯
* 対外公開サーバ情報セキュリティチェック監査結果より, tako-itpass に, 重要度 4 以上の潜在的脆弱性が 3 件発見
  * うち 2 件は OpenSSH のバージョンが古いことが原因
  * OS のアップグレードを行うことで対処することになった

= 作業概要
* jessie から stretch へ tako-itpass の OS をアップグレード
* 荻原さん(北大)のアップグレード作業ログに従って作業
  * その他参考資料
    * ((<Debian の公式ページ|URL:https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.ja.html>))
    * ((<2014 年度の作業ログ|URL:https://itpass.scitec.kobe-u.ac.jp/hiki/hiki.cgi?%5BMemo2014%5D%5BITPASS%5D%E3%82%B5%E3%83%BC%E3%83%90%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%28tako%29>))
* 作業日
  * 2018/03/08
* 作業者
  * 高橋, 塩尻

= 作業ログ
== 事前準備
* ネットワークでつないでいる場合, 途中でネットワークが切れても大丈夫なように screen を用いた

# screen

== バックアップ
* 以下をバックアップした
  * /etc
  * /var/lib/dpkg
  * /var/lib/apt/extended_states
  * dpkg --get-selections "*"

# rsync -av /etc ./
# rsync -av /var/lib/dpkg ./
# rsync -av /var/lib/apt/extended_states ./
# dpkg --get-selections "*" >> dpkg_selections

== アップデート
* パッケージをアップデートした

# apt-get update
# apt-get upgrade

== パッケージの確認
=== PIN 確認
* APT の pin 機能で固定しているかどうか確認
  * ファイルがなければ良い

$ ls -a /etc/apt/preferences.d/

* ファイルはなかった

=== ホールドしたパッケージの確認

# dpkg --get-selections | grep 'hold$'

* 確認したところ exim4 関連が残っていた
  * 2014 年度マニュアルに従い, 残したまま作業続行

== パッケージの残骸調査
* 下記コマンドを実行
  * 何も出力されなければ良い

# dpkg -l | awk '/^rc/ { print $2 }'

* 実行した結果, 出力があった
apache2-bin
avahi-daemon
gnome-bluetooth
gnome-nettool
libapache2-mod-dnssd
libapr1:amd64
libaprutil1:amd64
libavahi-core7:amd64
libbind9-90
libdaemon0:amd64
libdns100
libgeoip1:amd64
libisc95
libisccc90
libisccfg90
liblinear1:amd64
liblwres90
libnfsidmap2:amd64
libnss-mdns:amd64
mythes-en-us
nfs-common

* 出力されたので以下のコマンドで削除

# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')

=== 必要なくなったパッケージの削除

# apt-get autoremove
# apt-get autoclean

== アップグレード
=== sources.list の書き換え
* /etc/apt/sources.list 内の jessie の記述を stretch へ変更

# vim /etc/apt/sources.list

=== アップグレード

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

* dist-upgrade で fail2ban に関するエラーによりアップグレードが失敗した
  * エラーメッセージに従い原因を探した
# systemctl status fail2ban.service

* /etc/fail2ban/jail.conf が問題であることが分かった
  * ika-itpass にある同じファイルで置き換えて試した
    * 成功した

=== 再起動

# reboot

=== お掃除

# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
# apt-get autoremove
# apt-get autoclean

=== 再起動後コンソールログイン(CUIログイン)ができるか確認

* ログインできたので以下の作業は行わなかった
* ログインできない場合には以下の作業を行う
  * ((<参考|URL:http://note.kurodigi.com/centos7-cuilaunch/>))
  * lightdm というディスプレイマネージャーを止める

# systemctl list-unit-files
# systemctl disable lightdm.service
# reboot

== OpenSSH のバージョン確認

$ ssh -V

== rsync 失敗への対処

((<[ITPASS2017]rsync エラーへの対処
>))に記述