VPS : logwatchの導入

VPS : logwatchの導入

0
2016/05/16 付録を追記

Serversman@VPSに簡易ログレポートのためのlogwatchを導入する。

(※以下のコマンドではsudoを省略している)
  1. MTAであるSendmailを停止
    1. service sendmail stop
  2. MTAとしてPostfixをインストール
    1. yum install postfix
    2. chkconfig postfix on
    3. service postfix start
  3. MTAを切り替える
    1. alternatives --config mta
  4. aliasにメールアドレスを設定(root宛てのメールを全てUSER_NAMEに転送)
    1. vi /etc/aliases
      1. root: USER_NAME
      2. 【挿入】USER_NAME: MAIL_ADDRESS
    2. :wq
    3. newaliases
  5. logwatchをインストール
    1. yum install logwatch
  6. logwatchの設定
    1. vi /etc/logwatch/conf/logwatch.conf
      1. Detail = High OR Med OR Low OR 0-10
      2. MailTo = USER_NAME
    2. :wq
  7. Cronの確認
    1. ll /etc/cron.daily
  8. logwatchの動作確認
    1. logwatch --mailto root

付録

筆者の環境では、自ドメイン宛てのメールをGoogle AppsのGmailに受信している。上記の設定ではこのVPSサーバからの送信アドレスはローカルドメイン(@HOST_NAME.localdomain)となるため、迷惑メールと判定される場合がある。

Gmailにて、from:@HOST_NAME.localdomain を条件に、処理を「迷惑メールにしない」と設定したフィルタを作成しておくことを推奨する。

リファレンス

防災・災害対応リンク集(2016/5 暫定版)

防災・災害対応リンク集(2016/5 暫定版)

0
2016/05/22 更新

暫定まとめ。

備える

速報

事後対応

企業・団体


リファレンス

VPS : ServersMan@VPSサーバの初期設定

VPS : ServersMan@VPSサーバの初期設定

0
2016/05/14 hostsおよびip6tablesの設定を追記
2016/05/22 SSH Port番号の変更を追記

ServersMan@VPSを新規契約したので初期設定のメモ。

Web申込み完了から10分程度で環境が構築され、アクセス可能となる。
  1. SSHログイン
    1. ssh -l root -p 3843 HOST_IP
  2. rootユーザのパスワードを変更
    1. passwd
  3. 一般ユーザを追加
    1. useradd USER_NAME
    2. passwd USER_NAME
  4. "新しい"(別の)ターミナルウィンドウを開き、追加したユーザでSSHログイン
    1. ssh -l USER_NAME -p 3843 HOST_IP
  5. ログインに成功を確認した後、rootでログインしている(3)のセッションを切断
    1. exit
  6. (4)のセッションで、root権限に昇格
    1. su -
  7. rootログインできないようsshd_configを編集
    1. vi /etc/ssh/sshd_config
      1. #PermitRootLogin yes
      2. 【挿入】PermitRootLogin no
    2. :wq
  8. sshdを再起動
    1. 【CentOS 7】systemctl restart sshd.service
  9. "新しい"(別の)ターミナルウィンドウを開き、rootでSSHログイン
    1. ssh -l root -p 3843 HOST_IP
      1. Permission denied, please try again.
      2. rootユーザでログインできないことを確認
  10. 管理用ユーザをwheelグループに追加
    1. usermod -G wheel USER_NAME
  11. 確認
    1. id USER_NAME
      1. groups=NNN(XXX), 10(wheel)
  12. wheelグループユーザがsudoを使用できるよう設定変更
    1. visudo
      1. 【コメントアウトを解除】%wheel ALL=(ALL) ALL
    2. :wq
  13. パスを設定
    1. vi .pash_profile
      1. PATH=$PATH:$HOME/bin
      2. 【挿入】PATH=$PATH:/sbin
      3. 【挿入】PATH=$PATH:/usr/sbin
      4. 【挿入】PATH=$PATH:/usr/local/sbin
    2. source .bash_profile
  14. ホスト名をhostsファイルに設定
    1. sudo vi /etc/hosts
      1. 127.0.0.1 HOST_NAME localhost.localdomain localhost
      2. ::1 HOST_NAME localhost.localdomain localhost
    2. :wq
  15. SSHポート番号を変更
    1. sudo vi /etc/ssh/sshd_config
      1. Port SSH_PORT
    2. :wq
    3. sudo sshd -t
    4. sudo service sshd restart
  16. iptablesを設定
    1. sudo iptables -P INPUT DROP
    2. sudo iptables -P FORWARD DROP
    3. sudo iptables -P OUTPUT ACCEPT

    4. sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
    5. sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
    6. sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

    7. sudo iptables -A INPUT -i lo -j ACCEPT
    8. sudo iptables -A INPUT -p icmp -j ACCEPT
    9. sudo iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    10. sudo iptables -A INPUT -p tcp -m tcp --dport SSH_PORT -j ACCEPT

    11. sudo service iptables save
    12. sudo service iptables restart

    13. sudo iptables -v -L
  17. "新しい"(別の)ターミナルウィンドウを開き、SSHログイン
    1. ssh -l USER_NAME -p SSH_PORT HOST_IP
      1. SSHログインできることを確認
    1. ip6tablesを設定
      1. sudo ip6tables -F
      2. sudo ip6tables -X
      3. sudo ip6tables -Z

      4. sudo ip6tables -P INPUT DROP
      5. sudo ip6tables -P FORWARD DROP
      6. sudo ip6tables -P OUTPUT ACCEPT

      7. sudo ip6tables -A INPUT -i lo -j ACCEPT
      8. #sudo ip6tables -A INPUT -p icmpv6 -j ACCEPT
      9. sudo ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
      10. sudo ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      11. sudo ip6tables -A INPUT -p tcp --dport SSH_PORT -j ACCEPT
      12. sudo ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT

      13. sudo service ip6tables save
      14. sudo service ip6tables restart

      15. sudo ip6tables -v -L
    2. 接続または拒否を確認
      1. yumアップデート
        1. sudo yum update
          1. 【注意】CentOS 7環境において、不具合対応のため、instscriptsパッケージはUpdateされないようになっているらしい。instscriptsパッケージのエラーについては無視すること。
          2. CentOS7 yum update 後、VPSサーバーにアクセスができなくなった-  FAQ | 会員サポート:ユビキタスプロバイダ DTI
      2. (続く)

      リファレンス


      Blogger:New Minima Colored Redesign テンプレートを適用

      Blogger:New Minima Colored Redesign テンプレートを適用

      0
      2016/05/08 GitHub管理に移行

      デザインテンプレート「New Minima Colored Redesign」を適用してみる。

      ※注意※

      筆者の環境ではブラウザにAdblock plusを適用しているが、このせいでSNS関係の画像や広告の表示がブロックされるため、表示確認のときは(そもそも自分のブログぐらいは)ブロック解除しておくこと。

      また、テンプレート変更後は、バックアップ>ダウンロードして保存しておくことを推奨。

      [追記] 修正内容をGitHub管理に移行

      [追記] IssueをGitHub管理に移行


      WordPressからはてなブログへのお引越し

      WordPressからはてなブログへのお引越し

      0
      前記事と同じ理由で、このブログとは別のとあるブログ(非公開)については、はてなブログに移行した。

      引越し手順

      はてなブログはWordPressのXMLファイルフォーマットを直接インポートできるようになっている。神か。
      1. WordPress管理画面にて、ツール>エクスポート
        • XMLファイル(WXR形式)が出力される。
      2. はてなブログ管理画面にて、インポート

      付随作業

      こちらも同様に、画像ファイルのパスや自サイト内向けのリンクを修正しなければならない。

      今回は、下記サイトで公開されているRubyスクリプト「wp2hatena」を利用する。これは旧サイトの画像ファイルを自動ダウンロードして、はてなフォトライフに再アップロードし、パス/リンクを自動で書き換えてくれる。神か。(2人目)
      ただし、このスクリプト(Rev. 0.2.0)を使ってみて、以下の点で修正が必要と分かった。
      • 変換される行の、変換部分の前(行頭?)にXMLタグがある場合、XMLタグまでも削除される
      • imgタグを使わない場合、単なる画像ファイルへのリンクだけの場合は、無視される
        • aタグのリンク先画像とimgタグの参照画像が異なる場合、aタグリンク先画像を参照する決め打ちでよいか。理解が必要
      • aタグがhref属性で終了しない(後ろに別の属性がある)場合、無視される
      • タグが大文字で書かれている場合、無視される
      • title属性は考慮されない
      • 外部サイトの画像を参照しているとそれらもDL/ULされる
      • URLエンコード処理を統合したい。複数回実行すると2重エンコードされる

      おまけ

      参考までに、スクリプトの意図せぬ動作でデータが壊れたりした場合(必要な部分が削除されてしまったなど)に、XMLの構文チェックツール「xmllint」を使うと、問題のある場所を探し当てるのに役に立つ。
      Macの場合、xmllintは標準でインストールされているので、そのまま実行できる。

      リファレンス