Server Hardening (Debian): Unterschied zwischen den Versionen

Aus MattWiki
Zeile 32: Zeile 32:
         Redirect permanent / https://host1.domain.tld/
         Redirect permanent / https://host1.domain.tld/
  </VirtualHost>   
  </VirtualHost>   
=== SSL Konfiguration härten ===
Die hierfür notwendigen Einstellungen lassen sich nicht pauschal benennen.
Daher am besten den [https://mozilla.github.io/server-side-tls/ssl-config-generator/ Mozilla SSL Configuration Generator] verwenden.
Inhalte in die ssl.conf-Datei einbauen.





Version vom 1. Juni 2015, 20:51 Uhr

Apache Webserver

Serverversion und Betriebssystem ausblenden

# nano /etc/apache2/apache2.conf

Folgende zwei Zeilen einfügen:

ServerSignature Off
ServerTokens Prod

Verzeichnisauflistungen deaktivieren

# nano /etc/apache2/sites-available/default und

# nano /etc/apache2/sites-available/default-ssl bearbeiten.

Folgenden Abschnitt suchen

       <Directory /var/www/>
               # Options Indexes FollowSymLinks MultiViews    # Zeile finden
               Options FollowSymLinks MultiViews             # "Indexes" entfernen
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>

Alle Anfragen auf HTTPS umleiten

Hierfür am besten eine komplette Subdomain benutzen. Einrichtung per VirtualHost. Darin diese Zeile einfügen:

Redirect permanent / https://host1.domain.tld/

Ergebnis:

<VirtualHost *:80>                                                                                  
        DocumentRoot /var/www/host1                                                            
        ServerName host1.domain.tld                                                           
        Redirect permanent / https://host1.domain.tld/
</VirtualHost>  


SSL Konfiguration härten

Die hierfür notwendigen Einstellungen lassen sich nicht pauschal benennen.

Daher am besten den Mozilla SSL Configuration Generator verwenden.

Inhalte in die ssl.conf-Datei einbauen.


Serverkonfiguration neu laden

Nach den Bearbeitungen Konfiguration neu laden

# /etc/init.d/apache2 reload     # Nur Konfiguration neu laden
                                 # oder
# service apache2 restart        # Weberserver neu starten

SSH Server

# nano /etc/ssh/sshd_config

Änderungen

Port 22                     # Auf einen anderen Port stellen
ListenAddress ::            # ???
ListenAddress 192.168.1.100 # Login z. B. nur über lokale Netzwerk 192.168.1.xxx
PermitRootLogin no          # Root-Login deaktivieren
PasswordAuthentication no   # Stattdessen Zertifikatsauthentifizierung ohne Password
X11Forwarding no            # Wenn Hochsicherheitsserver ohne GUI-Notwendig
UserPAM no

Danach noch Config-Datei neu laden:

# service ssh reload

Netzwerk

IPv6 deaktivieren

Im Kernel deaktivieren

# echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf

Zusätzlich

# nano /etc/hosts       # Alle IPv6-relevanten Zeilen entfernen.

Neustarten