Home » Website Security » So sichert die htaccess Konfigurationsdatei Webseiten:

Professionelle Sicherung Ihrer Webanwendung mit der .htaccess-Datei

apache htaccess Konfigurationsdatei

Wir legen großen Wert darauf, ausschließlich die neuesten Standards der Codierungspraktiken einzusetzen. Diese entsprechen mindestens dem Standard von Apache 2.4, der wesentliche Verbesserungen in Leistung und Sicherheit bietet.

apache htaccess KonfigurationsdateiDas ultimative Tool für die flexible und sichere Konfiguration des Apache-Webservers.

Die Konfigurationsdatei .htaccess (en: hypertext access „Hypertext-Zugriff“) spielt eine Schlüsselrolle in der Verwaltung von Apache Webservern. Sie steuert ergänzend die Hauptkonfigurationsdatei httpd.conf.

Das Schweizer Taschenmesser für die Webseiten-Konfiguration!

Das Schweizer Taschenmesser für Ihren ServerDie .htaccess Datei hat eine bedeutende Wirkung auf die Funktionalität und Sicherheit einer Website. Sie ermöglicht individuelle Konfigurationen auf Verzeichnisebene, was besonders in Shared-Hosting-Umgebungen nützlich ist, wo der Zugriff auf die Hauptserverkonfigurationsdatei httpd.conf eingeschränkt ist.

Da die .htaccess-Datei ein reines Textdokument ist, lässt sie sich mit einem beliebigen Texteditor wie Notepad++ erstellen und bearbeiten.

Testen Sie Änderungen nach Möglichkeit immer zuerst in einer Staging-Umgebung. Falsche Regeln oder Zeichensetzungen können den legitimen Datenverkehr blockieren und zu Funktionsstörungen auf Ihrer Website führen. Erstellen Sie mindestens eine funktionierende Sicherheitskopie, um bei einer Fehlkonfiguration (Error 500) die Einstellungen sofort wiederherstellen zu können.

In diesem Abschnitt konzentrieren wir uns primär auf die wichtigsten Maßnahmen zur Erhöhung der Sicherheit Ihrer Webseite. Diese Maßnahmen können oft von Ihnen als technisch versiertem Webmaster selbst umgesetzt werden.

TIPP: Durch die direkte Verwendung des Flags [F] in den Regeln wird sichergestellt, dass der Server die Verarbeitung der Anforderung sofort stoppt (403 Forbidden), wenn die Bedingung erkannt wird. Dies reduziert die Belastung für den PHP-Interpreter, da ungültige Anfragen bereits abgewehrt werden, bevor sie die Anwendungsebene erreichen.

Sicherheitsvorkehrungen auf der Server-Ebene:

    • Blockieren von XSS-Angriffen: Durch die Überprüfung der Abfragezeichenfolgen (Query Strings) auf Muster, die typisch für XSS-Angriffe sind, wie z.B. Einbindungen von <script>-Tags oder verdächtige Verwendungen von globalen PHP-Variablen wie GLOBALS und _REQUEST, hilft diese Regel, solche Angriffsversuche effektiv zu blockieren.
    • Blockieren unnötiger HTTP-Anfragen: Diese Einstellung sorgt dafür, dass nur Anfragen mit den Methoden GET, POST und HEAD akzeptiert werden. Dieses reduziert die Angriffsebene und kann die Geschwindigkeit der Seite erhöhen.
    • Zugriff auf vertrauliche Dateien blockieren: Die <FilesMatch>-Direktive ist besonders geeignet zum Einschränken des Zugriffs auf vertrauliche Dateien. Mit dieser Anweisung können Sie den Zugriff auf Konfigurationsdateien wie die .htaccess blockieren.
    .htaccess
    # XSS-Angriffe blockieren durch Filtern von Abfragezeichenfolgen
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-F]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-F]{0,2})
    RewriteRule .* - [F,L]
    
    .htaccess
    # Blockieren unnötiger HTTP-Anfragen
    RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)
    RewriteRule .* - [F,L];
    
    .htaccess

    # Zugriff auf vertrauliche Dateien blockieren
    <FilesMatch "(\\.ini|\\.log|\\.conf|config\\.php|\\.bak|\\.swp|\\.svn|error_log|wp-config\\.php|php\\.ini|\\.[hH][tT][aApP].*)$">
    Require all denied
    </FilesMatch>

    Optimieren Sie die Sicherheit Ihrer WordPress-Site mit bewährten Technologien

    Schutzmaßnahmen für Ihre WordPress-Installation
    Für fast 2 Millionen deutsche WordPress-Nutzer: Entdecken Sie einfache, effektive Sicherheitsstrategien, die nicht nur Ihre Website schützen, sondern auch die Serverlast durch Brute-Force-Angriffe minimieren.

    Spezifische WordPress Sicherheitseinstellungen können Sie in der dedizierten Konfigurationsdatei wp-config.php vornehmen. Für eine optimale Sicherheitskonfiguration ist es empfehlenswert, beide Methoden zu kombinieren: Serverseitige Sicherheitsregeln für grundlegende Einschränkungen und WordPress-Hooks für anwendungsspezifische Logik und benutzerdefinierte Fehlerseiten.

    WordPress-Installationen absichern:

      • Deaktivieren Sie xmlrpc.php: Die Datei xmlrpc.php wurde ursprünglich in WordPress implementiert, um die Kommunikation zwischen WordPress und anderen Systemen zu ermöglichen. Seit der Einführung der REST API ist XML-RPC oft nicht mehr notwendig. Jedoch ist xmlrpc.php zunehmend ein Ziel für Brute-Force und Distributed Denial of Service (DDoS) Angriffe. Daher besteht kein Grund mehr, xmlrpc.php aktiviert zu lassen.
      • Zugriffsschutz bei fehlendem Referrer: Blockiert POST-Anfragen ohne gültige Referrer-Information, damit keine Interaktion mit den kritischen Funktionen im Admin- und Kommentarbereich sowie benutzerdefinierter Skripte, z.B. auf der Kontaktseite, stattfinden kann. Ersetzen Sie mein-domain.de mit Ihrer eigenen Domain.
      • Autoreninformationen verbergen: Diese Regel wird dringend empfohlen, wenn Sie Ihre WordPress-Site vor Benutzeraufzählungsangriffen (user enumeration attacks) schützen möchten, die den Zugriff auf Autorenseiten ausnutzen.
      • Verzeichnisschutz für WordPress-Admin: Für die Umsetzung ist zusätzlich zur .htaccess auch eine Datei mit Namen .htpasswd erforderlich. Diese enthält den Benutzernamen und das Passwort. Jetzt sind zwei unterschiedliche Logins notwendig, um den WordPress-Admin aufzurufen.
      .htaccess

      # Deaktivieren xmlrpc
      <Files xmlrpc.php>
      Require all denied
      </Files>
      .htaccess
      # Zugriffsschutz bei fehlendem Referrer
      RewriteCond %{REQUEST_METHOD} POST
      RewriteCond %{REQUEST_URI} .(wp-comments-post\.php|wp-login\.php|kontakt\.php)$
      RewriteCond %{HTTP_REFERER} !.*mein-domain.de.* [OR]
      RewriteCond %{HTTP_USER_AGENT} ^$
      RewriteRule .* - [F,L]
      
      .htaccess
      # Autoreninformation verbergen
      RewriteRule ^author/ - [F]
      RewriteCond %{QUERY_STRING} ^author=([0-9]*)
      RewriteRule .* - [F]
      
      .htaccess
      # Adminbereich absichern
      AuthType Basic
      AuthName "Bereich Gesperrt - No Entry"
      AuthUserFile /homepages/xx/xxxxxxxxx/htdocs/[Ordner]/wp-admin/.htpasswd
      require user [Username]
      
      .htpasswd
      # Adminbereich User/Passwort
      [Username]:[EncryptedPasswort]
      

      Weiterführende Links und Informationen

      IONOS: WordPress Admin-Login mit htaccess schützen
      Erfahren Sie, wie Sie den Administrationsbereich Ihres WordPress-Blogs mit einem .htaccess-Verzeichnisschutz effektiv vor Hackern und Brute-Force-Angriffen schützen.

      IONOS Hosting Digital Guide: www.ionos.de/digitalguide/hosting/blogs/wordpress-admin-login-mit-htaccess-schuetzen

       

      Hostinger: 22 Methoden zum Schutz Ihrer Website
      Wie man die WordPress-Sicherheit verbessert: 22 Methoden zum Schutz Ihrer Website

      Der Artikel enthält bewährte Verfahren und Tipps – mit oder ohne WordPress-Plugins. Einige Methoden sind auch auf andere Plattformen als WordPress anwendbar.

      Hostinger Tutorial: hostinger.de/tutorials/wordpress-sicherheit-verbessern

       

      Serverkonfiguration: httpd.conf vs. htaccess

      Die .htaccess-Datei ist ein mächtiges Werkzeug, um die Basiseinstellungen des Servers auf lokalisierter Basis zu erweitern oder zu überschreiben. Sie ermöglicht eine detaillierte Verwaltung des Websiteverhaltens ohne Änderung der serverweiten Einstellungen und ist unverzichtbar in Umgebungen, in denen Benutzer keinen Root-Zugriff auf den Server haben.

      Wo möglich, besonders in kontrollierten Umgebungen, wird empfohlen, notwendige Anpassungen direkt in der httpd.conf vorzunehmen, um Leistung und Sicherheit zu optimieren.

      •  httpd.conf: Die Hauptkonfigurationsdatei für den Apache HTTP-Server. Änderungen hier beeinflussen den gesamten Server und alle darauf gehosteten Seiten.
      •  .htaccess: Ermöglicht Veränderungen auf Verzeichnisebene. Dies ist besonders nützlich in Shared-Hosting-Umgebungen, wo der Zugriff auf serverweite Konfigurationsdateien eingeschränkt ist. Administratoren können das Verhalten spezifischer Verzeichnisse steuern, ohne auf die Hauptserverkonfigurationsdateien zugreifen zu müssen.
      Einsatzbereich: httpd.conf vs. htaccess
      •  httpd.conf: Wird für serverweite Einstellungen verwendet, z.B. das Laden von Modulen, serverweite Sicherheitseinstellungen, Behandlung von Clientanfragen und Standard-Einstellungen für Webverzeichnisse.
      •  .htaccess: Wird häufig genutzt, um URLs umzuschreiben, benutzerdefinierte Fehlerseiten einzustellen, Umleitungen zu konfigurieren, Zugriffe zu beschränken und festzulegen, wie bestimmte Dateien bereitgestellt werden. Beliebt bei Anwendungen wie WordPress, wo Benutzer Konfigurationen vornehmen müssen, ohne Server-Admin-Rechte zu haben.
      Performance: httpd.conf vs. htaccess
      •  httpd.conf: Änderungen in der httpd.conf sind performanter, da die Konfiguration beim Serverstart in den Speicher geladen wird und Apache nicht ständig nach Änderungen suchen muss wie bei .htaccess.
      •  .htaccess: Obwohl .htaccess-Dateien große Flexibilität bieten, können sie die Serverleistung beeinträchtigen. Apache prüft bei jedem Verzeichnis auf dem Pfad einer Anfrage, ob eine .htaccess-Datei vorhanden ist, was die Antwortzeiten verlangsamen kann.
      Zugriffsschutz bei fehlendem Referrer

      Diese Konfigurationseinstellung in der .htaccess-Datei verbessert die Sicherheit, indem sie den Zugriff auf wichtige WordPress-Dateien blockiert, wenn keine gültige Referrer-Information vorliegt oder wenn die HTTP-User-Agent-Anfrage leer ist. Solche Zugriffe könnten auf automatisierte Angriffe oder Versuche hinweisen, Sicherheitslücken zu missbrauchen.

      Konkret werden POST-Anfragen zu den Dateien wp-comments-post.php (für Kommentare) und wp-login.php (für das Login) blockiert, wenn die Anfrage nicht von einer Seite Ihrer eigenen Domain (getsafe360.de) stammt oder wenn kein User-Agent übermittelt wird. Diese Maßnahme soll folgende Risiken minimieren:

      • Cross-Site Request Forgery (CSRF): Indem nur Anfragen mit korrektem Referrer akzeptiert werden, wird das Risiko von CSRF-Attacken, bei denen Benutzer unwissentlich schädliche Aktionen auf einer von ihnen bereits authentifizierten Webseite ausführen, verringert.
      • Spam und automatisierte Angriffe: Viele Bots und skriptgesteuerte Angriffe senden keine legitimen Referrer-Informationen, was diese Methode effektiv blockiert.
      • Brute-Force-Angriffe: Beschränkung der Anmeldeversuche auf solche, die von Ihrer Website initiiert wurden, verhindert Brute-Force-Versuche über automatisierte Skripte.

      Durch die Umleitung unberechtigter Anfragen zurück zur IP-Adresse des Anfragenden wird zudem sichergestellt, dass keine Interaktion mit den kritischen Funktionen Ihrer WordPress-Site stattfinden kann. Dies stärkt die Sicherheit Ihrer Webseite signifikant gegen spezifische Online-Bedrohungen.

      Blockieren unsicherer HTTP-Anfragen

      Diese Einstellung in der Apache-Konfigurationsdatei sorgt dafür, dass nur Anfragen mit den Methoden GET, POST und HEAD akzeptiert werden. Andere Methoden, wie PUT, DELETE oder TRACE, werden mit einem 405-Statuscode (Methode nicht erlaubt) abgelehnt.

      Dies reduziert die Angriffsfläche Ihrer Website, da weniger Methoden von Angreifern ausgenutzt werden können. Es verhindert spezifische Angriffsarten, die auf den Einsatz unüblicher oder seltener verwendeter HTTP-Methoden angewiesen sind. Zum Beispiel kann das Deaktivieren der TRACE-Methode Cross-Site Tracing-Angriffe verhindern und das Blockieren von PUT und DELETE kann verhindern, dass Angreifer unautorisiert Inhalte ändern oder löschen.

      Die Beschränkung auf notwendige Anfragearten trägt daher signifikant zur Stärkung der Sicherheitsarchitektur Ihrer Website bei und vermindert das Risiko von Web-Angriffen, die sich HTTP-Methoden zunutze machen.

      Benutzerdefinierte PHP-Skripte schützen
      Jedes Skript, wie z.B. ein Kontaktformular auf kontakt.php sollte geschützt werden, wenn es POST-Anfragen verarbeitet, die missbraucht werden könnten.

      • Admin-Verzeichnisse: Wenn Sie benutzerdefinierte Admin-Panels oder Verzeichnisse haben, ist es entscheidend, diese vor unbefugten Zugriffsversuchen zu schützen.
      • API-Endpunkte: Wenn Ihre Website über spezifische Skripte oder Endpunkte mit APIs kommuniziert, kann deren Sicherung Missbrauch verhindern.
      • Upload-Mechanismen: Jedes Skript, das Datei-Uploads handhabt, sollte gesichert werden, um das unbefugte Hochladen von schädlichen Dateien zu verhindern.
      • Andere sensible Skripte: Fügen Sie Skripte hinzu, die Aktionen wie Passwort-Resets, Benutzerregistrierungen oder andere Operationen ausführen, die Benutzer- oder Systemdaten ändern.

      Diese Erweiterungen sollen Ihnen dabei helfen, die Sicherheit Ihrer Website durch gezielten Schutz spezifischer Dateien und Endpunkte zu verbessern. Kombinieren Sie .htaccess-Regeln mit sicherheitsrelevanten Maßnahmen auf Anwendungsebene, um eine robuste Verteidigung gegen verschiedene Arten von webbasierten Angriffen zu bieten.

      Wir arbeiten mit allen gängigen Hosting-Providern und Betriebssystemen

      Hostinger
      Host Europe
      United Domains
      Apache Webserver
      WordPress VIP for Enterprise
      IONOS
      STRATO
      Hetzner
      All-Incl
      Domain Factory
      GetSafe 360° Box

      360° Website SecurityRundum-Absicherung

      HTTP-Sicherheits-Header
      Inhaltsicherheitsrichtlinie (CSP)
      XSS-Absicherung
      Ausführung i.d.R. innerhalb von 24 Std.
      100% Geld-zurück-Garantie
      Keine monatlichen Kosten

      Wir schützen, was Ihnen wichtig ist.

      Schlüsselfertige Absicherung:

      Unsere Experten erledigen diese Aufgabe komplett für Sie.
      Statt 245,- € jetzt zum Vorzugspreis von nur 195,- €

      Jetzt Starten »