Projekte gegen Hacking schützen

Bild von Less Than
Bild von Less Than

Um Projekte wirksam vor Hacking und unautorisierten Zugriffen zu schützen, ist eine mehrschichtige Sicherheitsstrategie entscheidend. Ein Squid-Proxy-Server kann dabei eine wichtige Rolle spielen, indem er den Datenverkehr kontrolliert, filtert und sensible Systeme vom direkten Internetzugriff abschirmt.

Über den Webmaster Friday hatte ich hier noch gar nichts geschrieben. Hier wird jeden Freitag ein Thema ausgesucht. Zu diesem Thema können dann die verschiedensten Blogger 1 Woche lang ihre Meinung schreiben. Es ist also wie eine Blogparade, die nur 1 Woche geht.

Dieses Mal ist das Thema: Wie schützt ihr eure Projekte und euch vor Hacking-Angriffen? Ich halte das auf jeden Fall für etwas Spannendes. Denn nichts ist ärgerlicher, als wenn ein Projekt gehackt wird und damit irgendwelcher Schrott angestellt wird. Daher sollte man sich lieber davor den ein oder anderen Gedanken um das Thema Sicherheit machen. Die hundertprozentige Sicherheit gibt es natürlich nirgends, aber man kann auf jeden Fall schauen, dass man nicht zum Opfer irgendwelcher Script Kiddies wird.

Keylogger auf dem eigenen System

Das Thema Sicherheit fängt aber nicht erst bei den eigenen Projekten an, es beginnt schon beim Öffnen und Lesen der eigenen E‑Mails und beim Surfen im Internet. Seid immer vorsichtig, welche E-Mails ihr lest bzw. wo ihr herumsurft und eure Daten eingebt. Denn wenn einmal ein Keylogger auf eurem System ist, wird es umso schwerer, ihn komplett zu entfernen bzw. ihr müsst ihn erst einmal finden (viele Menschen entdecken solche Schadsoftware trotz Antivirenschutz nicht). Häufig haben auch irgendwelche Personen sich schon etwas eingefangen und glauben, sie können noch ganz sicher im Netz surfen.
Wenn ihr aber einmal einen Keylogger auf eurem System hat kann der Hacker damit alle eure Tasteneingaben mitlesen und bekommt diese zugeschickt. Wenn er das Ganze jetzt einigermaßen schlau filtert, bekommt er zügig raus, was eure Passwörter sind.

Die Gefahr kann auch im eigenen Netzwerk lauern (Sniffer)

Die Passwörter von einem können aber nicht nur durch irgendwelche Programme, welche sich auf dem eigenen Computer befinden, herausgefunden werden. Nein, auch wenn man sich in einem Netzwerk befindet, könnte es zu Problemen kommen. Gehen wir einfach einmal davon aus, euer WLAN ist ohne ein Passwort geschützt. Euer Nachbar weiß das und geht mit ins Netz und surft darüber. Vielleicht denkt ihr erst ok ist nicht so schlimm ich habe ja ohnehin eine Flatrate daher fallen keine weiteren Kosten für mich an. Hier ist aber immer wichtig, dass man beachten muss: Der Anschluss ist über einen selbst angemeldet und wer weiß, was der Nachbar im Schilde führt.
Daher ist es auch wichtig, dass ihr eure Netzwerke gut schützt, sodass niemand anders darauf Zugriff hat als ihr.
Wenn sich jemand in eurem Netzwerk befindet, kann er z. B. auch mit sogenannten Sniffern euren Netzwerktraffic mithören. Das bedeutet, er sieht alles, was über eure Netzwerkkarte geht, also welche Internetseite ihr besucht und wann ihr euch zu eurem FTP-Server verbindet, auf dem sich eure Webseite befindet. Er bekommt einfach alle mit, was von eurem Computer in Richtung Internet geht.
Aber das ist nicht genug, er sieht auch eure Passwörter, wenn diese nicht verschlüsselt sind. Denn wenn ihr kein SSL oder TLS eingestellt habt, werden die Passwörter mehr oder weniger sichtbar verschickt, sodass der Angreifer, welcher euren Netzwerktraffic mit snifft, auch mit entsprechenden Filtern schnell sieht, wie z. B. euer FTP-Passwort ist.
Daher mein Tipp: Benutzt auf jeden Fall immer gesicherte Verbindungen per SSL oder TLS.
Für die Leute, die sich mit diesen Techniken nicht auskennen. Überprüft und erfragt, ob ein Webseitenbetreiber seine Seiten über HTTPS bereitstellt. Erfragt, ob euer Hosting-Provider euch die Möglichkeit einräumt, durch euren FTP-Client (beispielsweise FileZilla) eine TLS/SSL-Verbindung aufzubauen. Besteht auf eine gesicherte Verbindung bei Datenübertragungen durch FTP (egal wo), denn dieses Protokoll ist von sich aus unsicher. Mit diesen beiden Regeln ist schon viel gewonnen.

Vorsicht vor Phishing Webseiten

Es gibt auch noch eine weitere Falle, welche einem gestellt werden kann, hierbei handelt es sich um sogenannte Phishing-Seiten. Das sind Webseiten, welche genauso wie die eigentliche Originalseite aussehen, nehmen wir mal als Beispiel GMX. Ihr habt dort ein E-Mail-Konto und loggt euch auch immer mit euren Benutzerdaten dort ein. Jetzt könnte es sein, dass ihr eine E-Mail bekommt, in der irgendwas steht: Es gab die und die Änderungen bei GMX, man soll sich mal bitte einloggen und seine Daten überprüfen. In der E-Mail ist auch gleich ein Link zu GMX enthalten. Wenn man aber auf diesen klickt, gelangt man auf die Phishing-Seite. Ihr werdet es beim Aussehen nicht erkennen, dass es nicht die Originalseite ist, denn diese Webseiten werden meistens so gut nachgebaut, dass man glaubt, auf der echten Webseite zu sein.
Wenn ihr dort auf der Webseite eure Userdaten eingebt, werden diese von dem Übeltäter gespeichert und schon kennt er euer Passwort. Nach der Eingabe eurer Daten passiert meist nichts. Euch wird wahrscheinlich mitgeteilt, dass aktuell ein Problem vorliegt und ihr später noch einmal wiederkommen sollt.
Alle modernen Browser haben Schutzmechanismen und auch die Suchmaschinenriesen versuchen, diesen Seiten das Handwerk zu legen. Man kann sich aber natürlich nicht immer darauf verlassen. Man sollte immer die Augen offenhalten und im Zweifelsfall den jeweiligen Anbieter befragen und informieren.
Seid also immer vorsichtig, auf was für Webseiten ihr geht und wo ihr eure Userdaten eingebt.

Verschiedene sichere Passwörter benützten

Das waren jetzt zwar alles keine Informationen zum Schützen der eigenen Projekte, aber wenn hier ein Angreifer das eigene Passwort herausbekommt, kann er auch das Projekt übernehmen, wenn man dort das gleiche Passwort benutzt.
Hier rate ich euch: Benutzt auf jeden Fall nicht überall ein und dasselbe Passwort. Nehmt verschiedene Passwörter, auch wenn es dann vielleicht etwas schwerer mit dem Merken ist. Ihr seid auf jeden Fall sicherer, wenn ihr mehrere Passwörter habt. Denn so hätte ein Angreifer nur ein Passwort geknackt und käme damit nicht in alle eure Konten. Wenn ihr euch nicht mehr Passwörter merken könnt, gibt es auch sogenannte Passwortmanager. Dort könnt ihr eure ganzen Passwörter speichern und mit einem einzigen Master-Passwort versehen. So müsst ihr euch dann doch nur noch ein Passwort merken. Ich finde es aber immer noch besser, wenn man seine Passwörter direkt im Kopf hat.
Essenziell ist es ebenfalls, dass ihr ein sicheres Passwort wählt, NICHT etwas wie liebe, test1234, 123456 oder passwort etc., denn so ein Passwort ist rasch geknackt. Am besten verwendet ihr irgendwelche Wörter, welche zusammen gar keinen Sinn ergeben. Oder ihr denkt euch einen Satz aus und verwendet von diesem nur den ersten Buchstaben von jedem Wort. Benutzt auch Groß- und Kleinbuchstaben und Zahlen. Je komplizierter für euch das Passwort aussieht, desto schwerer ist es auch zu knacken.

Schützen eigener Projekte gegen Hacking

Jetzt aber zum eigentlichen Thema, wie man seine eigenen Projekte absichert. Denn was bringt es einem, wenn man die ganzen oben genannten Dinge berücksichtigt, aber das eigene Projekt eigentlich eine riesige Sicherheitslücke ist? Bei dem eigenen Projekt sollte man aber auch wieder eine Unterteilung in 2 Bereiche machen. Einmal das Absichern eines fertigen Content-Management-Systems und zum anderen, wie man ein selbst programmiertes Projekt gegen Hacking schützt.

Fertige Content-Management-Systeme schützen

Gehen wir jetzt erst einmal davon aus, man hat sich für ein CMS entschieden. Hier sollte man auf jeden Fall schauen, dass man die aktuelle Version benutzt und nicht irgendeine alte Version. Denn die alten Versionen haben häufig Sicherheitslücken, welche mit einem Update gefixt wurden. Es soll nicht heißen, dass die neueste Version immer top sicher ist, aber man ist meistens auf der sicheren Seite, als wenn man mit einem alten System unterwegs ist. Denn bei irgendwelchen alten Versionen eines Scripts gibt es im Internet häufig irgendwelche Exploits. Ein Exploit ist ganz grob erklärt eine Demonstration einer Sicherheitslücke. Dies soll eigentlich dazu dienen, dass die Entwickler sehen, welchen Fehler sie in ihrem System haben, damit sie diesen beheben können.
Aber häufig wird ein solches Exploit auch von irgendwelchen Script-Kiddies benutzt, um sich Zugriff auf andere Webseiten zu verschaffen. Also ist es wichtig, seine Skripte regelmäßig zu updaten. Lest euch auch immer durch, was bei dem Update eigentlich behoben wurde. So seht ihr auch schnell, wie wichtig es ist, das ein oder andere Update schneller einzuspielen, oder ob ihr euch damit auch Zeit lassen könnt.
Seid am besten auch aktiv in den Communitys der jeweiligen Skripte. Dort wird meist zügig gepostet, wenn irgendwo eine Sicherheitslücke auftaucht. Oder ihr schaut immer wieder bei Heise Security vorbei. Wenn bei irgendeinem Skript eine Sicherheitslücke entdeckt wurde, heißt es oft auch nicht, dass es gleich einen Tag später ein Update geben wird, welches diese Lücke beseitigt.
Aber vielleicht könnt ihr, solange die Lücke noch nicht gefixt wurde, etwas umstellen, sodass die Lücke fürs Erste geschlossen ist, bis das Update kommt. Wie ich etwas weiter oben geschrieben habe, helfen hier oft die Communityforen optimal weiter, da jeder dann dieses Problem hat und es beseitigen möchte.
Wenn ihr euch für ein neues CMS entscheidet, schaut am besten erst einmal etwas herum, was ihr für Meinungen dazu im Netz findet. Vertraut nicht allem blind und denkt: ah die Feature-Liste klingt überzeugend, das baue ich ein. Auf den ersten Blick kann etwas enorm toll aussehen, aber dann ist es innen drin doch nichts Gutes.
Wenn man jetzt vom Allerschlimmsten ausgeht, könnte es sogar wie bei dem Trojanischen Pferd sein: Es wird irgendetwas Tolles angeboten, aber im Hintergrund werden alle Daten, irgendeiner Person geschickt. So etwas kommt aber zum Glück nicht oft vor. Aber wie zuvor erwähnt: Schaut alles erst einmal etwas kritisch an und schaut nach Meinungen von anderen Usern.

Selbst programmierte Projekte gegen Hacking schützten

Hier kommt es auch wieder darauf an: Habt ihr ein Projekt selbst gecodet oder habt ihr es programmieren lassen? Wenn ihr selbst Programmierer seit solltet ihr ja eigentlich von der Materie relativ gut Ahnung haben und wissen, wo ihr welche Rechte setzt. Was für Funktionen ihr einbaut, dass ihr Usereingaben filtert und das ganze Zeug. Wenn ihr aber etwas programmieren lasst, müsst ihr euch mehr oder weniger auf den Coder verlassen. Daher solltet ihr vielleicht auch für ein wichtiges Projekt nicht irgendjemanden nehmen, der jetzt 2 Wochen ein paar Tutorials gelesen hat und programmieren will. Denn hier könnte es vorkommen, dass dieser den ein oder anderen Fehler macht, welchem der Hacker helfen könnte, die Kontrolle über das System zu erlangen.
Schaut auf jeden Fall, dass eure Rechtssysteme gut sind, wenn ihr das habt, nicht dass ein normaler User vielleicht doch in den Adminbereich kommen kann oder so, wenn er den richtigen Link kennt.
Ihr könnt z. B. euren Admin-Bereich durch einen Htaccess-Passwortschutz zusätzlich schützen. So muss man, um in den Adminbereich zu gelangen, noch einen anderen Usernamen und ein Passwort eingeben. Bei dieser Htaccess-Variante wäre es z. B. auch noch möglich, dass ihr den Log-in so weit schützt, dass ihr nur noch mit eurer IP hineinkommt. Vielleicht denkt ihr jetzt: Ich habe doch eine dynamische IP, wie soll das dann gehen? Ihr gebt dazu nur eure IP-Range zum Schutz ein. Das bedeutet, nur die beiden ersten Bereiche der IP werden in die .htaccess-Datei eingetragen, das wäre bei der IP 127.0.0.1 also 127.0. und schon würde jemand aus einer anderen IP-Range nicht mehr in den Admin-Bereich kommen.
Sonst ist es bei eigenen Skripten natürlich auch angebracht, die auf Herz und Nieren zu testen. Macht euch am besten einen Plan, was man bei eurem Skript alles machen kann, und probiert auch die kuriosesten Sachen aus. Wenn euch Fehler auffallen, dokumentiert diese und schaut später danach. Lasst am besten auch noch andere Personen euer System testen, denn wenn man selbst der Programmierer ist, kommt man oft auf die ein oder andere Idee gar nicht, welche ein User durchführen möchte.

Den eigenen Server gegen Hacking schützten

Einige Webmaster haben ihre Projekte auf einem Webspace und müssen sich daher keine großen Gedanken um das Thema Server machen. Wenn man sich aber doch einen Server zulegt, sollte man sich im Klaren sein, dass man sich auch regelmäßig um diesen kümmern muss, damit er sicher ist. Ich hatte hier schon geschrieben, wie man als aller erstes einen den SSH-Zugang bei Linux schützen kann. Hier gilt eigentlich auch das Gleiche wie bei einem CMS: Haltet euer System auf dem neuesten Stand, denn sonst kommt irgendjemand mit einem Exploit und verschafft euch Zugang zu eurem Server. Bei einem Server wäre es fast noch ärgerlicher als bei nur einem Webprojekt, denn häufig liegen auf einem Server einige Projekte, welche der Hacker dann verändern könnte.
Vielleicht merkt man es auch manchmal gar nicht, dass sich ein Hacker auf dem eigenen Server breitgemacht hat, weil er jetzt nichts so Offensichtliches mit dem Server anstellt. Vielleicht setzt er aber Links auf euren Webprojekten auf irgendwelche Spammy-Seiten. So etwas wäre doch enorm ärgerlich, vor allem, weil eure Webseiten dadurch auch einen Trustverlust riskieren können, und bis man da wieder herauskommt, braucht es richtig lange.
Holt euch also einen Server nur wenn ihr euch damit auch aus kennt und nicht ah Server sind gerade so billig ich will jetzt auch einen. Selbst wenn ihr euch einen Windows-Server holt, das ist schon etwas anderes als nur ein normales Windows-System. Wenn ihr z. B. einen SQL-Server aufsetzt und hier dann einen Standard-User-Account mit dem Usernamen root und dem Passwort root erstellen lasst, wird euer Server nicht mehr lange nur von euch alleine administriert. Es wird rasch ein Hacker merken, dass euer Server ihn fast einlädt, das er sich dort einnisten soll. Wenn der Hacker einmal auf eurem System ist, werdet ihr ihn auch nicht mehr so schnell los, wie ich es auch schon bei dem Keylogger geschrieben habe.
Der Hacker wird sich höchstwahrscheinlich das ein oder andere Hintertürchen bauen, damit er wieder auf euer System kommen wird, wenn ihr seine Haupttüre schließt. Das würde also heißen, dass ihr euer Serversystem komplett neu aufsetzen dürft, und das ist dann wieder einiges an Arbeit, welche man auf sich nehmen muss. Außerdem sind in der Zeit die eigenen Projekte auch down oder man braucht einen zweiten Server oder Webspace, wo man sie so lange lagern kann.
Daher rate ich noch einmal: Wenn ihr euch mit Servern nicht so gut auskennt, richtet euch lieber zu Hause mit einem alten Rechner mal einen Server ein und spielt daran etwas herum. Oder setzt eine VMware mit einem Serversystem auf und lernt dort etwas, was es heißt, einen Server zu administrieren.
Wenn ihr aber dafür keine Zeit habt und für ein bestimmtes Projekt trotzdem einen Server benötigt, haben auch verschiedene Anbieter Managed Server. Hier übernimmt der Anbieter das Administrieren des Servers und man muss sich selbst nicht mehr darum kümmern. Oder ihr sucht euch eine externe Person, z. B. einen Freelancer, welchen ihr mit der Serveradministration beauftragt. So habt ihr auch einen Rootserver, auf dem man alles nach den eigenen Wünschen konfigurieren kann, aber man muss keine Angst haben, dass der Server bald gehackt ist.

Dieser Artikel ist jetzt zwar doch etwas länger geworden, aber das Thema, wie man sich gegen Hacking schützt, kann man nicht in ein paar Sätzen abhandeln. In diesem Artikel ist auf jeden Fall auch nicht alles drin, das man 100 % sicher ist gegen Hacking. Eine Sicherheit von 100 % kann einem eigentlich keiner garantieren. Denn man weiß nie, welche Sicherheitslücken in einem System noch schlummern. Aber man kann auf jeden Fall schauen, dass das eigene System und die Projekte recht sicher sind.
Ich hoffe, dass ich euch mit diesem Artikel den ein oder anderen Tipp geben konnte, was ihr zum Thema Sicherheit alles machen könnt.

Schreibe einen Kommentar