Standardmäßig ist bei ntop nur der Konfigurationsbereich passwort-geschützt. Der Zugriff auf die Informationsseiten ist offen.

Da top seinen eigenen Webserver benutzt, ist der password-geschützte Zugriff nur mit Hilfe eines Proxys möglich. Da bei mir schon ein apache2 läuft, wird dieser als Reverse-Proxy benutzt.

Vorarbeiten

Der Webserver von ntop lauscht standardmäßig auf allen IP-Adressen 0.0.0.0 auf Port 3000. Unter Admin -> Configure -> Startup Options muss man entsprechend den HTTP Server auf 127.0.0.1:3000 umstellen.

Jetzt ist ein direkter Zugriff aus dem Internet nicht mehr möglich.

Apache Konfiguration

Aktivierung der notwendigen Apache-Module

# a2enmod proxy
# a2enmod proxy_http
# service apache2 restart

Virtueller Host für ntop

/etc/apache2/sites-available/ntop

<VirtualHost *:80 >
  ServerName ntop.rana.at

  <Proxy *>
    Order deny,allow
    allow from all
    AuthType Basic
    AuthName "no public monitoring"
    AuthUserFile /etc/apache2/htpasswd/ntop
    Require valid-user
  </Proxy>

  RewriteEngine On
  RewriteCond %{HTTP_REFERER} ntop.rana.at/
  RewriteCond %{REQUEST_URI} !^/
  RewriteRule ^/(.*)$ http://ntop.rana.at/$1 [L,R=permanent]

  RewriteCond %{REQUEST_URI} ^/
  RewriteRule ^/(.*)$ http://localhost:3000/$1 [L,P]

  ProxyPass         /   http://localhost:3000
  ProxyPassReverse  /   http://localhost:3000
</VirtualHost>

Passwort für den Zugriff setzen:

# htpasswd /etc/apache2/htpasswd/ntop username
Facebooktwittergoogle_plusredditpinterestlinkedinmail

Erstellung der Zertifikate

Als root im Homeverzeichnis ein Verzeichnis certificates erstellen, Zugriff beschränken und dorthin wechseln:

# mkdir certificats
# chmod 700 certificates
# cd certificates

In diesem Verzeichnis die selbstsignierten Zertifikate erstellen:

# openssl genrsa -out webmail.key 4096
# openssl req -new -key webmail.key -out webmail.csr
# openssl x509 -req -days 3650 -in webmail.csr -signkey webmail.key /
         -out webmail.crt

Die Zertifikate in das Konfigurationsverzeichnis kopieren:

# cp webmail.crt /etc/pki/tls/certs/webmail.crt
# cp webmail.key /etc/pki/tls/certs/private/webmail.key
# cp webmail.csr /etc/pki/tls/certs/private/webmail.csr

Webserverkonfiguration Apache unter Debian

Falls ssl für den Apache Webserver noch nicht aktiviert ist:

# a2enmod ssl

Konfigurationsdatei für die Domain /etc/apache2/sites-available/webmail.example.com

<VirtualHost *:80>
        ServerName webmail.example.com
        Redirect permanent / https://webmail.example.com/
</VirtualHost>
<VirtualHost *:443>
        ServerName webmail.example.com
        DocumentRoot /var/lib/roundcube/
        ServerAdmin webmaster@example.com

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        ErrorLog /var/log/apache2/webmail.example.com-error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/webmail.example.com.log combined
        ServerSignature Off

        SSLEngine On
        SSLCertificateFile /etc/pki/tls/certs/webmail.crt
        SSLCertificateKeyFile /etc/pki/tls/certs/private/webmail.key

</VirtualHost>
Facebooktwittergoogle_plusredditpinterestlinkedinmail

Seit der Installation von WordPress gibt es im Apache-Log lustige HTML-formatierte Fehlermeldungen:

Warning: Directive 'register_long_arrays' is deprecated in PHP 5.3 and greater in Unknown on line 0

Warning: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0

Dies bedeutet, dass die Anweisungen ‚register_long_arrays‘ und ‚magic_quotes_gpc‘ ab der Version 5.3 in PHP als veraltet gelten und diese dann überhaupt ab der Version 6.0 herausfallen werden.

Die beiden Anweisungen kann man aus der Datei /etc/php5/apache2/php.ini (Standardort bei Debian) auskommentieren, solange sie nicht benötigt werden. Bei mir werden diese beiden Anweisungen nicht benötigt, deswegen kommen sie raus:

; Whether or not to register the old-style input arrays, HTTP_GET_VARS
; and friends. If you're not using them, it's recommended to turn them off,
; for performance reasons.
; Wegen deprecated Meldung auskommentiert
;register_long_arrays = On

; Magic quotes for incoming GET/POST/Cookie data.
; wegen deprecated-Meldung auskommentier
;magic_quotes_gpc = On

Gefunden habe ich die Lösung und Erklärung bei serverfault.com

Facebooktwittergoogle_plusredditpinterestlinkedinmail