Memo

メモ > サーバ > 構築: 本稼働前設定

■パッケージ管理システム更新制限
※yum-cronでパッケージ自動更新を行う際、 無条件にすべてをアップデートすると、環境が変わって正しくプログラムが動作しなくなることがある その対策に、サーバ構築完了後に以下の設定を行う ※yum install php-xml など、追加インストールなども行えなくなるので注意 (専用のオプションを使うか、一時的な解除が必要) ※自動更新については以下も注意 「Apache1 → Apache2」「PHP5 → PHP7」のような大きな更新はされない カーネルが更新された場合、OSを再起動しないと変更が反映されない Webサーバなどデーモンとして動作しているものが更新された場合、デーモンの再起動を推奨 ライブラリなど、OSやデーモンから参照されているものが更新された場合、OSもしくはデーモンの再起動を推奨
$ yum -y update … 一旦インストール済パッケージの一括アップデートを行う場合 $ vi /etc/yum.conf … yumの設定ファイルを編集
[main] exclude=gcc* glibc* kde* openssh* kernel* httpd* php* mysql* … [main]部分に除外対象を追加
使用しているプログラミング言語やデータベースが他にもあれば、それも追加しておくといい 例えばRubyを使用している場合「ruby*」も、PostgreSQLを使用している場合「postgresql*」も追加する
$ service yum-cron restart … パッケージ自動更新再起動
yum を使って システムアップデートを行う (自動化も) http://server-setting.info/centos/firststep.html
$ yum -y update --disableexcludes=all … excludeの設定を無視して一括更新する場合
参考:【Linux】 yumのexclude設定の挙動に振り回された話 http://blog.hylogics.com/entry/yum_disableexcludes
■PHP設定調整
※要検証
# vi /etc/php.ini … phpの設定ファイルを編集
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED … エラーの通知内容を調整 display_errors = Off … エラーを画面に表示しない display_startup_errors = Off … PHP起動時のエラーを画面に表示しない log_errors = On … エラーをファイルに記録する error_log = "/var/log/php_error_log" … エラーの記録場所を指定
# service httpd restart … httpdを再起動
※expose_phpもOffにしておくと良さそう エラーを専用ファイルに記録する場合、ログローテートの設定も行う ファイルアップロードサイズの上限が大丈夫かも確認する ※要検証 参考:【logrotate】PHP エラーログでローテーションを!【できました!】 http://oki2a24.com/2013/03/19/set-logrotate-php-error-log/ PHPのエラーログが肥大してPHPが動かなくなった話 http://zapanet.info/blog/item/2489
■Apache設定調整
ロボットのアクセスを許可するか否か考える AWSの場合、ロボットのアクセスで維持費が大きく変わることもある (とは言え、一般的なロボットは弾くべきではない) 不正アクセス対策に、HTTPヘッダも設定しておく 商用環境で設定しておきたいセキュリティ関連 HTTP ヘッダまとめ - A Memorandum http://etc9.hatenablog.com/entry/2018/01/18/215626 ApacheでPHPを使用する場合の.htaccess - Qiita https://qiita.com/refirio/items/a1d5f2675bb853bba23f
■サーバ再起動
緊急でサーバを再起動した時、何らかの問題が発生しないかの確認のために、サーバの再起動を行っておく (サービス自動起動の設定を忘れていた、など) その後、ひととおり動作確認を行う
■緊急対応手段確認
コントロールパネルから直接rootログインできるなど、緊急対策手段が用意されていることがある(さくらVPSなど) いざというときすぐに使えるように、動作を確認しておく
■テスト
本格稼働前のテストについては、Test.txt や Tuning.txt についても参考にする
■AWS
【10分で確認】AWSでやりがちなセキュリティ脆弱性を生み出すアンチパターン集(随時追加・更新) - Qiita https://qiita.com/WebEngrChild/items/7a91783c9172fadf3533
■その他確認事項
リリース前に、以下などについて確認する ・マシンスペックアップ ・可用性向上施策(AWSでのマルチAZなど) ・マシンイメージ作成(AWSでのAMIなど) ・サーバ再起動(各種サービスの自動起動の設定忘れが無いか、監視が反応するか、などの確認を兼ねて) ・メール到達(SPFやKDIMなど) ・SSL設定 ・ログの保存期間(プロバイダ責任制限法での情報開示に応じられるように、3ヶ月以上ログを保存しておく) ・ウイルス対策(ソフトの導入など) ・コンテンツバックアップの仕組み ・データベースバックアップの仕組み ・Zabbixによる監視 ・CloudWatchによる監視(AWSの場合) ・CloudWatchLogsによるログ保存(AWSの場合) ・Basic認証の解除 ・決済やAPIなどのテストモード解除

Advertisement