Projekte gegen Hacking schützen
Ü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 ein Blogparade die nur 1 Woche geht.
Dieses Mal ist das Thema Wie schützt ihr eure Projekte und euch vor Hacking-Angriffe? ich finde das ist auf jeden Fall etwas spannendes. Denn nichts ist ärgerlicher wie 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 das man nicht zum Opfer irgendwelcher Script Kiddys 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 EMails und beim Surfen im Internet. Seit immer vorsichtig welche Emails ihr lest bzw. wo ihr rum surft und eure Daten eingebt. Denn wenn einmal ein Keylogger auf eurem System ist wird es um so 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 mit lesen und bekommt diese zugeschickt. Wenn er das ganze jetzt einigermaßen schlau filtert bekommt er sehr schnell 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 heraus gefunden 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 netzt und surft darüber. Vielleicht denkt ihr erst ok ist nicht so schlimm ich habe ja eh eine Flatrate daher fallen keine weiteren Kosten für mich an. Hier ist aber immer wichtig das man beachten muss der Anschluss ist über einen selber angemeldet und wer weiß was der Nachbar im Schilde führt.
Daher ist es auch wichtig das ihr eure Netzwerke gut schützt so das niemand anders darauf zugriff habt als ihr.
Wenn sich jemand in eurem Netzwerk befindet kann er z.B. auch mit so genannten Sniffern euren Netzwerktraffic mit hören. Das bedeutet er sieht alles was über eure Netzwerkkarte geht, also welche Internetseite ihr besucht 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 so das der Angreifer welcher euren Netzwerk Traffic mit snifft auch mit entsprechenden Filtern schnell sieht wie z.B. euer FTP Passwort ist.
Daher mein Tipp benützt 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 eurer 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 Regel 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 so genannte Phishing Seiten. Das sind Webseiten welche genau so wie die eigentliche Originalseite aussehen, nehmen wir mal als Beispiel GMX. Ihr habt dort ein Emailkonto und loggt euch auch immer mit euren Benutzter Daten dort ein. Jetzt könnte es sein das ihr eine Email 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 Email ist auch gleich ein Links zu GMX enthalten, wenn man aber auf diesen klickt gelangt man auf die Phishing Seite. Ihr werdet es beim aussehen nicht erkennen das es nicht die Originalseite ist, denn diese Webseiten werden meistens so gut Nachgebaut das 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 das aktuell ein Problem vorliegt und ihr später nochmal wieder kommen 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 offen halten und im Zweifelsfall den jeweiligen Anbieter befragen und informieren.
Seit 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 heraus bekommt kann er auch das Projekt übernehmen wenn man dort das gleiche Passwort benützt.
Hier rate ich euch benützt 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 seit auf jeden Fall sicherer wenn ihr mehre Passwörter habt. Denn so hätte ein Angreifer nur ein Passwort geknackt und kommt damit nicht in alle eure Konten. Wenn ihr euch nicht mehre 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 1 Passwort merken. Ich finde es aber immer noch besser wenn man seine Passwörter direkt im Kopf hat.
Sehr wichtig ist es ebenfalls das ihr ein sicheres Passwort wählt, NICHT etwas wie liebe, test1234, 123456 oder passwort etc. denn so ein passwort ist extrem schnell geknackt. Am besten nehmt verwendet ihr irgendwelche Wörter welche Zusammen garkeinen Sin vergeben. Oder ihr denkt euch einen Satz aus und verwendet von diesem Nur den ersten Buchstaben von jedem Wort. Benützt auch Groß und Kleinbuchstaben und Zahlen. Desto komplizierter für euch das Passwort aus sieht desto schwerer ist es auch zu knacken.
Schützen von eigenen Projekten 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 Sichrheitslü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 Managementsysteme schützen
Gehen wir jetzt erst einmal davon aus man hat sich für ein CMS entschiedene. Hier sollte man auf jeden Fall schauen das man die Aktuelle Version benützt und nicht irgend eine ganz alte Version. Denn die alten Versionen haben häufig irgendwelche Sicherheitslücken welche mit einem Update gefixed wurden. Es soll nicht heißen das 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 Kiddys benützt um sich Zugriff auf anderen Webseiten zu verschaffen. Also ist es wichtig seine Scripte 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 ein zu spielen oder ob ihr euch damit auch Zeit lassen könnt.
Seit am besten auch Aktiv in den Communitys der jeweiligen Scripte dort wird meist sehr schnell gepostet wenn irgendwo eine Sicherheitslücke auf taucht. Oder ihr schaut immer wieder bei Heise Security vorbei. Wenn bei irgend einem Script eine Sicherheitslücke entdeckt wurde heißt es oft auch nicht das es gleich einen Tag später ein Update geben wird welches diese Lücke beseitigt.
Aber vielleicht könnt ihr so lange die Lücke noch nicht gefixed wurde etwas umstellen so das die Lücke fürs erste geschlossen ist bis das Update kommt. Wie ich etwas weiter oben geschrieben habe helfen hier oft die Communityforen sehr gut weiter da jeder dann dieses Problem hat und es beseitigen möchte.
Wenn ihr euch für ein neues CMS enscheidet schaut am besten erst einmal etwas rum was ihr für Meinungen dazu im Netz findet. Vertraut nicht allem Blind und denkt ah die Feature Liste hört sich gut an das baue ich ein. Auf den ersten Blick kann etwas enorm toll aussehen aber dann ist es innen dring doch nichts gutes.
Wenn man jetzt vom aller Schlimmsten aus geht könnte es sogar wie bei dem Trojanischen Pferd sein, es wird irgend etwas tolles angeboten aber im Hintergrund werden alle Daten irgend eine Person geschickt. So etwas kommt aber zum glück nicht wirklich oft vor. Aber wie gesagt 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 drauf an habt ihr ein Projekt selber gecodet oder habt ihr es programmiren lassen? Wenn ihr selber ein Programmierer seit solltet ihr ja eigentlich von der Materie ganz gut Ahnung haben und wissen wo ihr welche rechte setzt. Was für Funktionen ihr einbaut das 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 irgend jemanden nehmen der jetzt 2 Wochen ein paar Tutorials gelesen hat und programmieren will. Denn hier könnte es er vorkommen das diese den ein oder anderen Fehler macht welchem der Hacker helfen könnte die Kontrolle über das System zu bekommen.
Schaut auf jeden Fall das eure Rechtesysteme gut sind wenn ihr das habt, nicht das ein normaler User vielleicht doch in den Admin Bereich 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ützten. So muss man um in den Adminbereich noch einen anderen Usernamen und ein Passwort eingeben. Bei dieser Htaccess Variante wäre es z.B. auch noch möglich das ihr den Login so weit schützt das ihr nur noch mit eurer IP hinein kommt. 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 Scripten natürlich auch sehr wichtig die auf Herz und Nieren zu testen. Macht euch am besten einen Plan was man bei eurem Script alles machen kann, auch die kuriosesten Sachen ausprobieren, wenn euch Fehler auffallen Dokumentiert diese und schaut später danach. Lasst am besten auch noch andere Personen euer System testen, denn wenn man selber der Programmierer ist kommt 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 das 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 dann sonst kommt irgend jemand 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 das sich ein Hacker auf dem eigenen Server breit gemacht 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 raus kommt 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 sehr schnell ein Hacker merken das 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öchst wahrscheinlich 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 das ihr euer Serversystem komplett neu aufsetzten 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 2. Server oder Webspace wo man Sie so lange lagern kann.
Daher rate ich noch einmal wenn ihr euch mit Servern nicht so gut aus kennt 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 selber 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 muss keine Angst haben das der Server bald gehackt ist.
Dieser Artikel ist jetzt zwar doch etwas länger geworden, aber ich finde 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 das ich euch mit diesem Artikel den ein oder anderen Tipp geben konnte was ihr zum Thema Sicherheit alles machen könnt.
Wenn ihr eure Projekte noch irgendwie anders gegen Hacking schützt würde ich mich freuen wenn ihr es als Kommentar schreibt.