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

前回の
古いMacを使って自宅サーバーを構築/その4 VisualEditorをインストール
の続きです。
なので、
「Ubuntu 16.04.x LTS 32-bit」で「MediaWiki」の「VisualEditor」が使える状態。
という前提で話を進めます。

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


  1. セキュリティを整える
    これまで構築してきた「MediaWiki」をネット上に公開するために、
    前もってセキュリティを整えます。
    セキュリティを整える前にちょこっとでも公開してしまうと、
    あっという間にハッキングされる可能性がありますから、
    先にしっかりと考えておきましょう。
    なお、
    このページにある事がセキュリティの全てではありませんし、
    普遍的な解ではありません。

    「ここはこうだろ」とか「これが抜けている」という意見もあるでしょう。
    大事なことは、「考える」という事であり、
    このページを読むだけで「思考停止」してしまえば、
    セキュリティは甘くなります。
    また、このページを書いた後に見つかる脆弱性もあれば、その対策もあるでしょう。
    1. 設定の殆どは「端末」アプリからのコマンドで行います。
      管理者権限であり、「root」になれるユーザーでログインしておいて下さい。
    2. ファイアウォールの導入をします。
      1. 「ufw」をインストールします。
        $ sudo apt-get install ufw
      2. IPv6サポートをOFFにします。
        ファヤーウォールの設定ファイル「/etc/default/ufw」を編集します。
        $ sudo gedit /etc/default/ufw
        ファイルの中に、
        IPV6=yes
        ↓という部分がありますので、その「yes」を
        ↓「no」に書き換えます。
        IPV6=no
        ファイルを保存して閉じます。
    3. ポートの取捨選択をします。
      1. まず、現状を確認します。以下のコマンドを実行して下さい。
        $ sudo ufw status
        状態: 非アクティブ
        と表示された場合は、ファイヤーウォールが動いていません。
        • その場合は、以下のコマンドを実行して下さい。
          $ sudo ufw enable
          これで、ファイヤーウォールが有効化されました。
        • もう一度、このコマンドを実行します。
          $ sudo ufw status
          状態: アクティブ
          とだけしか表示されないかもしれません。
          (その場合は、全てのポートが閉じているという事なので問題はない)
          或いは、開いているポートがあれば一覧表示されます。
      2. 慣例的にプロセスが決まっている番号があります。
        今回、MediaWikiをhttpで公開したいので、80番のポートを開けます。
        が、その前に、基本はポートを閉じる設定にしましょう。
        $ sudo ufw default DENY
        これで、全てのポートに対して基本的には閉じておく設定になります。
        (必要に応じて、任意のポートを開ける)
      3. 80番のポートを開けます。
        $ sudo ufw allow 80
        これで、ポート80はOSを再起動しても開く事になります。
        • 必要のないポートは閉じておきましょう。
          例えば、ポート22を閉じるには、以下のコマンドを実行します。
          $ sudo ufw delete allow 22
    4. LAN内で動作確認します。
      (LANの環境が無い場合は読み飛ばして下さい)
      1. LAN内の他のコンピュータから、
        「ndwiki」(MediaWiki)を開いてみます。
        1. 導入したコンピュータのローカルIPアドレスを調べます。
          画面左側のlauncherから「システム設定」を起動し、
          「ネットワーク」をクリックします。
        2. ウインドウ内左側の一覧から、繋がっている通信機器を選択します。
          (私の場合は、Wi-Fiなので「無線」ですね)
          右側に回線の一覧があり、繋がっているものには
          頭にチェックマークと行末に「>」マークが付いています。
        3. その「>」マークをクリックします。
          すると詳細が表示されます。
          「IPv4アドレス」という項目の値を使いますのでメモって下さい。
          (四つの数字がドットで区切られた並び、写真の場合は「192.168.1.7」)
          この数値は、回線に繋ぎ直す度に変わる可能性があるので、
          LANでMediaWikiを運用する場合は固定しておく必要があるが、
          ここでは割愛します。(今は動作確認しかしないので)
        4. LAN内の他のコンピュータから、
          メモったIPアドレスだけで開いてみましょう。
          (この数字の並びをブラウザのURL欄に入力して[return]キーを押す)
          192.168.1.7
          すると、最初の頃に見たものと同じ画面が表示されます。
          LANで繋がっている証拠ですね。
          表示されない場合は、
          1. 同じLAN内につながっているか。
          2. ポート80が開いているか。
          3. 導入したコンピュータで正常に表示されるのか。
          4. デフォルトのドキュメントルート「/var/www/html/」に
            正しい「index.html」が入っているのか。
          それらを確認してみて下さい。
        5. 次に、そのIPアドレスに「/ndwiki」を繋げて
          ブラウザで開いてみます。
          (設定によっては文字列がこれとは違う)
          192.168.1.7/ndwiki
          (URL欄は自動的に「http://192.168.1.7/ndwiki/index.php/メインページ」へ置きかわる)
          導入したコンピュータと同じ画面が表示されれば、問題ありません。
          (もし、正しく表示されない場合は、LANの接続と、ローカルIPアドレスをよく確認して下さい)
    5. セキュリティパッチを適用します。
      • セキュリティホールは、
        公開Webサーバを構成するOS、Webサーバ、Webアプリケーションなど
        全ての構成要素の中に存在する可能性があります。
        攻撃者は攻撃する際に、その脆弱性を突いてくると考えられます。
        したがって公開Webサーバにセキュリティホールを残しておくことは
        非常に危険です。
      • 幸い、Ubuntuでは、
        「ソフトウェアの更新」アプリで殆どのアップデートができます。
        この中に、所謂「セキュリティパッチ」も含まれています。
        サーバを構築した時だけでなく、以後も定期的に実行しましょう。
        毎日一回行うくらいでもいいのですが、
        最低でも週に一度は実施して下さい。
      • デフォルトでは、
        自動的にセキュリティアップデートをする設定になっているようです。
        「システム設定」アプリ→「ソフトウェアとアップデート」の
        「アップデート」タブで
        設定を変える事もできますが、デフォルトのままが良いでしょう。
        但し、
        「Ubuntu 18.04」は、「Mac mini (Mid 2007)」で動かないのに
        アップグレードできてしまうので、注意が必要です。
    6. SSHサーバのセキュリティを設定します。
      • 「Ubuntu 16.04.x LTS」(Desktop)はデフォルトでは、
        SSHサーバーが入っていないようなので、
        必要なければそのままにしておいて構いません。
        以下は、SSHサーバーが必要な場合です。
        • SSHサーバーをインストールするコマンド。
          $ sudo apt-get install openssh-server
        • SSHサーバーをアンインストール(パージ)するコマンド。
          $ sudo apt-get purge openssh-server
        • ユーザーを追加するコマンド。
          (「user_name」という名前で追加する場合)
          $ sudo adduser user_name
        • ユーザーを削除するコマンド。
          (「user_name」という名前のユーザーを削除する場合)
          $ sudo userdel -r user_name
        • ユーザに、sudo権限を付与(sudoグループに所属)するコマンド。
          $ sudo gpasswd -a user_name sudo
        1. 「root」でのSSHログインを禁止します。
          SSHの設定ファイル「/etc/ssh/sshd_config」を編集します。
          $ sudo gedit /etc/ssh/sshd_config
          ファイルの中に、
          PermitRootLogin prohibit-password
          ↓という部分がありますので、その「prohibit-password」を
          ↓「no」に書き換えます。
          PermitRootLogin no
        2. パスワード認証を禁止します。
          SSHの設定ファイル「/etc/ssh/sshd_config」を編集します。
          $ sudo gedit /etc/ssh/sshd_config
          ファイルの中に、
          #PasswordAuthentication yes
          ↓という部分がありますので、その「yes」を
          ↓「no」に書き換え、先頭の「#」を消します。
          PasswordAuthentication no
        3. PAM認証を禁止します。
          SSHの設定ファイル「/etc/ssh/sshd_config」を編集します。
          $ sudo gedit /etc/ssh/sshd_config
          ファイルの中に、
          UsePAM yes
          ↓という部分がありますので、その「yes」を
          ↓「no」に書き換えます。
          UsePAM no
        4. http用のポート80を開きます。
          今回構築しているMediaWikiを単体のコンピューターではなく、
          何かしらのネットワークで利用する場合は、
          http用に(或いはhtpps用に)ポートを開かないといけません。

          そのポートは標準では「80」になります。
          • 以下のコマンドを実行します。
            $ sudo ufw allow 80
        5. SSH用にポート番号を変えて開きます。
          SSHに使うポートは、標準では「22」なのですが、
          当たり前に「22」を開いていると、
          それを狙って激しく攻撃を受ける事があります。
          なので、任意の番号にしておくのが一般的です。
          その場合、自由に使用できるポート番号は、
          49152番〜65535番なので、その中から選びましょう。
          • ここでは仮に「50022」を使うという前提で
            コマンドを紹介します。
            MediaWikiを導入したコンピュータ側では、
            下記のコマンドを実行します。
            $ sudo ufw allow 50022
            これで、ポートは開放されました。
            「50022」をSSHで使えるように設定します。
            SSHの設定ファイル「/etc/ssh/sshd_config」を編集します。
            $ sudo gedit /etc/ssh/sshd_config
            ファイルの上から、4、5行目に
            # What ports, IPs and protocols we listen for
            Port 22
            という部分がありますので、その「Port」に続く数値を
            「22」から「50022」に書き換えます。
            ファイルを保存して閉じます。
          • SSH接続したい、他のコンピュータからは、
            $ ssh ○○○@□□□□□ -p 50022
            (○○○はユーザー名、□□□□□はサーバー名かIPアドレス)
            と、コマンドを実行して接続します。
        6. 設定を弄ったら、sshサービスの再起動をします。
          $ sudo service ssh restart
        7. 開いているポートを確認するコマンド。
          $ sudo ufw status
    7. 「root」アカウントを無効にします。
      • Ubuntuでは、デフォルトで「root」アカウントは無効になっています。
        rootにならずに「sudo」コマンドを利用する事が推奨されています。
        必要なければ、無効のままにしておきましょう。
      • もし、必要な場合は以下のようにして、有効にできます。
        • 「root」ユーザーのパスワードを設定します。
        1. 「root」のパスワードを設定できるのは、
          管理者アカウントだけです。
          管理者アカウントで、以下のコマンドを実行して下さい。
          $ sudo passwd root
        2. ログイン中の管理者ユーザーのパスワードを問われますから、
          入力して[return]キーを押します。
          (入力しても画面には何も表示されませんが受け付けています)
        3. すると、「root」アカウントのパスワードを問われます。
          新しい UNIX パスワードを入力してください: 
          「root」ユーザーに設定したいパスワードを
          入力して[return]キーを押します。
        4. 再度確認のために
          新しい UNIX パスワードを再入力してください: 
          と、問われますから「root」ユーザーに設定したい同じパスワードを
          もう一度入力して[return]キーを押します。
          passwd: パスワードは正しく更新されました
          と、表示されれば成功です。
        • 試しに、「root」でログインしてみましょう。 それには以下のコマンドを実行します。
          $ su root
          すると、「root」のパスワードを求められますから、
          入力して[return]キーを押します。
          正しければ、コマンドプロンプトが以下のように変わります。
          root@□□□□□:/home/○○○#
          「$」ではなく「#」になるのが特徴的ですね。
          あと、真っ白になってしまうので、いささか見辛いです。
          • なので、セキュリティとは関係ありませんが
            プロンプトに色を付けましょう。
          1. テキストエディタのルート権限で設定ファイルを開きます。
            # sudo gedit /root/.bashrc
          2. 何やら沢山記述されているファイルが開きますが、
            その末尾に以下の行を追記します。
            export PS1=’\[\033[01;31m\]\u@\H\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ‘
            そうしたら、保存して閉じます。
          3. 以下のコマンドで変更した設定を有効にします。
            # source ~/.bashrc
            root@□□□□□:/home/○○○#
            という具合に色が付きました。
          4. 「root」ユーザから抜けて元に戻る場合は、以下のコマンドです。
            root@□□□□□:/home/○○○# exit
      • 有効になっている「root」アカウントを無効にするには、
        以下のようにします。
        1. 以下のコマンドを実行します。
          $ sudo passwd -l root
          すると、現在ログイン中のパスワードを求められるので
          入力して[return]キーを押します。
          passwd: パスワード期限切れ情報を変更しました
          と表示されます。
      • 「root」アカウントが無効になっている状態で、
        $ su root
        コマンドを実行しても、パスワードを求められますが、
        入力して[return]キーを押しても、
        su: 認証失敗
        と表示され、ログインできません。
        この状態の方が、セキュリティ的には望まれているのです。
    8. rootになれるユーザを限定します。
      • Ubuntuでは、OSのインストール時に作成したアカウントが
        自動的に管理者権限を持ちますが、
        そのあとで追加したアカウントは、デフォルトでは
        管理者権限を持ちません。
        従って、「sudo」コマンドは使えません。 この状態が、セキュリティ的には望まれます。
      • ですが、後から追加したアカウントにも
        管理者権限を付与する事ができます。
        それには以下のようにしますが、無闇に実施しないようにしましょう。
        1. 下記のコマンドを実行します。
          (例として「user_name」というアカウントが追加されていたとする)
          $ sudo usermod -G sudo user_name
    9. カーネルのセキュリティ設定を確認します。
      • 以下のコマンドを実行して、
        $ cat /proc/sys/net/ipv4/tcp_syncookies
        1
        と表示されればOKです。(デフォルトはこれ)
        もし、「0」だった場合は、設定を変え(戻し)ます。
        1. 設定ファイルを開きます。
          $ sudo gedit /etc/sysctl.conf
          そのファイル内に
          net.ipv4.tcp_syncookies=0
          ↓という部分がある筈なので、値を「1」に書き換えます。
          net.ipv4.tcp_syncookies=1
          そのファイルを保存して閉じます。
        2. このように設定を変更した場合、
          次のコマンドを実行して有効にします。
          $ sudo sysctl -p
    10. 安全なパスワードの設定にします。
      • 安全なパスワードとは、
        他人に推測されにくく、パスワードクラックツール等でも割り出しにくい
        パスワードのことです。
        安全なパスワードには、
        アルファベットの大文字、小文字、数字や記号を含め、
        名前などの個人の情報から推測されないものが望ましいです。
        また、パスワードの文字列は、長くなるほどセキュアになります。
        (ログインする時に面倒だけど)
      • パスワードの変更は以下のコマンドで可能です。
        (仮に、アカウント名は「user_name」とします)
        1. Ubuntu自体のログインパスワードの変更。
          $ sudo passwd user_name
          設定するパスワードを二回問われるので同じものを入力します。
        2. MySQLのログインパスワードの変更。
          (パスワードは「pass」とします)
          mysql> set password for user_name@localhost = password(‘pass‘);
    11. 「PAM」の設定をします。
      • ログインの失敗に、回数制限とロック時間を設けます。
        (デフォルトでは、回数制限もロックも無い)
        1. 「/etc/pam.d/common-auth」ファイルに追記します。
          $ sudo gedit /etc/pam.d/common-auth
          で、開いたら、そのファイルの先頭に(一例として)
          auth    required        pam_tally2.so deny=9 unlock_time=60
          と、一行書き加えます。
          • 「deny=9」は、回数制限で、「9回」ログインに失敗すると、
            アカウントにロックが掛かるという設定です。
            10回目以降は、パスワードが正しくても入れなくなります。
            この数値は任意で変えられます。
            9回というのは、少なめです。
            (もう少し多くてもよい、バグがあって余分にカウントアップする事がある)
          • 「unlock_time=60」は、ロック時間です。
            単位は秒なので、この例の場合は「60秒」の間、
            ロックされるという設定です。
            この数値は任意で変えられます。
            60秒というのは、かなり少なめです(もっと長くてよい)。
        2. ファイルを保存して閉じます。
        3. 「/etc/pam.d/common-account」ファイルに追記します。
          $ sudo gedit /etc/pam.d/common-account
          で、開いたら、そのファイルの先頭
          account required                        pam_tally2.so
          と、一行書き加えます。
        4. ファイルを保存して閉じます。
        5. 上記の二つのファイルに追記する行は、間違えて末尾にすると、
          正常に動作しませんから注意して下さい。
          (コメント行は関係無い)
        • 失敗回数を確認するには以下のコマンドを実行します。
          (一例として、「user_name」というアカウントを指定している)
          $ sudo pam_tally2 -u user_name
        • ロックされたアカウントを手動で開放するには
          以下のコマンドを実行します。
          (一例として、「user_name」というアカウントを指定している)
          $ sudo pam_tally2 -r -u user_name
    12. ログを取得しておきます。
      • ログ取得機能を使用することで、
        サーバーに対して行われた操作内容を記録することができます。
        Ubuntuでは、デフォルトで様々なログが取られています。
        全てのログを説明すると、かなりの文量になってしまうので、
        要所だけを説明します。
      • 次の五つのファイルは、いずれもバイナリ形式で、
        情報の参照には専用のコマンドを利用する、という
        共通の特徴があります。
        1. /var/log/wtmp
          これは、システムに対するログイン試行のうち、
          成功したものについて、その情報を記録したファイルです。
          情報の参照には、以下のコマンドを実行します。
          $ last
          ユーザー名、ログイン端末、ログイン元ホスト、
          ログイン時刻、ログアウト時刻が記録されています。
          ※システムの再起動情報は、rebootというユーザーが
          システムにログインしたものとして記録されています。
        2. /var/log/btmp
          システムに対するログイン試行のうち、
          失敗したものについて、その情報を記録したファイルです。
          存在しないアカウントでのログインや、パスワードの入力ミスなど、
          ログインに失敗した際の情報が記録されています。
          情報の参照には、以下のコマンドを実行します。
          $ sudo lastb
          ユーザー名、ログイン端末、ログイン元ホスト、
          ログイン時刻、ログアウト時刻が記録されています。
          (失敗した記録ですから、ログインとログアウトの時刻は同じになりますし、正確には「ログインしようとした時刻」と訳すのが妥当だと思いますが)
        3. /var/log/lastlog
          システムに登録されているユーザーの
          最終ログイン時刻を記録したファイルらしいのですが、
          テストしても再現できませんでした。
          情報の参照には、以下のコマンドを実行します。
          $ lastlog
        4. /var/log/faillog
          これも、テストしましたが再現できませんでした。
          ログインの失敗を記録するファイルです。
          /var/log/btmpが不正なログインすべてを記録するのに対し、
          /var/log/faillogはユーザーごとに
          ログインの失敗回数を記録します。
          また、このファイルには、
          ユーザーごとのログイン最大失敗回数を設定しておくことができ、
          認証にpam_tallyモジュールを使うようPAMを設定しておくと、
          一定回数ログインに失敗したユーザーに対し、
          アカウントロックを行うことが可能です。
          このファイルの管理には、以下のコマンドを使います。
          (他のオプションもあるので、コマンドヘルプを参照の事)
          $ faillog -h
        5. /var/log/tallylog
          これは、/var/log/faillogと同じく
          ユーザーごとのログイン失敗回数を記録するファイルです。
          /var/log/faillogの形式が
          i386のシステムとx86_64のシステムとで異なることから、
          アーキテクチャに依存しないファイル形式として
          /var/log/tallylogが用意されています。
          /var/log/tallylogを使う場合、
          認証にはpam_tally2を使うようにPAMを設定する必要があります。
          また、faillogコマンド相当のファイルとして
          pam_tally2コマンドが用意されており、
          このファイルの管理には、以下のコマンドを使います。
          (他のオプションもあるので、コマンドヘルプを参照の事)
          $ pam_tally2 -h
      • 他にも幾つものログがありますが、ここでは割愛します。
        大抵のログは、テキストファイルですから、
        普通のエディターやビューワで閲覧できます。
    13. 正確な時刻と同期します。
      • 不正アクセスなどの攻撃を受けた場合の追跡調査は、
        ログを取得しているサーバーの時刻が正確でないと、
        その事象の正しい発生時期の把握が困難となります。
        その為、ログを取得する場合は、
        NTPサーバーから正確な時刻を定期的に取得し
        同期しておく必要があります。
        Ubuntu 16.04 LTS (Desktop)では、
        デフォルトのままでよい筈ですが、一応確認しましょう。
        1. 「システム設定」の「時刻と日付」をクリックします。
        2. 「時刻と日付」タブの「時刻設定」が
          「インターネット経由で自動的に時刻を合わせる」になっていれば
          大丈夫です。
    14. アクセス権の確認をします。
      • ウェブサーバ上のファイル、ディレクトリに
        適切なアクセス制御(パーミッション)がされていない場合、
        攻撃者に非公開のファイルを見られたり、
        プログラムが実行されたりします。
        その為、アクセス制御を適切にする必要があります。
      • ホームディレクトリ下にできる、
        各アカウントのフォルダ(ディレクトリ)は、
        他のユーザから見えるようになっている筈ですから、
        これを所有者以外には
        扱えなくする(パーミッションで700)必要があります。
        方法は、CLIでもGUIでもできます。
        1. CLIで操作する場合。
          1. 画面左のランチャーの「コンピューターを検索」から
            「端末」アプリを開きます。
            (「端末」もしくは「ta」と入力すればすぐに見つかります)
          2. カレントディレクトリ(フォルダ)をひとつ上にします。
            $ cd ..
          3. ディレクトリの内容をパーミッション付きで表示します。 以下のコマンドを実行します。
            $ ls -l
            合計 12
            drwxrw-r-- 20 user_name user_name 4096 11月  7 10:09 user_name
            などと表示されます。
            例として「user_name」というディレクトリがあります。
            (あなたのアカウントに読み替えて下さい)
            (先頭の「d」はディレクトリを意味している)
            パーミッションは「rwxrw-r–」です。
            自分自身は、読み・書き・実行ができます。
            グループは、読み・書きできます、実行はできません。
            その他は、読みができます。書き・実行はできません。
            これを、2進数に当てはめ、16進数で表記すると
            「764」となります。
            (数値ではなく、アルファベットで指定する方法もありますが割愛)
          4. 自分以外は、全て読み・書き・実行ができなくします。
            そのパーミッションは「rwx——」となります。
            これを、2進数に当てはめ、16進数で表記すると
            「700」となりますので、
            その数値で以下のコマンドを実行します。
            $ chmod 700 user_name
            (自分以外のアカウントのパーミッションを変更する場合は、root権限である必要がある為、頭に「sudo 」をつける)
            これで、
            自分以外は、全て読み・書き・実行ができなくなりました。
          5. 一応確認しましょう。
            $ ls -l
            合計 12
            drwx------ 20 user_name user_name 4096 11月  7 10:09 user_name
            目的通り、パーミッションは「rwx——」となっています。
        2. GUIで操作する場合。
          1. 目的のアカウントでログインします。
          2. 画面左のランチャーから、「ファイル」アプリを開き、
            「コンピューター」→「home」と進み開きます。
          3. その中にあるアカウントのフォルダーを右クリックし、
            「プロパティ」を選択します。
          4. 現れたプロパティウインドウ内の
            「アクセス権」タブを選択します。
            所有者以外のアクセスを「なし」にします。
            所有者のアクセスは「作成と削除」のままにします。
          5. ウインドウを閉じて完了です。
    15. アンチウイルス・ソフトの導入
      • LinuxのディストリビューションであるUbuntuにも、
        セキュリティソフトの類は幾つかあります。
      • ここでは例として、
        「ClamTk」と「Sophos Anti-Virus for Linux」の二つを紹介します。
      1. ClamTk
        • GUIで使える「ClamTk」をインストールし、設定・動作を紹介します。
          1. 以下のコマンドを実行します。
            $ sudo apt-get install clamtk
            インストール自体は、これだけです。
          2. 続けて、設定を確認・変更していきます。
            「ClamTk」を起動します。
            「ClamTk」はGUIですから、
            画面左のランチャーで起動できます。
            左上の「コンピューターを検索」で
            「ClamTk」と入力すれば見つかります。
            (全部入力しなくても、一文字入力するごとに絞り込まれていきますので、頭文字一文字だけでも見つかるかもしれません)
            「ClamTk」をクリックして起動します。
          3. 「設定」をダブルクリックします。
            (どういうわけかシングルクリックではない)
          4. すると幾つかの設定をするウインドウになります。
            デフォルトでは全てにチェックが入っている筈なので、
            そのままで大丈夫です。
            確認したら「戻る」をクリックします。
          5. 「スケジュール」をダブルクリックします。
          6. 「スケジュール」ウインドウが現れます。
          7. デフォルトでは、定時スキャンのスケージュールはないので
            定時スキャンするように設定します。
            時分の項目を入力したら、「+」ボタンをクリックします。
          8. これでちゃんと設定されているのか、
            ちょっと分かりづらいですが、
            ウインドウ内の下の「情報」枠内に
            「毎日のスキャン実行のスケジュールあり」
            と表示されていれば大丈夫です。
            「閉じる」ボタンをクリックして
            「スケジュール」ウインドウを閉じます。
            • スケジュール通りにスキャンがきちんと実行されているか
              気になる方は、設定した時間以降に
              「履歴」をダブルクリックして確認して下さい。
        • 「ClamTk」をアンインストールするには、
          以下のコマンドを実行します。
          $ sudo apt-get --purge remove clamtk
          --purge」を入れないで実行すると、
          設定ファイルが残ってしまいます。
        • 複数のセキュリティソフトを同時に入れるのは、
          コンフリクトの原因になりやすいので、お勧めできません。
      2. Sophos Anti-Virus for Linux
        • 「for Linux」という名を冠していますが、
          「Ubuntu」はLinuxのディストリビューションなので、
          そのままで動きます。
        • 詳しい使い方や用語の説明等は、以下のページを参照して下さい。
        • 「ClamTk」と違い、こちらは「CLI」になります。
          以前は、GUIを備えていたようですが、今は廃止されています。
          1. インストールするにはまず、以下のページから
            圧縮されたインストーラーをダウンロードします。 (どういうわけか、姓名とメルアドを二度問われる)
          2. ダウロードされたファイルを展開します。
            (「ダウンロード」ディレクトリ内で展開したものとして、以下説明します)
          3. コマンドを実行します。
            $ cd ~/ダウンロード/sophos-av
            $ sudo ./install.sh
          4. すると、幾つかの質問をされますので、
            特に何もなければ、以下のように答えます。
            同意しないとインストールできません。
            ライセンス内容に同意しますか? はい(Y)/いいえ(N) [N]
            > y
            インストール先は、デフォルトのままで大丈夫ですから、
            何も入力せずに[return]キーを押します。
            Sophos Anti-Virus のインストール先を指定してください。 [/opt/sophos-av]
            > 
            オンアクセス検索を有効にしますか? はい(Y)/いいえ(N) [Y]
            > y
            オートアップデートの種類を選択してください: ソフォス(s)/自社サーバー(o)/なし(n) [s]
            > s
            問い合わせ等のサポートが必要なければ、
            無償バージョンを選択します。
            SAV for Linux の無償バージョン (f) と サポート対応付きバージョン (s) のどちらをインストールしますか? [s]
            > f
            無償ツールのフォーラムは次のサイトを参照してください。
            ソフォスからアップデートを行うためにプロキシが必要ですか? はい(Y)/いいえ(N) [N]
            > n
          5. 以下のように表示されていれば成功です。
            インストールが完了しました。
            ご使用のコンピュータは Sophos Anti-Virus で保護されるようになりました。
          6. 一応、動作状態を確認してみましょう。
            $ sudo /opt/sophos-av/bin/savdstatus
            Sophos Anti-Virus はアクティブで、オンアクセス検索を実行中です
            と表示されていれば問題ありません。
          7. 次に、ウィルスデータベースの手動更新をします。
            $ sudo /opt/sophos-av/bin/savupdate
            何行かの処理概要が表示される事がありますが、
            アップデートに成功しました
            と表示されれば、問題ありません。
          8. それでは試しにスキャンしてみましょう。
            ストレージ全体をスキャンする事もできますが、
            かなり所要時間が掛かるので、
            ここでは試しに、存在するアカウント以下だけを
            スキャンしてみます。
            $ cd ~
            $ sudo savscan ../
            何行かの処理概要が表示されますが、
            ウイルスは発見されませんでした。
            検索が終了しました。
            と表示されれば、問題ありません。
          9. 「Sophos Antivirus for Linux」は、
            状況に合わせて設定を変える事もできます。
            詳しくは、以下のページを参照して下さい。 現状の設定内容を表示するには以下のコマンドを実行します。
            $ sudo /opt/sophos-av/bin/savconfig -v
    16. 外部のセキュリティ検査サービスを利用し、対策が充分かテストします。
      • Webサイトやシステムの脆弱性を検査する
        「脆弱性診断」や「ペネトレーションテスト」といった
        サービスがあります。
        有償のものが目立ちますが、無料のものも幾つかあります。
        無料のものは、それぞれに対象や特徴が異なるようです。
        (いくつもの検査を紹介していると文量が膨大になるので、触りだけ説明します)
      • 「脆弱性診断」は、
        外部から実際にサイトやシステムに疑似攻撃を行い、
        重大な脆弱性がないかをチェックします。
      • 「ペネトレーションテスト」は、
        サイトやシステムに対して侵入テストを行うものです。
    17. 他にも、やれる事は幾つかあります。
      • ログを二重化します。
        • 攻撃者は、攻撃者自身の不正アクセスの履歴を消すために、
          ログを削除する場合があります。
          その為、ログの格納場所をサーバー上だけではなく、
          外部に複製するようにしておくことも必要です。
          これは、バックアップにも通ずる話で、
          消えて困るものは全てバックアップしましょう。
      • ログをローテーションにします。
        • ログのローテーションとは、
          一定のサイズや期間ごとにログファイル名を変更し、
          新しいものから一定の数だけ残して、
          古いものはサーバー上から消去することをいいます。
          ログを取得するサーバーでは、
          一定の大きさのログファイルを保存しておくことができます。
          しかし、記録できる容量を超えてしまうと、
          新しいログが記録されない可能性があります。
          それを防ぐため、ログのローテーションを行う必要があります。

次回予告「その6 バックアップ環境



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


人気ブログランキング

Macランキング

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



コメントを残す

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