[ITPASS2017]2017年度サーバアップグレードログ(tako)
tako-itpass のサーバアップグレード作業ログ
経緯
- 対外公開サーバ情報セキュリティチェック監査結果より, tako-itpass に, 重要度 4 以上の潜在的脆弱性が 3 件発見
- うち 2 件は OpenSSH のバージョンが古いことが原因
- OS のアップグレードを行うことで対処することになった
作業概要
- jessie から stretch へ tako-itpass の OS をアップグレード
- 荻原さん(北大)のアップグレード作業ログに従って作業
- その他参考資料
- 作業日
- 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 にある同じファイルで置き換えて試した
- 成功した
- ika-itpass にある同じファイルで置き換えて試した
再起動
# reboot
お掃除
# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }') # apt-get autoremove # apt-get autoclean
再起動後コンソールログイン(CUIログイン)ができるか確認
- ログインできたので以下の作業は行わなかった
- ログインできない場合には以下の作業を行う
- 参考
- lightdm というディスプレイマネージャーを止める
# systemctl list-unit-files # systemctl disable lightdm.service # reboot
OpenSSH のバージョン確認
$ ssh -V
Keyword(s):
References:[[ITPASS]過去の構築・運用ドキュメント] [[ITPASS2017]2017年度サーバ構築マニュアル]