古いMacを使って自宅サーバーを構築/その8

前回の
古いMacを使って自宅サーバーを構築/その7 ドメインと紐付け
の続きなので、既にweb上に公開できているという前提で話を進めます。

(<概要>(もくじ)はこちら)


  1. グローバルIPを監視し変化を通知
    • 通知には、Gmail経由でメールを送る方法にします。
      なので、まだ持っていない場合は予め
      以下よりGmailのメールアドレスを取得して下さい。
    1. 「postfix」からGmail経由でメールを送れるようにします。
      1. 「postfix」をインストールします。
        「端末」アプリでコマンドを実行します。
        $ sudo apt install postfix
      2. 「/etc/postfix/main.cf」を作成します。
        $ sudo gedit /etc/postfix/main.cf
        テキストエディターが開きますので、内容を以下のように編集します。
        1. 値を書き込みます。(文字列検索で探すと早い)
          relayhost = 
          relayhost = [smtp.gmail.com]:587
        2. 以下のように書き加えます。
          smtp_use_tls = yes
          smtp_sasl_auth_enable = yes
          smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
          smtp_sasl_tls_security_options = noanonymous
          smtp_sasl_mechanism_filter = plain
          smtp_tls_CApath = /usr/share/ca-certificates/thawte.com/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
        ファイルを保存して閉じます。
      3. 「/etc/postfix/sasl_passwd」を作成します。
        $ sudo gedit /etc/postfix/sasl_passwd
        白紙のテキストエディターが開きますので、
        内容を以下のように書き込みます。
        「user_name@gmail.com」はGmailのアドレスです。
        「pass_word」はそのパスワードです。
        [smtp.gmail.com]:587 user_name@gmail.com:pass_word
        ファイルを保存して閉じます。
      4. 「/etc/postfix/sasl_passwd」の所有者とアクセス権を変更します。
        $ sudo chown root:root /etc/postfix/sasl_passwd
        $ sudo chmod 600 /etc/postfix/sasl_passwd
      5. 「/etc/postfix/sasl_passwd.db」を作成します。
        $ sudo postmap /etc/postfix/sasl_passwd
        コマンド実行後に「ファイル」アプリで存在を確認できます。
      6. 「postfix」を再起動します。
        $ /etc/init.d/postfix restart
    2. 「curl」コマンドをインストールします。
      $ sudo apt install curl
    3. 「mail」コマンドをインストールします。
      $ sudo apt install mailutils
    4. IPアドレスの変化を検出・通知するシェルスクリプトを作成します。
      $ sudo gedit /usr/local/bin/ipcheck.sh
      テキストエディターが開きますので、内容を以下のように書き込みます。
      「user_name@domein」は宛先(受け取る方)のメールアドレスです。
      #!/bin/sh
      newip=`curl -sS inet-ip.info`
      oldip=`cat /usr/local/bin/old_ip.txt`
      if [ "$oldip" != "$newip" ]
      then
      echo "$newip" > /usr/local/bin/old_ip.txt
      mail -s "Current IP Address" user_name@domein < /usr/local/bin/old_ip.txt
      fi
      ファイルを保存して閉じます。
    5. 今作成した「ipcheck.sh」のパーミッションを設定します。
      $ sudo chmod 755 /usr/local/bin/ipcheck.sh
    6. 「/usr/local/bin/old_ip.txt」ファイルを作成しておきます。
      $ sudo gedit /usr/local/bin/old_ip.txt
      内容は何でも構いません。
      今現在のグローバルIPアドレスを記載しなければ、
      試験的にメールが一度送信されます。
      ファイルを保存して閉じます。
    7. 定期的に実行する設定にします。
      $ sudo gedit /etc/crontab
      テキストエディターが開きますので、内容に以下の文を追加します。
      「*/15」の部分が「分」を指定していて、この場合「15分間隔」になります。
      「/usr/local/bin/ipcheck.sh」は、先ほど作成したシェルスクリプトです。
      */15 * * * * root /usr/local/bin/ipcheck.sh
      ファイルを保存して閉じます。

次回予告「その9 外部から実際に攻撃を受けてみる



お気に召しましたら、一票(ワンクリック)下さい。ランキングに参加しておりますゆえ。


人気ブログランキング

Macランキング

ウェブデザインランキング



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です