Frage:
Was sind die Gefahren der Werbung für meine MySQL-basierte Amateur-Site?
Carcigenicate
2016-02-15 02:45:50 UTC
view on stackexchange narkive permalink

Ich habe kürzlich mit der serverseitigen Programmierung begonnen und eine Seite mit einer Zeichenfläche erstellt, auf der Benutzer ein Bild öffentlich zeichnen und speichern sowie von anderen erstellte Bilder überschreiben können.

Für Kicks, dachte ich den Link in den sozialen Medien zu bewerben, um zu sehen, was passiert. Ich möchte meinen Computer lieber nicht nur zum Spaß in Gefahr bringen.

Meine Hauptanliegen sind, dass jemand auf den Rest meines Systems zugreifen oder Dateien von der Site löschen kann.

Sind beide Probleme von Bedeutung?

Kurzinformationen zum Setup:

  • Ich verwende XAMPP 7.0.1 unter Windows 10 Home . Abgesehen davon, dass ich ein Passwort auf meinen MySQL-Server geschrieben habe, habe ich wirklich nichts Sicherheitsorientiertes getan, so dass es in Bezug auf die Sicherheit als "out-of-the-box" betrachtet werden könnte.

  • Es verwendet eine MySQL-Datenbank und die MySQLi-Bibliothek von PHP, aber wie oben erwähnt, habe ich es passwortgeschützt und darauf geachtet, eine Injektion zu verhindern.

Fünf antworten:
schroeder
2016-02-15 02:51:52 UTC
view on stackexchange narkive permalink

Oh mein Gott. JA! All diese Dinge geben Anlass zur Sorge. Sie stellen Ihren Server nur dann öffentlich zur Verfügung, wenn Sie bereit sind, diesen Server von einer böswilligen Partei übernehmen zu lassen.

Alles, was Sie tun müssen, ist, eine Fehlkonfiguration oder eine Sicherheitslücke zu finden, und sie können Ihren PC besitzen, mit dem Sie beispielsweise auf persönliche Konten (E-Mail, Banken usw.) zugreifen.

Öffentliche Server müssen gesperrt sein und nur die Informationen enthalten, die für die Bereitstellung eines Dienstes erforderlich sind. Der beste Fall ist, dass dieser Server gesichert und verfügbar ist, falls er kompromittiert wird. Wenn etwas Schlimmes passiert, blasen Sie es weg und stellen es aus Backups wieder her.

Setzen Sie Ihren PC auf diese Weise nicht der Öffentlichkeit aus, insbesondere wenn Sie benutzerdefinierten Code verfügbar machen und nicht verstehen, wie verwertbar er ist ist.

Das sollte also nur Leuten überlassen werden, die wissen, was sie tun? Das ist bedauerlich. Ich war neugierig, welche Art von Verkehr ich bekommen würde, aber es lohnt sich nicht, meinen Computer solchen Risiken auszusetzen.
@Carcigenicate Sie können Cloud-Server für ein paar Cent einrichten. Zum Beispiel Amazon EC2. Jeder, der sich anmeldet, erhält 750 Stunden pro Monat kostenlose t2.micro-Nutzung. Es ist 1 GB RAM und kleine Festplatte, aber perfekt zum Testen von Servern. Es ist auch einfach, Sicherheitsprofile für jeden der getesteten Server zu erstellen. Wenn Sie etwas Stärkeres benötigen, ist die Verwendung von Spot-Anfragen, um einen besseren Server zu erhalten, ebenfalls sehr kostengünstig.
@cremafraiche Danke. Dies ist jedoch nur zu meiner eigenen Unterhaltung gedacht, daher ist es wahrscheinlich ein Weg, bevor es sich lohnt, sich mit externem Hosting zu befassen, auch wenn es billig ist.
@cremefraiche Danke. Vielleicht werde ich es untersuchen, wenn es einfach ist.
@Carcigenicate Diejenigen, die wissen, was sie tun, werden es nicht tun (stellen Sie ein System mit privaten Informationen auf, in dem es auf diese Weise angegriffen werden kann).
Als Empfehlung: Verwenden Sie KeePass oder ähnliches, um die Kennwörter zu generieren, die Sie auf diesen Systemen verwenden. Das Schlimmste für Sie wäre, einen Server einzurichten, versehentlich ein Loch zu haben. Der Angreifer erhält dann Ihr Passwort, das Sie überall verwenden, und jetzt wünschen Sie sich, Sie wären tot. Oder sie waren es. Unabhängig davon - verwenden Sie etwas, um sichere und eindeutige Kennwörter für alle Konten zu generieren und zu speichern, die Sie in Bezug auf dieses Projekt verwenden.
@Carcigenicate Wenn Sie nur ein Nebenprojekt durchführen, möchte ich Sie zur Vereinfachung ermutigen, indem Sie ein bewährtes System Ihre anfänglichen Infrastrukturprobleme in den Griff bekommen. Mit Diensten wie OpenShift können Sie Module per Drag & Drop in Ihren Knoten ziehen, was wiederum für eine geringe Nutzung kostenlos ist, und Sie können sich auf Inhalte und Logik konzentrieren, anstatt ...
+1 für die kostenlos gehosteten Server. MS bietet auch mit Azure ein gutes Basispaket, das Ihnen einen kostenlosen Server mit geringem Stromverbrauch bietet, der sich perfekt für einfaches Webhosting eignet.
cremefraiche
2016-02-15 02:58:42 UTC
view on stackexchange narkive permalink

Meine Hauptbedenken sind, dass jemand auf den Rest meines Systems zugreifen oder Dateien von der Site löschen kann.

Sind beide Bedenken?

Ja und Ja.

Warum?

Sind einige der Gründe das fällt mir ein.

Philipp
2016-02-15 03:58:10 UTC
view on stackexchange narkive permalink

Um Ihr Projekt vom Rest Ihres Systems zu isolieren, können Sie eine virtuelle Maschine einrichten, eine minimale LAMP-Konfiguration (Linux, Apache, MySQL, PHP) darauf installieren und Ihre Anwendung dort installieren. Selbst wenn Ihre virtuelle Maschine völlig ausgelastet ist, ist Ihre normale Maschine relativ sicher (nur "relativ", da einige bekannte Schwachstellen in der VM-Software bekannt waren, die es ermöglichten, aus dem Gastsystem zu entkommen, um das Hostsystem zu beeinflussen, aber diese sind relativ dunkel). . Wenn Ihre VM zu einem von Malware befallenen Spam-Computer wurde, können Sie ihn problemlos auf einen bekannten guten Snapshot zurücksetzen oder ihn mit einem einzigen Klick vollständig beenden.

Die Bereitstellung Ihres Projekts in einer virtuellen Maschine ist ebenfalls eine gute Sache So können Sie später lernen, wie Sie einen "echten" Server für Ihr Projekt einrichten, falls Sie sich entscheiden, einen zu mieten.

Eine kostenlose Software (wie in Bier), die dies ermöglicht, ist Virtual Box zum Beispiel.

VM-Escape-Effekte sind nicht die einzige Überlegung. Es gibt auch die interne Netzwerksicherheit. Jeder, der die Kontrolle über eine VM übernommen hat, die auf einem Desktop-PC ausgeführt wird, hat die Firewall des Heimrouters umgangen. Sie müssen sich also Gedanken darüber machen, welche anderen Computer mit der VM vernetzt sind und wie sicher diese sind.
jk - Reinstate Monica
2016-02-15 16:15:09 UTC
view on stackexchange narkive permalink

Tatsächlich spielt es für einen typischen Angreifer keine Rolle, ob Sie für Ihren Dienst werben oder nicht. Typische Angreifer scannen routinemäßig alle verfügbaren IP-Nummern nach Webservern und versuchen, diese anzugreifen, sobald sie online gehen.

Der einzige nachteilige Effekt von Werbung kann eine Verkehrsüberlastung und die Nichtverfügbarkeit Ihres Servers aus diesem Grund sein.

Sie müssen die Sicherheit berücksichtigen, sobald Sie online gehen.

Die Port / IP-Scanner sind auch in meinem Netzwerk ein echtes Problem. Mein ISP weist nicht einmal eine statische IP zu, und normalerweise werden in meinem MySQL mehrere Versuche ausgeführt (ich habe es für das öffentliche Internet geöffnet, um einen Teil meiner Arbeit zu erledigen).
Ich verwende tatsächlich einen nicht standardmäßigen Port, daher ist es unwahrscheinlich, dass er über das Scannen gefunden wird.
@Carcigenicate-Scannen ist genau das ... Scannen, um herauszufinden, welche Ports offen sind. Der Gedanke, dass es unwahrscheinlich ist, dass jemand Ihren Server findet, ist ein schlechter Ausgangspunkt. Angenommen, jemand wird es finden und dann tun, was Sie tun müssen, um sicherzustellen, dass es nicht wirklich wichtig ist, ob er es tut.
@rooby Ich weiß, dass es möglich ist, aber ich habe meinen Server w Monate lang ohne Rücksicht auf die Sicherheit geöffnet (keine gute Idee, ich weiß), und ich habe keine seltsamen Zugriffe in meinen Protokollen. Ich weiß, dass es möglich ist, aber der "Port-Space" ist ziemlich groß, nicht wahr? Wie 65k?
@Carcigenicate im großen Schema der Dinge 65k ist nicht so viele. Es reicht nicht aus, Brute Force zu Zeitverschwendung zu machen (insbesondere wenn niemand Ihre Protokolle überwacht). Es ist möglich, dass niemand Sie angreift, aber wenn Sie davon ausgehen, dass dies möglich ist, und Vorsichtsmaßnahmen treffen, können Sie in Zukunft große Kopfschmerzen vermeiden. Wenn Sie in diesem Fall davon ausgehen, dass eine böswillige Person auf Ihre Website zugreifen kann, und wenn Sie sich nicht auf die Sicherheit Ihres Codes und / oder Ihrer Konfiguration verlassen konnten, ist es möglicherweise besser, anderswo zu hosten.
TOOGAM
2016-02-16 13:43:21 UTC
view on stackexchange narkive permalink

Dies muss kein Problem sein. Oder es kann ein großes Problem sein.

Was befindet sich noch auf Ihrem Computer?

Wenn die Antwort lautet: "Nichts anderes, was mich interessiert; dies ist ein Computer, auf dem ich Windows installiert habe in der letzten Woche, und es sind keine vertraulichen Daten darauf, und alle wichtigen Daten wurden vor drei Minuten gesichert, und ich bin bereit, alles zu löschen, falls ein Angreifer meinem System schlechte Dinge antut und keine anderen Computer auf dem System vorhanden sind Netzwerk, das von dieser Dummy-Maschine angegriffen werden könnte ", dann machen Sie auf jeden Fall weiter.

Und nur damit Sie nicht glauben, dass ich lächerlich sarkastisch bin: Ich habe zwei solcher Maschinen in mein Haus gerade jetzt. Sie werden von Live-CDs mit minimaler Sicherheit gebootet (nur zwei Standardkennwörter wurden geändert), aber sie sind durch eine Firewall geschützt und das Betriebssystem verschwindet effektiv, sobald ich das Gerät später in dieser Woche ausschalte.

Meine Hauptanliegen sind, dass jemand auf den Rest meines Systems zugreifen oder Dateien von der Site löschen kann.

Ihre Sicherheit klingt recht minimal und ist es nur Es ist vernünftig zu glauben, dass Sie ziemlich schnell angreifen können. Machen Sie die Dinge entweder viel sicherer oder machen Sie es so, dass Sie sich keine Sorgen machen müssen, dass Angreifer Ihr System zerstören. Ihr einfachster Ansatz könnte darin bestehen, Geld für den Kauf eines anderen (möglicherweise gebrauchten) Computers auszugeben, den Sie nicht interessieren, damit Sie mit Dingen, die Ihnen wichtiger sind, keine unnötigen Risiken eingehen.

Übrigens möchte ich die Idee von Backups noch einmal betonen. Überlegen Sie, welche Daten wichtig sind, und stellen Sie sicher, dass alle Daten gesichert sind. Wenn dies nicht der Fall ist, schlage ich vor, dieses Projekt (das Sichern von Daten) vor dem Experimentieren mit dem Hinzufügen neuer Dienste zu priorisieren.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...