借りて環境設定する際の、part1より進んだ設定の内容です。この記事の内容は必須ではありませんが、設定しておくとよりセキュリティレベルが上がったり、便利に使ったりすることができます。取り上げる内容はこちらです。memofail2banVPSを起動してしばらく放っておくと、ssh接続を試みてくるIPアドレスが出現します。fail2banを導入すると、一定時間以内に一定回数以上ssh接続に失敗したIPアドレスを、一定時間ssh接続できないように弾くことができます。part1の設定の通り、パスワードログインを廃止し、ssh鍵でしかログインできないようにしておけばあまり気にしなくてもいいのですが、fail2banで簡単にBANできるので設定します。/var/log/auth.logで見ることができます。fail2banをインストールします。fail2banfail2banは、sshdなどの各種サービスのログファイルを監視するものです。jailから構成されます。filter各種サービスのログファイルにどのような文字列が表れたら攻撃と判定するか/etc/fail2ban/filter.d/*.confaction攻撃があった場合にどう動作するか/etc/fail2ban/action.d/*.confjailfilterとactionの組み合わせや、actionが発動する閾値(攻撃回数・時間数)などを定める/etc/fail2ban/jail.confsshdを含むメジャーなサービスのfilterやactionはデフォルトで用意されているので、ここではjailのルールを編集するだけで導入ができます。/etc/fail2ban/jail.confはアップデートで書き換えられる恐れがあるそうなので、/etc/fail2ban/jail.localを編集します。/etc/fail2ban/jail.localjail.localがnanoで開いたら、以下の4行を記載して保存します。10findtime秒以内にmaxretry回sshの接続に失敗したIPアドレスは、bantime(秒)の間sshの接続をブロックするという意味です。maxretryは好みに応じて値を書き換えてください。保存したらfail2banを起動し、Ubuntu起動時に自動で起動するようにします。fai2banを実行してから以下のコマンドを入力してください。fail2banうまく起動できていて、かつ自動起動も有効になっていることを確認します。fail2banでfail2banを再起動してください。今現在ブロックされているIPアドレスは、こちらで確認できます。sshdまた、fail2banのログである/var/log/fail2ban.logを見ると、filterやaction、banのログが確認できます。fail2banの基準は当然自分にも当てはまりますので、自分も接続に失敗するとssh接続ができなくなります。自分が引っかかった場合は、ConoHaのWebのコンソールからログインし、以下で解除することができます。restartsSMTPsSMTPとはメール送信専用(受信はできない)クライアントです。自前でSMTPサーバを用意せずに外部のSMTPサーバを使ってメールを送信する仕組みであり、Postfixなどより導入が簡単です。Gmailなどの既に持っているメールアドレスを使ってVPSからメールの送信をしたいという場合に役に立ちます。後述のlogwatchでメールを送信する際に使えます。ssmtp設定ファイルの/etc/ssmtp/ssmtp.confを編集します。/etc/ssmtp/ssmtp.conf以下はGmailを使って送信したい場合の例です。イコールの右辺は自分のメール環境に合わせてください。root=postmastermailhub=smtp.gmail.com:587rewriteDomain=gmail.comhostname=gmail.comFromLineOverride=YESUseSTARTTLS=YESAuthUser=[YOUR_GMAIL_ACCOUNT_NAME]@gmail.comAuthPass=[YOUR_GMAIL_LOGIN_PASSWORD]AuthMethod=LOGINTLS_CA_File=/etc/pki/tls/certs/ca-bundle.crtcronのエラー出力などのroot宛に送られるメールは、1行目のrootの行に書いた宛先に送られます。デフォルトはpostmasterです。保存したら送信テストをしてみます。以下の通り、インタラクティブにメールを書くことができます。Toで書いたアドレス宛にメールが届けば成功です。書き終わったらCtrl+Dで送信logwatchログを取って1日に1回メールで送ってくれます。ssmtpでsSMTPをインストールしておいてください。logwatchデフォルトの設定は/usr/share/logwatch/default.conf/logwatch.confです。これを/etc/logwatch/conf/logwatch.confにコピーし、/etc/logwatch/conf/logwatch.confを編集することにします。rootと書かれた行があるので、rootを受信したいメールアドレスにします。rootのままにしている場合、sSMTPを導入済で、かつ/etc/ssmtp/ssmtp.confのrootに何らかのメールアドレスを書いていると、そのメールアドレス宛にメールが送られます(logwatchがrootにメールを送り、sSMTPがroot宛のメールを転送するから)。保存したら、logwatchのテストを行います。以下の2行を順番に実行します。1行目ではコンソールにログが表示され、2行目ではメールが届けば成功です。/var/cache/logwatchすると正しく動作しました。651.なお、毎日1回logwatchからメールが届くようになります。いうのも、/etc/cron.daily/00logwatchに以下の通り記述されているからです。mailをコメントアウトするとメールが送られなくなります。落穂拾いタイムゾーンをJSTに変更タイムゾーンはデフォルトではUTCになっていることがあります。以下の通りJSTに変更することができます。dateコマンドかtimedatectlコマンドで今の時刻を確認します。JST、あるいはAsia/Tokyoと書いてあればタイムゾーンはJSTになっています。UTCなどと、JST以外の設定になっていたら下記でJSTに変更します。Asia/Tokyo再度dateコマンドかtimedatectlコマンドを実行し、JSTかAsia/Tokyoとあれば成功です。デフォルトのシェルを変更デフォルトではshが使われていますが、bashに変えたいという場合は以下の通りコマンドを打ちます。bashのパスを調べます。bash例えば/usr/bin/bashと表示されたら、chshで以下の通り変更します。/usr/bin/bash再ログインするとbashに変わっているはずです。sysstatCPU使用率やメモリ使用量などの情報をリアルタイムで表示したり、過去の値を後から確認するのに使えます。sysstatインストールできたら、リアルタイムの情報を確認してみます。日付]に保存されています。-rとコマンドを打ってみると、過去のシステム使用状況の情報が見られます。ベンチマークを取るUnixbenchシステムのパフォーマンスを測定するベンチマークです。cloneしてビルドします。byte-unixbench/UnixBench./Run数十分ほど待つとベンチマークの結果が表示されます。Speedtest回線速度を測定するものです。Ooklaが提供しているCLIツールを使います。こちらのインストール方法の通りインストールして実行します。gihyo.jp不正アクセスからサーバを守るfail2ban。Anubis.suzuna。