Sicherheitsgrundlagen für Site-Entwickler und Administratoren

Von allen Tech-Themen ist Sicherheit möglicherweise die komplexeste und sicherlich die wichtigste. Dies liegt daran, dass sich die Sicherheit ständig weiterentwickelt. Es ist eine erzwungene Entwicklung, da wir uns an ständig wachsende Bedrohungen anpassen müssen.

Es gibt verschiedene Sicherheitsstufen, für die wir Verantwortung tragen. Die erste Ebene sind wir oder die Organisation, für die wir arbeiten. Die zweite Ebene sind unsere Kunden. Und die dritte Ebene sind die Benutzer der Websites oder Anwendungen, die wir für unsere Kunden entwickeln.

Trotz unserer besten Bemühungen finden Kunden immer Möglichkeiten, den Schutz zu unterminieren, den wir für sie bieten. Sie verlassen sich auf uns als IT-Experten, um ihnen dabei zu helfen, in Sicherheit zu bleiben, aber auch paradox Befolgen Sie selten den Sicherheitshinweis wir versorgen sie mit. Die meisten Benutzer sind wirklich ihre eigenen schlimmsten Feinde.

Was wir also tun müssen, ist es den Kunden so schwer wie möglich zu machen, ihre eigene Sicherheit zu beeinträchtigen, und es ihnen gleichzeitig so leicht wie möglich zu machen, die Aufgaben zu erledigen, die sie tun müssen. Beide Ziele bis zur Perfektion zu erreichen, ist möglicherweise unmöglich. In diesem Artikel werden jedoch einige Möglichkeiten beschrieben, mit denen Sie das Risiko einer Sicherheitsverletzung verringern können.

gif von Patswerk

Schützen Sie Ihre eigenen Geräte und Daten

Sie sind die erste Verteidigungslinie für sich und Ihre Kunden. Wenn Ihre Systeme gefährdet sind, könnte jeder, für den Sie arbeiten, gefährdet sein. Hier sind einige Empfehlungen für die Mindestanforderungen, die Sie zur Vermeidung des Betriebs in einer Umgebung mit erhöhtem Risiko vermeiden können:

  1. Verwenden Sie ein sicheres Desktop-Betriebssystem. Dies ist das einfachste Upgrade, das Sie durchführen können, wenn Sie noch kein sicheres Betriebssystem verwenden. Die sichersten Betriebssysteme sind Linux, Unix und BSD. Sie sollten eines dieser Betriebssysteme als primäres Desktop-Betriebssystem verwenden.
    Der Vorteil für Entwickler und Administratoren besteht darin, dass Sie Zugriff auf eine viel größere Bibliothek an kostenlosen Entwicklungs- und Sicherheitstools erhalten. Die meisten von ihnen arbeiten besser als ihre Windows- oder OSX-Entsprechungen. Um wirklich im paranoiden Modus zu arbeiten, wählen Sie die sichereren Linux-Distributionen wie Papagei, Qubes, und Frack.
  2. Halten Sie die Trennung zwischen dem Betriebssystem und Ihren Daten aufrecht. Wenn Sie Linux oder Unix verwenden, ist dies einfach. Sie müssen lediglich sicherstellen, dass Sie eine Partition oder eine separate Festplatte erstellt haben, auf der sich Ihre Home-Partition befindet. Dann überstehen alle Benutzerdateien eine beliebige Anzahl von Betriebssysteminstallationen. Als Bonus kann von mehreren Betriebssystemen auf Multi-Boot-Systemen aus darauf zugegriffen werden.
  3. Verwenden Sie ein Journaling-Dateisystem, um Datenverlust zu vermeiden, wenn Ihr System abstürzt oder unerwartet angehalten wird.
  4. Spiegeln Sie Ihre Home-Partition. Sichern Sie regelmäßig wichtige Dateien und verwenden Sie die Dateiversionierung, um unbeabsichtigtes Überschreiben zu vermeiden.
  5. Erwägen Sie die Verwendung von Cloud-Backup (nicht zu verwechseln mit Cloud-Sync, die bei weitem nicht so sicher und sicher wie ein echtes Backup ist). Vertrauliche Daten sollten vor dem Hochladen verschlüsselt werden.
  6. Halten Sie Ihr System auf dem neuesten Stand und ignorieren Sie niemals Sicherheitspatches. Systeme, die Rollup-Updates verwenden, haben den Vorteil, dass Sie immer wissen, wann Patches verfügbar sind, was zu patchen ist und warum.
  7. Schulung von Mitarbeitern in Ihrem Unternehmen, um auf Social-Engineering-Methoden aufmerksam zu sein, die gegen sie eingesetzt werden können, um Zugriff auf Ihre Systeme zu erhalten.
  8. Vermeiden Sie das Ausführen von Software aus ungeprüften Quellen. Überprüfen Sie beim Herunterladen von Software aus vertrauenswürdigen Quellen, ob die Dateisignaturen eine authentische Kopie besitzen.
  9. Achten Sie auf die physische Sicherheit Ihrer Computer, insbesondere auf Reisen. Den Laptop überall hin mitzunehmen, ist zwar nicht praktisch, aber besser als einige zu lassen böses Mädchen verderben Sie Ihr BIOS. Wenn es wirklich keine Option ist, Ihren Computer mitzunehmen, sperren Sie ihn in einem abschließbaren Koffer und sichern Sie ihn in einem Safe oder auf andere Weise, so gut Sie können.
  10. Denken Sie immer daran, dass es besser ist, paranoid zu sein, als ein Idiot zu sein, der gehackt wurde.

Illustration von Phantompunkte-Creative

Kunden schützen

Es ist schwierig, Kunden vor IT-Bedrohungen zu schützen, da sie nicht alle das Ausmaß der Bedrohung verstehen, mit der sie konfrontiert sind. Viele werden auch die Ansicht haben, dass, wenn ihre Site kompromittiert wird, es das Problem ist, sie zu ordnen, nicht ihre.

Viele Websites wurden jahrelang ausgenutzt, ohne dass die Websitebesitzer davon Kenntnis hatten, da die meisten böswilligen Angriffe auf Websites deren Präsenz nicht zulassen sollen. Sie können sich daher nicht darauf verlassen, dass die Kunden Sie über Probleme informieren. Sie müssen proaktiv vorgehen.

  1. Versuchen Sie, Ihre Kunden über die Risiken aufzuklären. Das Problem ist meistens auf Unwissenheit zurückzuführen, vor der man auf der Hut sein könnte.
  2. Informieren Sie Firmenkunden über die größte Bedrohung, der sie ausgesetzt sind Insider-Bedrohungen erstellt von ihren eigenen Mitarbeitern und Auftragnehmern (oft unbeabsichtigt, aber nicht immer so). Stellen Sie außerdem sicher, dass sie Probleme wie Social Engineering, Schulter-Surfen und Müllcontainertauchen kennen.
  3. Halten Sie die Server auf dem Laufenden. Führen Sie regelmäßige Sicherungen durch.
  4. Scannen Sie nach Hinweisen auf Hintertür-Exploits oder andere schädliche Aktivitäten. Wenn Sie die Datei- und Ordnerstruktur für die Site so einfach wie möglich gestalten, wird die Erkennung einfacher. Informieren Sie sich, welche Dateien sich in jedem Ordner befinden sollen. Wenn Sie neue Dateien sehen, die nicht bekannt sind oder von Computern generierte Namen zu sein scheinen, ist dies eine ernsthafte rote Markierung.
  5. Sie müssen wissen, welche Dateien sich im Ordner cgi-bin befinden sollten (für die meisten Websites sind dies keine Dateien), da dies ein bevorzugter Speicherort für das Ablegen bösartiger Programme ist.
  6. Überprüfen Sie regelmäßig die htaccess-Datei, um sicherzustellen, dass sie nicht manipuliert wurde.
  7. Es ist unwahrscheinlich, dass der von Ihnen geschriebene Code die Kodierung und Dekodierung von Zeichenfolgen umfangreich ausnutzt oder stark verschlüsselten Inhalt enthält. Wenn PHP-Dateien ungewöhnlichen Code enthalten, ist es unwahrscheinlich, dass es sich hierbei um legitime Dateien handelt. Ungewöhnliche Zeichenkodierungsanweisungen sind auch ein Werbegeschenk. Es ist nicht wahrscheinlich, dass Ihre legitimen Dateien beispielsweise in der Windows-1251-Kodierung codiert werden.
  8. Ändern Sie nach der Bestätigung eines Verstoßes Ihre Passwörter. Überprüfen Sie, ob die Dateiberechtigungen für alle Dateien und Ordner korrekt festgelegt sind. Überwachen Sie, dass der Eindringling zurückgekehrt ist. Auch nachdem Sie Ihr Passwort geändert haben, haben die Angreifer möglicherweise einen Ausweg. Sie müssen sich vergewissern, dass dies nicht der Fall ist. Richten Sie Ihren Server so ein, dass er Sie per E-Mail informiert, wenn Änderungen am Server vorgenommen werden.
  9. Helfen Sie Ihren Benutzern, Passwörter auszuwählen, indem Sie ihnen die Regeln auf verständliche Weise erklären. So legen die meisten Leute ihre Passwörter fest: jenny23T Dies ist, wie Systemadministratoren ihnen normalerweise raten, ihre Passwörter festzulegen: n @ ^ 2z`jGAnd - das Problem ist, dass das erste Passwort in Sekundenschnelle geknackt werden kann, während das zweite Passwort geknackt werden kann in wenigen Stunden. Es besteht auch keine Hoffnung, dass sich der Benutzer an das komplexere Passwort erinnert. Hier ein Beispiel für ein Kennwort, das mehrere Sekunden dauern kann, um zu knacken und könnte nie vergessen werden: Ialwaysfly @ 40,000feet - Zu den Merkmalen des obigen Kennworts gehören: Über 20-Zeichen, eine Mischung aus Groß- und Kleinbuchstaben, sowohl Zahlen als auch Buchstaben Nicht-alphanumerische Zeichen, leicht einprägsam. Ein ähnliches Beispiel könnte sein:

    asImove ^ inlife, ich werde nie4getwhereIstartedSie sind wirklich unbegrenzt, wie kreativ Sie mit Kennwörtern werden können, und es gibt so viel mehr Vorteile

    asImove ^ Inlife habe ich im Vergleich zu n @ ^ 4z`jG nicht begonnen. Das erste Beispiel (gemischte 2-Zeichen) würde bis zum Ende der Zeit dauern, um zu knacken und ist leicht zu merken, während das zweite Beispiel (gemischte 41-Zeichen) eingeknackt werden kann unter sechs Stunden Es ist fast unmöglich, sich daran zu erinnern. Denken Sie nicht, dass Sie einfach Wörter zusammenfassen können und alles gut wird, denn die Hacker sind es auf das. Sie müssen immer noch Fälle mischen und nicht alphanumerische Zeichen verwenden Länge ist wichtiger als Komplexität wie die Dinge jetzt stehen. Wenn Sie beides kombinieren, haben Sie einen Vorteil gegenüber denen, die nur das eine oder das andere verwenden.

    Die meisten wörterbuchbasierten Angriffe konzentrieren sich auf Englisch, da dies die am häufigsten verwendete Sprache ist und die meisten der besten Websites, auf die ausgerichtet werden soll (in Bezug auf den Wert dessen, was sie erzielen können) Websites sind, die von Personen verwaltet werden, die Englisch sprechen. Wenn Sie eine andere Sprache kennen, verwenden Sie sie beim Erstellen Ihrer Passwörter.

    So gut wie

    Wie in der Realität, ist es immer noch nicht so perfekt wie eine mittlere, weil dies eine weitere Komplexität hinzufügt, die den Cracker dazu zwingt, brutale Gewalt anzuwenden. Eine andere Sprache zu lernen, nur um bessere Passwörter zu erstellen, kann ein bisschen zu viel sein. Wenn Sie also eine Passphrase entwerfen, werden Sie im Englischen wirklich schlecht. Zum Beispiel:

    asImoov ^ inlyfIwillnevar4getwieIst gestartet

    Für das ultimative können Sie schlecht buchstabierte Fremdwörter verwenden und alle Vokale durch Leet-Vokale ersetzen:

    4M3d1d4Qu3^3nL4V1d3,nunc40l1vd4r3d3dond3c0m3nc3

    Ich weiß nicht, wie es Ihnen geht, aber ich hätte nicht die Geduld, dies zu tippen. Trotzdem ist es ein sehr sicheres Passwort und zwingt den Cracker dazu, eine verrückte Menge an Arbeit zu verrichten (um dann hoffentlich herauszufinden, dass alles, worauf er zugegriffen hat, eine Sammlung von Katzenbildern ist.

  10. Stellen Sie sicher, dass Kunden die Gefahren verstehen, die mit dem Versand vertraulicher Informationen per E-Mail, Skype usw. verbunden sind.

gif von Hoang Nguyen

Ein besonderer Hinweis für Entwickler

Ein schneller und einfacher Kulturwechsel, den Entwickler ergreifen sollten, um unzählige Sicherheitsverletzungen zu verhindern, besteht einfach darin, die externe Abhängigkeitskette ihrer Websites zu minimieren. Wir stellen unnötig Verbindungen zu gehosteten Skripten Dritter her. Viele dieser Skripte können ihre eigenen externen Abhängigkeiten haben. Alles um einige Bytes zu speichern.

Wann immer es möglich ist, sollten wir versuchen, alle Skripts selbst zu hosten. Ein beliebtes gehostetes Skript eines Drittanbieters ist ein verlockendes Ziel für einen Angreifer, da durch die Kontrolle über das Skript Exploits auf Tausenden von Computern ausgeführt werden können.

Abschließende Bemerkungen

Computersicherheit ist eine nie endende Herausforderung, und auf beiden Seiten der Herausforderung lässt sich viel Geld verdienen. Die Einsätze sind sehr hoch, und niemand ist absolut sicher, selbst wenn er der Meinung ist, dass er nichts zu verbergen hat. Beim Gewinnen geht es meistens darum, den gesunden Menschenverstand zu nutzen und wachsam zu bleiben, ohne sich selbstzufrieden zu machen.

Headerbild mit freundlicher Genehmigung von Josh Warren

Bogdan Rancea

Bogdan ist Gründungsmitglied von Inspired Mag und hat in diesem Zeitraum fast 6-Jahre Erfahrung gesammelt. In seiner Freizeit studiert er gern klassische Musik und erforscht die bildende Kunst. Er ist auch ziemlich besessen von Fixies. Er besitzt bereits 5.