So schützen Sie Ihre Systeme nicht in der Cloud

Wenn ich jemandem von Verwundbarkeit erzähle, sehen sie mich oft wie einen Verrückten mit dem Zeichen „Bereue, denn das Ende der Welt ist nahe“!

Jetzt geraten alle in Panik und versuchen, eine "Fernbedienung" zu organisieren, machen einfache Fehler und sammeln alle möglichen Rechen. Deshalb habe ich beschlossen, einige dramatische Geschichten unter Beteiligung von Zigeunerhackern, offenem CVE und professionellen, aber ein bisschen naiven Entwicklern zu teilen. Natürlich musste ich einige Details weglassen oder sogar absichtlich verzerren, um die Kunden nicht zu verärgern. Zum größten Teil ist dies keine Übung aus der aktuellen Arbeit bei Technoserv, aber lassen Sie diesen Beitrag ein kleines Memo darüber sein, wie man es nicht macht, selbst wenn Sie es wirklich wollen.

Wie man den Server umzäunt


Im Rechenzentrum befand sich ein Server. Solch eine alte Schule, Eisen, ohne ausgefallene Container und Virtualisierung. Vor einigen Generationen von Mitarbeitern hat einer der Entwickler es "vorübergehend so konfiguriert, dass nur wenige große Dateien für das Projekt akzeptiert werden". Gleichzeitig kümmerte sich das Unternehmen wirklich um die Informationssicherheit, aber wie so oft gingen Kollegen von IS, um die Anforderungen des Unternehmens zu erfüllen, und einigten sich auf eine vorübergehende Option mit vollem Zugang zum Internet.

Glücklicherweise befand sich der Server in der Grauzone der DMZ und konnte keine direkte Verbindung zu den kritischen Diensten des internen Schaltkreises herstellen. Der 22. Port wurde festgelegt, und im Inneren wurden nur einige lokale Benutzer mit individuellen Kennwörtern hinzugefügt, um sich über ssh / sftp anzumelden. Der Zugriff durch Zertifikate wurde als zu unpraktisch angesehen. Dann kamen Entwickler eines anderen Projekts und baten darum, regelmäßige Uploads vom Server des Kontrahenten zu automatisieren, da "Sie einen bequemen Server mit einem koordinierten Zugriff auf das Netzwerk haben". Dann wieder.

Das Ergebnis war eine äußerst fröhliche Situation, in der der Server, wie es schien, vorübergehend war und keine Updates erhielt, aber bereits eine Reihe von Geschäftsprozessen daran gebunden waren und mehrere Terabyte Daten pro Monat gepumpt wurden.

Wir haben uns entschlossen, es zu überwachen, da der Server so wichtig ist und die Grafiken der CPU sofort ein Regal von 100% haben. Sie haben es richtig gemacht, es zu klären: und es gab eine Reihe von Rand-Prozessen im Auftrag des verdächtigen Benutzertests und eine Menge Speicher, die sie aufgefressen hatten, und die Protokolle hatten fortwährende rohe Gewalt aus der ganzen Welt.

Bevor sie den Server in Vergessenheit gerieten, steckten sie einen Stick in die Prozesse: lsof zeigte sofort die gelöschten, aber nicht geschlossenen Dateien, die noch im RAM hingen. Leider war es nicht möglich, genau zu verstehen, was der Angreifer tat, aber das Verhalten war eher wie bei einer Person als bei der Ausarbeitung eines Skripts. Bei der Prüfung eines Skripts im RAM waren Einfügungen wie scanez clasa (Scannen einer Klasse) auf Rumänisch sehr erfreut:

#!/bin/bash
while["1"];do
class="
#168
"
classb="`seq 1 255`"
classb2=($classb)
num_classb=${#classb2[*]}
b=${classb2[$((RANDOM%num_classb))]}
classc="`seq 1 255`"
classc2=($classc)
num_classc=${#classc2[*]}
c=${classc2[$((RANDOM%num_classc))]}
classes=($class)
num_class=${#classes[*]}
a=${classes[$((RANDOM%num_class))]}
echo "scanez clasa ${a}.${b}"
./a ${a}.${c}
done

Soweit ich weiß, ist nichts Ernstes durchgesickert (oder sie haben mir nichts davon erzählt) und der Angreifer konnte nicht in den Umkreis gelangen, aber seitdem spricht die Firma über Hacker von Zigeunerpferdedieben.

Regeln


  1. Lassen Sie nicht zu, dass vorübergehend bequeme, aber unsichere Lösungen in der Infrastruktur repariert werden. Ja, ich weiß, dass sie inkonsistent sind, aber nur Quarantäne ertragen, aber nur zustimmen, wann Sie sie entfernen werden. Nach wie vielen Tagen oder Stunden. Und ohne Verzögerung aufräumen. Sagen Sie es zumindest anderen, bitte. Immerhin beginnt der exponierte Dienst in durchschnittlich 20 Minuten zu brechen.
  2. Zeigen Sie SSH und reines RDP nicht nach außen. Es ist besser, den Zugriff über VPN oder Web-Tunneling-Dienste bereitzustellen. Ich weiß nicht warum, aber für sie sind die Leute mehr für die zulässigen Konten und ihre Passwörter verantwortlich.
  3. ssh — . . ssh, .
  4. - — - fail2ban, , - . «» «». , . , , , — .
  5. , : « ?» .
  6. . . , , .

IP – , firewall !


Ich verstehe vollkommen, dass NAT eine notwendige Krücke war, die das Leben der Entwickler verdarb und es nicht erlaubte, Optionen für die schnelle Verbindung von Knoten miteinander zu implementieren. Der Nebeneffekt, die interne Struktur des Netzwerks zu verbergen, ist jedoch sehr nützlich, um einen regelmäßigen automatisierten Angriff zu erschweren. Und ja, ich verstehe sehr gut, dass die richtigste Option darin besteht, eine Firewall auf der Whitelist zu verwenden, um explizit nur die erforderlichen Verbindungen zuzulassen. Das Problem ist, dass in der Welt der kontinuierlichen Aggail für Kleinigkeiten wie die harte Konfiguration einer Firewall oder Gott bewahre, dass SELinux nie die Zeit und das Budget hat. Im Allgemeinen stören sie das Debuggen, reduzieren den kritischen Indikator für die Markteinführungszeit und ermöglichen Entwicklern und Entwicklern nicht, in Frieden zu leben.

Die Situation wurde noch interessanter, als die Cloud-Infrastruktur, die bei Bedarf automatisch bereitgestellt wurde, zum Industriestandard wurde. Tatsache ist, dass die meisten Cloud-Lösungen davon ausgehen, dass der Schutz eines Haufens von erhöhten Containern und virtuellen Maschinen beim Endbenutzer liegt. In der Regel stellen sie Ihnen die Infrastruktur zur Verfügung, sie weisen weiße IP-Adressen zu und das alles bietet im Wesentlichen eine Reihe von Funktionen, keine vorgefertigten Lösungen. Standardmäßig ist alles geschlossen, aber es ist unpraktisch und verhindert so die Entwicklung. Lassen Sie uns deshalb alles öffnen und wir werden es ruhig testen, aber bei der Produktion werden wir es richtig machen.

Oft führt dies zu lustigen Fällen. Ich habe mir eine leicht raubkopierte Kopie des berühmten MMORPG-Servers angesehen. Clans, Spenden, ständige Diskussionen über die Mütter und andere Freuden des anderen. Alle fragten sich, warum manche Charaktere so schnell und im Allgemeinen allmächtig waren. Ich habe nmap durch den Adressbereich geführt, der dem Spieleserver am nächsten liegt.

Es stellte sich heraus, dass die gesamte Infrastruktur, einschließlich Frontend, Backend und Datenbank, einfach offene Ports nach außen klebte. Und was ist das wahrscheinlichste Passwort für Benutzer sa, wenn auf die Datenbank über das Internet zugegriffen werden kann? Das stimmt, sa auch! Daher ist es am schwierigsten, die Tabellenstruktur herauszufinden.

Ähnlich erging es einem Kunden, der einen Remotezugriff auf das Admin-Panel für einen Heimcomputer eröffnete, während er eine Weile von zu Hause aus arbeitete. Natürlich war das Admin-Panel ohne Autorisierung, da es als sichere interne Ressource angesehen wurde. Und der Kunde hat sich nicht darum gekümmert und einfach sofort den Port für das gesamte Internet geöffnet.

Und ELK-Server, die für die Welt geöffnet sind, tauchen jede Woche auf. Was in ihren Inhalten einfach nicht zu finden ist. Ausgehend von persönlichen Daten, endend mit Kreditkartennummern.

Regeln


  1. Die Firewall muss auf der Whitelist stehen. In keinem Fall sollte das Backend von außen zugänglich sein. Und zögern Sie nicht, Auftragnehmer und Remote-Mitarbeiter zu fragen, von welcher IP-Adresse sie eine Verbindung herstellen. Am Ende kostet ein dediziertes IP etwa 150 U / Monat. Dies ist eine mögliche Verschwendung für die Möglichkeit, von zu Hause aus zu arbeiten.
  2. Verwenden Sie immer HTTPS und vollständige Authentifizierung, auch wenn es sich um „nur“ Testmaschinen handelt.
  3. Streng getrennte Test- und Produktivumgebungen. Verwenden Sie in beiden Umgebungen niemals dieselben Konten.

Samba


Besonders oft bin ich mit dem Samba-Server zufrieden, der traditionell zum Organisieren des gemeinsamen Zugriffs auf Ressourcen verwendet wird. Richten Sie den Gastzugang für Kollegen aus der benachbarten Abteilung ein, um Dateien bequem auszutauschen.

In einer kleinen Firma lief alles gut, bis es keine Abteilungen mehr gab. Nach einiger Zeit musste der Zugriff auf Remote-Zweige konfiguriert werden. Und eine völlig „vernünftige“ Lösung bestand darin, den Zugang zu Samba von außen zu öffnen. Nun, jeder hat seine eigenen Passwörter. Was könnte schief gehen? Niemand erinnerte sich an den Gastzugang, bis sich herausstellte, dass ein materieller Teil der Festplatte mit den Daten eines anderen verstopft war. Automatische Scanner fanden schnell einen freien Dateispeicher, und die Festplatte verstopfte schnell mit den verschlüsselten Archiven anderer. Und in einem der Verzeichnisse fanden wir während des Audits eine Sammlung ausgewählter Filme für Erwachsene unter Beteiligung von Schauspielerinnen ab 60 Jahren (und es war ein Glück, dass nicht 18-, sonst wäre es von Strafverfolgungsbehörden geflogen).

Ergebnisse


  1. Teilen Sie niemals Speicher ohne VPN.
  2. samba ftp-. , .
  3. , , - .

,


Ich hatte einen Kunden, der überhaupt nicht verstand, warum er zusätzliche Beträge für die Sicherung ausgeben musste, wenn alles für ihn funktionierte. Das ist teuer. Und er ist fein abgestimmt. Infolgedessen haben Mitarbeiter, die alles hintereinander öffnen und ausführen, was sie an die E-Mail gesendet haben, sicher einen Verschlüsselungsvirus erkannt. Sie haben die Basis 1C verloren und konnten sie nur dank des Papierarchivs und eines Auftragnehmers wiederherstellen, der die Basis einmal in sich selbst kopiert hat.

Ich sprach mit dem Leiter und erklärte die wichtigsten Punkte, die im Unternehmen geändert werden müssen, um das Risiko eines Verlusts der Basis auszuschließen. Er nickte während des Gesprächs und endete mit einem wunderbaren Satz: „Das Projektil trifft nicht zweimal dasselbe Loch. Jetzt gibt es nichts mehr zu befürchten. " Er lehnte erneut Backups ab und verlor sechs Monate später natürlich alle Daten im selben Szenario.

Regeln


  1. , (- ). , .
  2. . - , .
  3. . . , helpdesk.

!


Nach meiner Erfahrung beginnen kleine und mittlere Unternehmen normalerweise mit der vollständig manuellen Verwaltung von Benutzerkonten. Ich meine, der neue Verkaufsleiter stampft in die Höhle der bärtigen Admins, wo er feierlich ein Login, ein Passwort und einen Zugang erhält. All dies funktioniert gut, bis das Unternehmen zu wachsen beginnt.

Hier sind die Leute, die Verbundtanks verkauft haben. Sie haben kürzlich ihre Führung gewechselt und es wurde beschlossen, ein vollständiges Sicherheitsaudit durchzuführen. Sie brachten uns sogar auf einen Ausflug, um die Produktion zu zeigen. Das Spektakel ist sehr beeindruckend: In einer riesigen Werkstatt wurden große Werkstücke gedreht, auf die Glasfaser gewickelt wurde, während die Arbeiter mit einem Eimer Epoxidharz liefen und es vorsichtig über das Werkstück schmierten.

In einem separaten Gebäude hatten sie einen Verwaltungstrakt, in dem wir uns direkt in die Organisation des Informationsteils der Produktion eingegraben haben. Auf den ersten Blick hatten sie ein ziemlich logisches Schema organisiert, als der Zugriff auf die Kundendatenbank nur über ein internes Konto in AD mit Zustimmung des Leiters bereitgestellt wurde. Wenn eine Person kündigte, durchlief sie die Checkliste, übergab Ausrüstung, Karten und das Konto wurde deaktiviert. All dies wurde manuell durchgeführt, da keine Mittel für das vollständige Identitätsmanagement zugewiesen wurden.

Während des Prüfungsprozesses stellten wir fest, dass sie vor vielen Jahren ein selbst geschriebenes Portal implementiert hatten, damit Vertriebsmitarbeiter die benötigten Daten über Kunden aus der Ferne erhalten konnten. Sie begannen sogar, ihre Infrastruktur in die Cloud zu migrieren, aber am Ende stoppten sie auf halbem Weg aufgrund einiger interner Schwierigkeiten. Darüber hinaus konnte AD dort nicht integriert werden und die Konten wurden bei Entlassung genau gleich auf der Checkliste gelöscht. Alles scheint normal zu sein, aber in den Protokollen haben wir einen aktiven Bericht über einen bestimmten Vasily gefunden, der vor einigen Jahren entlassen wurde und jetzt erfolgreich in einem konkurrierenden Unternehmen gearbeitet hat. Darüber hinaus entlud er nach den Protokollen mindestens einmal im Monat fast den gesamten Kundenstamm.

Das Konto wurde sofort gesperrt und sie begannen zu beobachten, wie eine Person interne Vorschriften umgehen konnte. Es stellte sich heraus, dass Vasily zunächst als Verkaufsleiter Zugang zum Portal erhielt und dann direkt in der Werkstatt eine Führungsposition übernahm, wonach er kündigte. Die Checkliste für die Entlassung in der Werkstatt ist jedoch völlig anders und die Deaktivierung des Kontos vom Portal wurde dort nicht aufgeführt. Es scheint jedoch, als würde eine allgemeine Checkliste für die Zugriffskontrolle in allen Systemen erstellt, und das Problem könnte vermieden werden.

Regeln


  1. Wenn Sie mehr als 100 Mitarbeiter haben, sollten Sie ein vollwertiges IDM-System einführen.
  2. Verwerfen Sie Daten nicht aus dem Bypass-Blatt, sondern direkt aus der Personalabteilung. Entlassungen sind unterschiedlich und eine Problemumgehung bringt Sie möglicherweise nicht.
  3. — . . , « , », , ( , , . .).
  4. « », - .
  5. . .
  6. . , — . .

?


Aus irgendeinem Grund wird Informationssicherheit traditionell als unfreundliche Person wahrgenommen, die alle mit ihren langweiligen Vorschriften verfolgt und ihre Arbeit stört. Tatsächlich sind sie bei allen oben genannten grotesken Beispielen häufig in realen Fällen zu finden, und es sind die Sicherheitskräfte und paranoiden Admins, die helfen, sie zu vermeiden.

Versuchen Sie einfach, eine gemeinsame Sprache zu finden. Erstens sollten IS-Mitarbeiter selbst keine Wächter werden, die nur damit beschäftigt sind, das Gehirn ohne Erklärung zu einer regulären Passwortrichtlinie zu machen. Der richtige Ansatz besteht darin, sich mit Entwicklern und Entwicklern zu treffen und in ihre Probleme einzutauchen. Entwickeln Sie dann die richtige Kompromissoption, die nicht nur beim passwortlosen Zugriff auf die Außenwelt glänzt, sondern auch bequem zu bedienen ist.

Und Devops wollen manchmal zumindest ein bisschen paranoid sein.
Der Text wurde von Vladimir Chikin, Leiter Informationstechnologie bei Technoserv Cloud, erstellt .

All Articles