Home » Website Security » Wie die htaccess Konfigurationsdatei Webseiten sichert

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.

7G-Firewall Absicherung
Die 7G Absicherung ist ein cleverer Code von Filtern zum Einfügen in die Konfigurationsdatei .htaccess. 7G ist eine leistungsstarke Firewall, die leicht und superschnell ist. Sie strebt die optimale Balance zwischen Sicherheit und Leistung an, um vor einer Vielzahl von Angriffen zu schützen, einschließlich Hacking-Versuchen, SQL-Injections, Cross-Site-Scripting (XSS), unerwünschte Bots und anderen bösartigen Aktivitäten.

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 der .htaccess-Datei

    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
      <FilesMatch "^xmlrpc\.php$">
      Require all denied
      </FilesMatch>
      .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]
      
      War dieser Artikel hilfreich?
      1
      0

      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

       

      Leistungsauswirkungen von .htaccess-Regeln

      Verwendung einer .htaccess-Datei mit umfangreichen Regeln, wie sie in der 7G-Firewall zu finden sind, führt zu einigen Leistungserwägungen aufgrund der Art und Weise, wie Apache Anfragen verarbeitet und reguläre Ausdrücke verwendet.

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

      • Anfrageverarbeitungsaufwand: Jede Anfrage an Ihren Apache-Server wird von der .htaccess-Datei verarbeitet, wenn sie sich in einem Verzeichnis befindet, auf das zugegriffen wird. Dies umfasst das Parsen der Datei und das Anwenden der Regeln auf die eingehende Anfrage. Je mehr Regeln und je komplexer diese sind (insbesondere mit regulären Ausdrücken), desto länger dauert es.
      • Komplexität der regulären Ausdrücke: Reguläre Ausdrücke können ziemlich komplex und rechenintensiv sein. Gut optimierte Regex-Muster sind in der Regel keine erhebliche Belastung. Schlecht geschriebene oder übermäßig komplexe Regex können jedoch die Anfrageverarbeitung erheblich verlangsamen.
      • Anzahl der Regeln: Je mehr Regeln Sie haben, desto mehr Verarbeitung ist erforderlich. Wenn jede Anfrage durch 150 Zeilen .htaccess-Code gehen muss, hat dies einen Einfluss auf die Leistung. Dieser Einfluss hängt jedoch stark davon ab, wie die Regeln strukturiert sind und wie oft sie angewendet werden.
      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
      Deutsche Telekom
      Apache Webserver
      WordPress VIP for Enterprise
      IONOS
      STRATO
      Hetzner
      All-Incl
      Domain Factory

      Diskutieren Sie mit: Ihre Kommentare sind willkommen!

      Ihre Ideen, Anregungen, Hinweise und Kritik sind gefragt! Nehmen Sie am Expertenaustausch teil und teilen Sie Ihre Gedanken in den Kommentaren mit. Wir freuen uns auf Ihre Beiträge!

      0 Kommentare

      Einen Kommentar abschicken

      Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

      GetSafe 360° Box

      360° Website OptimierungWordPress-TuneUp

      Sichern der Administration und Login-Seite
      Auslesen von Benutzernamen verhindern
      Inhaltsicherheitsrichtlinie (CSP)
      Blockieren verdächtiger User-Agents
      SQL-Injections und XSS-Absicherung
      HTTP-Sicherheits-Header

      Normalerweise 145,-
      Zeitlich befristetes Angebot zum Sonderpreis für nur

      95,-
      100% Geld-zurück-Garantie – keine Folgekosten.
      Preis versteht sich als Nettopreis zuzüglich Mehrwertsteuer.