CentOSをコマンド一発でセキュアにセットアップするスクリプト
CentOSの環境構築を高速化するため、Fabricのスクリプトとして提供する。
さくらのVPSで標準OSをインストールした場合に、最適化されている。
CentOSであればある程度流用が可能と思われるが、未検証なので注意すること。
FabricのインストールとSSH公開鍵の作成は事前に行っておくこと。
$ git clone [email protected]:tmknom/setup-centos.git
$ cd setup-centos
cloneしてきたら、fabfile.pyをテキストエディタで開いて編集する。
$ vi fabfile.py
以下の項目は必ず変更すること。
- 作業用ユーザ名:USER_NAME
- 作業用ユーザのパスワード:PASSWORD
- 接続先のVPSサーバのIPアドレス:env.hosts
次の項目も変更をすることを推奨。
- rootのメールアドレス:ROOT_MAIL_ADDLESS
- SSHのポート番号:SSH_PORT
提供しているFabricのタスクを実行する。
$ fab <task_name>
初期セットアップ時に推奨される設定の変更及びツールのインストールを行う。
$ fab setup
主なセットアップ内容は以下のとおり。
- 作業用ユーザの作成とsu/sudo権限の付与
- 設定ファイルの自動バージョン管理(etckeeperのインストール)
- SSHの設定:ポート変更/公開鍵認証の設定/パスワードログイン禁止/rootログイン禁止
- iptables(ファイアウォール)の設定
- システムの最新化とyum-cron導入による自動更新
- IPv6と不要サービスの停止
- ログ監視ツール(logwatch)の導入
setup タスクの内容に加え、セキュリティ系ツールのインストールを行う。
$ fab setup_all
インストールされるセキュリティ系ツールは以下のとおり。
- fail2ban
- Clam AntiVirus
- Rootkit Hunter
- Tripwire
さくらのVPSでネットワークの通信速度が出ない時に実行する。
$ fab sakura
他のタスクとの併用も可能。
$ fab sakura setup
$ fab sakura setup_all
最低限のセットアップのみを行う。
$ fab sakura_min
主なセットアップ内容は以下のとおり。
- 作業用ユーザの作成とsu/sudo権限の付与
- 設定ファイルの自動バージョン管理(etckeeperのインストール)
- SSHの設定:ポート変更/公開鍵認証の設定/パスワードログイン禁止/rootログイン禁止
- iptables(ファイアウォール)の設定
- システムの最新化とyum-cron導入による自動更新
セキュリティ系ツールのインストールのみ行う。
$ fab install_security_tools
setup タスク実行後に、セキュリティ系ツールを導入する時などに使う。
なお、以下の二つのコマンドの動作は同じである。
$ fab setup_all
$ fab setup install_security_tools
Mac OS Xの場合
$ brew install fabric
$ fab -V
Fabric 1.10.1
その他の場合はFabric公式サイトなどを参照してほしい。
$ ssh-keygen -t rsa -C "[email protected]"
MIT License, see LICENSE.txt.