IT pass HikiWiki - [Memo2016][ITPASS]サーバ交換作業 (tako) Diff

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

[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]

{{toc_here}}

== phase 0

* サーバ交換中は Hiki 上のマニュアルを参照できなくなる
  * 作業者は予めサーバ交換マニュアルを手元に保存した.


== phase 1 (入替え開始)

=== ika, tako のログインユーザの削除, プロセスの削除, サービスの停止

((<[ITPASS2014]サーバ再起動手順>)) を参考に, tako のログインユーザの削除, プロセスの削除, サービスの停止を行った.
機器のアンマウントや再起動までは行わなかった.

== ログインユーザの確認

以下のコマンドでマシンにログインしているユーザ一覧が表示される.

  # w

構築に関係するアカウント以外はログアウトしていることを確認した.

== プロセスの確認

以下のコマンドでプロセスを確認した.

  # ps aux

一般ユーザのプロセスがある場合は

  # kill <プロセスID>

とする. 今回はなかったので, 先へ進んだ.


== サービスの停止

((<[ITPASS2014]サービスの開始・停止>)) を参考に, 以下のサービスを停止した.

* apache2
* bind
* openbsd-inetd
* qmail
* tcpserver

具体的に打ったコマンドは, 以下の通りである:

# systemctl stop apache2
# systemctl stop bind9
# /etc/init.d/openbsd-inetd stop
# systemctl stop qmail
# /etc/init.d/tcpserver stop

== 外部機器のアンマウント

外部機器をマウントしている場合はアンマウントする.

  # umount (機器のパス)

tako ではアンマウントや再起動まではしなくて良いので行わなかった.

== phase 2 (tako の root ログイン許可)

=== tako の root ログイン許可

tako において一時的に root ログインを許可した.
方法は((<[ITPASS2014]root ログインの許可・禁止>))を参考にした.

=== root ログインの許可

((*root ログインの許可はセキュリティ上好ましくない.
必要な作業が終わったら root ログインを禁止する状態に戻すこと.*))

最近の OpenSSH では, デフォルトでは root のログインを許可しないため, 設定を変更した.
/etc/ssh/sshd_config で,

PermitRootLogin no

という部分を

PermitRootLogin yes

に変更した.
さらに, 任意のコマンドを実行出来るように,

PermitRootLogin forced-commands-only

という部分があればコメントアウトした. 2016 年度はなかったので行わなかった.


== phase 3 (ika から tako へ各種データをコピー)

=== ika から tako へ各種設定ファイルをコピー

* ika から tako へ cron の設定ファイルをコピー

ika# scp -p -r /var/spool/cron/crontabs root@tako-itpass:/var/spool/cron/

/var/spool/cron/ 以下のパーミッションと所有者, グループがika と同じになっているか確認した.

* ika から tako へ popauth の設定ファイル /usr/local/qpopper/pop.auth をコピーした.

      ika# cd /usr/local/qpopper/
      ika# cp pop.auth pop.auth.20141126
      ika# scp -p /usr/local/qpopper/pop.auth root@tako-itpass:/usr/local/qpopper/

* tako の /etc/shadow を /etc/shadow.YYYYMMDD (YYYYMMDD は今日の日付) にバックアップした.

tako# cd /etc
tako# cp shadow shadow.20161205


* ssh, diff コマンドを組み合わせて ika と tako の /etc/shadow を比較した.

ika# ssh root@tako-itpass cat /etc/shadow | diff - /etc/shadow

* 上記の出力の結果
tako 側の /etc/shadow に書かれていない UID のうち 1000 ~ 29999 までのものがあるか確認した.


== phase 4 (root ログイン禁止)

=== tako の root ログイン禁止

* /home 領域の rsync が終わっていることを確認した.
* tako に対する root ログインが必要な作業が終わったので,
((<[ITPASS2014]root ログインの許可・禁止>))を参考に root ログインを禁止
した状態に戻した.

具体的には, /etc/ssh/sshd_config の

    PermitRootLogin yes

という部分を

    PermitRootLogin no

に変更したのち,

((*forced の部分を後で確認*))

    # /etc/init.d/ssh restart

として設定を反映した.

((*forced の部分を後で確認*))

== phase 5 (tako, ika の交換: 設定ファイルの変更)
特に作業はなかった.

== phase 6 (tako, ika の交換: ネットワークの再起動)

=== ネットワークの再起動

旧 tako でネットワークを再起動する.

  # /etc/init.d/networking restart

旧 tako のネットワークを再起動したところ時間がかかり, 終わりそうになかった. そこで, /etc/network/interfaces を確認すると, IP アドレスが間違っていたので修正し, 再起動した.

以下からは新 tako のログである.


== phase 7 (サービスの設定変更)
特に作業はなかった

== phase 8 (OS 再起動)
tako の OS を再起動した.

  # reboot

== phase 9 以降
特に作業はなかった