ntop は、ネットワークのトラフィック状況をウェブブラウザで確認することができるツールです。ntop は、以下のコマンドでインストールします。
$ sudo apt-get -y install ntop
インストール中に監視デバイスをカンマ区切りで指定します。
#20161007.png
監視デバイスは、以下の設定ファイルを編集する事により変更可能です。
[/var/lib/ntop/init.cfg]
INTERFACES="enp0s3"
ntop 再起動 $ sudo systemctl restart ntop.service 再起動後も自動起動する場合は、以下のコマンドを実行します。 $ sudo systemctl enable ntop.service
管理者(admin)のパスワードを設定します。
==================================================
#20161008.png
http://servername:3000
にアクセスするとネットワークのトラフィック情報を確認する画面を参照することができます。
#20161009.png
Summary: トラフィックの概要、ホストのトラフィックが確認できます。 All Protocols: プロトコロ毎のトラフィック、時間、日毎のトラクック量が確認できます。 IP: 外部から、内部からなど IP 毎のトラクック量が確認できます。 Utils: ログなどのダンプが行えます。 Plugin: Ubuntu の ntop では利用できません。 Admin: 設定、パスワードの変更を行います。
しかし、このままでは管理画面が誰でも参照できセキュリティ的に問題があります。アクセス制限を行うために ntop のアクセスを localhost から許可し、apache のリバースプロキシ機能を利用しセキュリティを強化します。
ntop の設定ファイルを以下のように書き換え ntop を再起動します。これで localhost からしかアクセス出来ないようになります。
[/etc/default/ntop]
GETOPT="-w 127.0.0.1:3000"
$ sudo systemctl restart ntop.service
apache2 をインストールします。 $ sudo apt-get -y install apache2 apache のモジュールを有効にします。 $ sudo a2enmod proxy_http $ sudo a2enmod ssl $ sudo a2ensite default-ssl
リバースプロキシの設定をします。
[/etc/apache2/mods-enabled/proxy.conf]
<IfModule mod_proxy.c> ProxyRequests Off SSLProxyEngine on <Proxy *> Require ip 172.16.80.91 <- IPによるアクセス制限をする場合 Require all granted <- 全てのIPからの接続を許可する場合。 </Proxy> ProxyPass /ntop http://localhost:3000/ ProxyPassReverse /ntop http://localhost:3000/ <Location /shell> AuthUserFile /var/www/html/.htpasswd AuthName "Authorization Required" AuthType Basic require valid-user </Location> </IfModule>
BASIC 認証のパスワードを設定します。 $ sudo htpasswd -c /var/www/html/.htpasswd username (任意のユーザ名) New password: Re-type new password: Adding password for user username apache2 の再起動を行います。 $ sudo systemctl restart apache2.service
https://servername/ntop
先ほど設定した BASIC 認証の ID とパスワードが要求されるので、設定した値を入力すると管理画面が表示されます。