it-swarm-eu.dev

Wie sicher ist es, XAMPP auf meinem Heimcomputer zu installieren, um PHP Code) zu testen?

Ich möchte etwas PHP Code) testen und ich denke, der beste Weg ist die Installation von XAMPP - aber ich bin nervös, wenn ich Serversoftware auf meinem Heimcomputer installiere.

Ist es im Allgemeinen sicher, XAMPP zu installieren (da ich es noch nicht getan habe und nicht viel Erfahrung mit der Serversicherheit habe)? Was muss ich beachten? Gibt es alternativ eine sicherere Möglichkeit, PHP Code) zu testen?

18
Frost

Apache und MySQL können so konfiguriert werden, dass sie nur Anfragen von Ihrem eigenen Computer abhören. Für die meisten Testsysteme ist dies in Ordnung und verringert das Risiko erheblich, da die Dienste nicht über das Internet erreichbar sind.

Bevor Sie XAMPP zum ersten Mal starten, suchen und bearbeiten Sie diese Dateien:

Für Apache bearbeiten Sie die Dateien xampp\Apache\conf\httpd.conf und xampp\Apache\conf\extra\httpd-ssl.conf. Suchen Sie nach Zeilen, die mit "Listen" beginnen, wie z

Listen 80

und ersetzen Sie sie durch

Listen 127.0.0.1:80

Für MySQL öffne die Datei xampp\mysql\bin\my.cnf, finde den Abschnitt "[mysqld]" und füge diese Zeile hinzu

bind-address=localhost

Nach dem Starten der Dienste überprüfen Sie das Ergebnis, indem Sie zu einem Befehlsfenster gehen und Folgendes starten und ausführen:

netstat -a -n

Die Einträge, die in der letzten Spalte als LISTEN markiert sind, finden Sie in der Spalte Listen. Es sollte immer mit 127.0.0.1 oder :: 1 beginnen, aber nicht mit 0.0.0.0.

22

XAMPP hat eine sehr schlechte Sicherheitsbilanz. Es gibt Sicherheitslücken bei der Remotecodeausführung, die über CSRF ausgenutzt werden können und bekannt und nicht gepatcht sind. (Es ist genau das, was in ihrem beschissenen Beispiel für PHP/MySQL-Anwendungen enthalten ist.) Selbst wenn Sie nur an localhost gebunden sind, kann dies remote ausgenutzt werden. Das Gegenargument ist, dass der Angreifer wissen müsste, dass Sie XAMPP ausführen. Die Installation von PHPMyAdmin ist immer veraltet, und es gibt böse Exploits, die sich auch auf dieses Projekt auswirken.

Mein Vorschlag ist, Ubuntu auf VM zu verwenden. Die LAMP-Installation von Ubuntu ist akut einfacher als XAMPP und akut sicher. Renn einfach Sudo tasksel oder wählen Sie das Paket LAMP aus, wenn Sie es installieren.

5
rook

Haftungsausschluss: Ich bin ein XAMPP-Entwickler.

Es ist sicher, XAMPP auf Ihrem lokalen Computer zu installieren. Sie sind normalerweise über einen Router mit dem Internet verbunden, sodass Sie nicht auf Ihre aktuelle Installation zugreifen können.

Außerdem liefert XAMPP einen Abschnitt "Wie kann ich meine XAMPP-Installation sicherer machen?" , in dem Sie dieser Anleitung folgen können, um das MySQL-Root-Passwort zu ändern, die nicht verwendeten Dienste zu deaktivieren usw.

Kürzlich hat XAMPP das PHP-basierte XAMPP-Dashboard deaktiviert und statische HTML-Anleitungen hinzugefügt. Ein Problem im Zusammenhang mit CSFR oder mit diesem Panel ist jetzt nicht mehr vorhanden.

XAMPP berücksichtigt auch die neuesten Sicherheitsprobleme. Sie können im Blog nachsehen, ob wir so schnell wie möglich neue Versionen veröffentlicht haben.

5
user93088

XAMPP sollte niemals in einer Produktionsumgebung verwendet und streng gesperrt werden, und es sollten Schritte unternommen werden, um es auf einem Entwicklungscomputer zu sichern, einschließlich Upgrades oder Sicherheitspatches der ursprünglichen Softwareanbieter (PHP, Apache, MySQL usw.).

Wenn Sie sich für die Installation von XAMPP entscheiden, stellen Sie sicher, dass nur Verbindungen von der Loopback-Adresse zugelassen werden. Sie sollten dies für Apache, MySQL und alle anderen Dienste überprüfen, die Sie für XAMPP eingerichtet haben. Als ob Sie über etwas verfügen, auf das intern über das LAN zugegriffen werden kann, und dass jemand anderes wissentlich oder unwissentlich in Ihrem Netzwerk Exploits verwendet, um Zugriff auf Ihren Computer zu erhalten und Schäden zu verursachen.

1
ITOps

Also, was meinst du genau mit "sicher"?

  1. Sind Sie besorgt über die Datensicherheit oder den Datenschutz? (d. h. andere können sich über die Serveranwendungen in Ihren PC hacken und Ihre lokalen Daten anzeigen/steuern)?
  2. Oder machen Sie sich Sorgen um Ihren PHP-Code oder die Software, die Ihren Computer beschädigen wird?

Für 1) ist es im Allgemeinen nicht möglich, remote auf Ihren Computer zuzugreifen, wenn Sie Ihr Betriebssystem gut konfiguriert haben. In den meisten Fällen ist Ihre lokale Netzwerkumgebung durch NAT, Firewalls und andere Techniken wie dynamische IP-Richtlinien geschützt. Apache kann auch so konfiguriert werden, dass nur lokale Besuche akzeptiert werden, wie @HendrikBrummermann betont.

Versuchen Sie für 2) einfach, robusten Code zu schreiben, und das ist alles, was ich vorschlagen kann. Apache und MySQL sind sehr leichte Serveranwendungen. Sie führen nur lokale Tests durch, daher sollte es im Allgemeinen keinen starken Datenverkehr oder hohen Rechenaufwand geben, der Ihr System zum Erliegen bringen könnte.

0
shuangwhywhy

Es gibt ist eine sicherere Möglichkeit, Ihren Code zu testen. Sie können und sollten Ihre Serversoftware (von XAMPP/WAMP unter Windows bis Ubuntu Server) in einer virtuellen Maschine installieren. Es ist nicht so entmutigend, wie es zunächst klingen mag, obwohl es übertrieben sein kann, wenn Sie nur Ihren eigenen Code entwickeln.

A VM verhindert effektiv, dass alles, was mit Ihrem Server passiert (der Gast), auf Ihren Heimcomputer übertragen wird, auf dem die virtuelle Maschine ausgeführt wird (der Host). Stellen Sie sich vor, Sie haben die Berechtigungen falsch konfiguriert und ein Skript, das Sie testen, führt ein verstecktes system('rm -Rf some_dir') aus. Kein Problem! Setzen Sie Ihre VM auf den neuesten Snapshot zurück und los geht's. Sie können sogar die Snapshots unterscheiden, um zu sehen, was sich geändert hat.

Darüber hinaus ist der Netzwerkadapter auf meiner VM der Wahl NATs der VMs, wodurch Sie gezwungen sind, die Portweiterleitung für die VM) manuell zu konfigurieren, um darauf zuzugreifen, geschweige denn dies zu erkennen Es existiert.

Das Testen in einer VM) verringert auch das Risiko eines Datenverlusts durch Malware. Persönlich mache ich mir weniger Sorgen, dass eine App, die ich teste, böswillig etwas löscht, als ich es bin stille es stehlen und lade es irgendwo hoch. Ihr Host-Computer ist für Apps, die auf Ihrer VM ausgeführt werden, nicht sichtbar.

Ich persönlich bin teilweise an Oracle VirtualBox ; Es ist völlig kostenlos, hat genug Funktionen, um mich interessiert zu halten und ist sehr einfach zu bedienen. Die VMs sind auch portabel: Sie können die Datei der virtuellen Maschine auf ein USB-Laufwerk kopieren und zur Arbeit bringen.

Wenn Sie jemals riskant Softwaretests jeglicher Art durchführen möchten, sollten Sie lernen, VMs zu verwenden und dort zu testen: Dies ist eine sehr nützliche Fähigkeit, die Sie in Ihrem Werkzeuggürtel haben sollten.

0
msanford