Giter Club home page Giter Club logo

setup-centos's Introduction

このスクリプトは何?

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>

setup タスク

初期セットアップ時に推奨される設定の変更及びツールのインストールを行う。

$ fab setup

主なセットアップ内容は以下のとおり。

  1. 作業用ユーザの作成とsu/sudo権限の付与
  2. 設定ファイルの自動バージョン管理(etckeeperのインストール)
  3. SSHの設定:ポート変更/公開鍵認証の設定/パスワードログイン禁止/rootログイン禁止
  4. iptables(ファイアウォール)の設定
  5. システムの最新化とyum-cron導入による自動更新
  6. IPv6と不要サービスの停止
  7. ログ監視ツール(logwatch)の導入

setup_all タスク

setup タスクの内容に加え、セキュリティ系ツールのインストールを行う。

$ fab setup_all

インストールされるセキュリティ系ツールは以下のとおり。

  1. fail2ban
  2. Clam AntiVirus
  3. Rootkit Hunter
  4. Tripwire

sakura タスク

さくらのVPSでネットワークの通信速度が出ない時に実行する。

$ fab sakura

他のタスクとの併用も可能。

$ fab sakura setup
$ fab sakura setup_all

setup_min タスク

最低限のセットアップのみを行う。

$ fab sakura_min

主なセットアップ内容は以下のとおり。

  1. 作業用ユーザの作成とsu/sudo権限の付与
  2. 設定ファイルの自動バージョン管理(etckeeperのインストール)
  3. SSHの設定:ポート変更/公開鍵認証の設定/パスワードログイン禁止/rootログイン禁止
  4. iptables(ファイアウォール)の設定
  5. システムの最新化とyum-cron導入による自動更新

install_security_tools タスク

セキュリティ系ツールのインストールのみ行う。

$ fab install_security_tools

setup タスク実行後に、セキュリティ系ツールを導入する時などに使う。

なお、以下の二つのコマンドの動作は同じである。

$ fab setup_all
$ fab setup install_security_tools

参考情報

Fabricのインストール

Mac OS Xの場合

$ brew install fabric
$ fab -V
Fabric 1.10.1

その他の場合はFabric公式サイトなどを参照してほしい。

SSH公開鍵の作成

$ ssh-keygen -t rsa -C "[email protected]"

ライセンス

MIT License, see LICENSE.txt.

setup-centos's People

Contributors

tmknom avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.