In EC2 sitzt die Firewall nicht in der Maschine, sondern vor ihr, und sie heißt Sicherheitsgruppe. Es ist eine Liste von Regeln der Art „auf Port 443 jeden hereinlassen" oder „auf Port 22 nur diese IP hereinlassen". Alles, was nicht auf der Liste steht, kommt nicht hinein. Deshalb kann eine frisch erstellte Maschine einwandfrei laufen und die Website trotzdem nicht laden: Niemand hat die Tür geöffnet.
Vier Grundgedanken zu Sicherheitsgruppen zu verstehen erspart die Hälfte der EC2-Probleme und die meisten Sicherheitslücken. Diese Anleitung erklärt sie und hinterlässt eine gut konfigurierte Gruppe für einen Webserver.
Bevor Sie anfangen: was die Begriffe bedeuten
- Sicherheitsgruppe
- Die Firewall von EC2: ein Satz Regeln, der festlegt, welcher Verkehr die Maschine erreichen darf. Eine Maschine kann mehrere haben, und eine Gruppe kann für mehrere Maschinen gelten.
- Port
- Die nummerierte „Tür", durch die jede Art von Verkehr hereinkommt: 80 für die unverschlüsselte Website, 443 für die sichere Website, 22 für SSH, 3306 für MySQL, 3389 für Windows-Remotedesktop.
- Eingehende Regel
- Was die Maschine erreichen darf. Was keine Regel hat, wird blockiert.
- Ausgehende Regel
- Was die Maschine nach außen senden darf. Standardmäßig alles; das muss fast nie angefasst werden.
- Quelle
- Von wo erlaubt wird: eine bestimmte IP, ein Bereich, jeder (0.0.0.0/0) oder eine andere Sicherheitsgruppe.
- CIDR
- Die Schreibweise für IP-Bereiche. 203.0.113.5/32 ist eine einzelne Adresse; 0.0.0.0/0 ist das gesamte Internet.
- Zustandsbehaftet (stateful)
- Lassen Sie eine Anfrage herein, darf die Antwort ohne eigene Regel hinaus. Deshalb muss man nur über den eingehenden Verkehr nachdenken.
Schritt für Schritt
Sehen Sie nach, welche Gruppe Ihre Maschine hat
EC2-Konsole, Instances, wählen Sie die Maschine, Registerkarte Sicherheit. Sie sehen die zugewiesene Gruppe oder Gruppen und darunter die eingehenden Regeln, so wie sie angewendet werden. Wenn die Website nicht antwortet, steht hier in 90 % der Fälle die Antwort: Port 443 fehlt, oder die Quelle ist nur Ihre IP.
Verstehen Sie die Standardgruppe
Jedes Netz (VPC) hat eine Gruppe namens default, die allen Verkehr zwischen Maschinen, die sie teilen, erlaubt und nichts aus dem Internet. Das ist nützlich, damit Ihre Maschinen miteinander reden, aber nicht für eine öffentliche Website. Bearbeiten Sie sie nicht, um Ports für die Welt zu öffnen: Erstellen Sie eigene Gruppen mit Namen, die sagen, wofür sie da sind.
Erstellen Sie eine Gruppe für Webserver
Menü Sicherheitsgruppen, Sicherheitsgruppe erstellen. Name
web-publica, klare Beschreibung, die Standard-VPC. Eingehende Regeln:Typ Port Quelle Wofür HTTPS 443 0.0.0.0/0 und ::/0 Die sichere Website, für alle HTTP 80 0.0.0.0/0 und ::/0 Zum Weiterleiten auf HTTPS und zum Erneuern von Zertifikaten SSH 22 Meine IP Verwaltung, nur von Ihrem Anschluss Das Auswahlmenü der Quelle hat die Option Meine IP, die Ihre aktuelle Adresse einträgt. Geben Sie jeder Regel eine Beschreibung („Büro", „Anas Zuhause"): In einem Jahr werden Sie froh sein zu wissen, wem welche IP gehörte. Erstellen.
Weisen Sie die Gruppe der Maschine zu
Zurück zur Instanz, Aktionen, Sicherheit, Sicherheitsgruppen ändern. Fügen Sie
web-publicahinzu und entfernen Sie die bisherige, wenn sie nicht mehr gebraucht wird. Die Änderung gilt sofort, ohne Neustart. Testen Sie die Website und SSH.Für eine Datenbank: nur für Ihre Maschinen öffnen
Wenn Sie eine Maschine oder eine RDS mit Datenbank haben, öffnen Sie Port 3306 weder für das Internet noch für „Meine IP". Erstellen Sie eine Gruppe
bd-internamit einer eingehenden Regel auf Port 3306, deren Quelle die Sicherheitsgruppeweb-publicaist (im Auswahlmenü der Quelle können Sie statt einer IP eine Gruppe wählen). So können nur Maschinen mit dieser Gruppe verbinden, egal welche IP sie haben. Das ist der richtige Weg, und fast niemand kennt ihn.Überprüfen Sie die bestehenden Gruppen
Sortieren oder filtern Sie in der Liste der Sicherheitsgruppen nach denen, die Regeln mit Quelle 0.0.0.0/0 auf anderen Ports als 80 und 443 haben. Ein für das gesamte Internet offener Port 22, 3306 oder 3389 ist genau das, wonach Angreifer täglich suchen. Beschränken Sie sie auf Ihre IP oder die passende Gruppe. Und löschen Sie Gruppen, die nichts zugewiesen sind: Sie verwirren nur.
Was schiefgehen kann
Ich habe Port 22 auf „Meine IP" beschränkt und komme nicht mehr hinein
Ihre IP hat sich geändert (private Anschlüsse). Bearbeiten Sie die Regel über die Konsole, die nicht von der Maschine abhängt, erneut mit „Meine IP". Oder verwenden Sie EC2 Instance Connect aus der Konsole, das über den Browser hineinkommt, wenn das Image es unterstützt.
Die Website funktioniert per IP, aber nicht per Domain
Das ist nicht die Sicherheitsgruppe: Es ist das DNS oder die Konfiguration des Webservers. Die Sicherheitsgruppe kennt keine Namen, nur Ports und IPs.
Die Maschine kommt nicht ins Internet, um Updates zu laden
Prüfen Sie die ausgehenden Regeln: Jemand hat sie eingeschränkt. Standardmäßig erlauben sie alles. Hat die Maschine keine öffentliche IP, braucht sie außerdem ein NAT-Gateway, was eine andere Geschichte ist.
Ich habe Dutzende Gruppen namens „launch-wizard-7"
Die erstellt der Startassistent jedes Mal, wenn jemand keine bestehende Gruppe wählt. Weisen Sie die Maschinen Ihren benannten Gruppen zu und löschen Sie die Assistentengruppen. Die noch verwendeten lassen sich nicht löschen: So erkennen Sie, welche übrig bleiben.
In Simplio
In Simplio ist die Firewall jeder Maschine, ob Lightsail oder EC2, dieselbe einfache Liste: Port, für wen (alle, nur meine IP, eine bestimmte IP) und eine Beschreibung. Simplio markiert für das gesamte Internet offene Verwaltungsports rot und benachrichtigt Sie, und jede Änderung verlangt den zweiten Faktor und landet im Aktivitätsprotokoll mit dem Namen dessen, der sie gemacht hat. Ohne zu wissen, was ein CIDR ist.
Dasselbe, in AWS und in Simplio
| In der AWS-Konsole | In Simplio | |
|---|---|---|
| Einen Port nur für Ihre IP öffnen | EC2-Konsole, Sicherheitsgruppen, bearbeiten, IP ermitteln, Beschreibung: 5 Schritte | Regel „Nur meine IP" in der Firewall der Maschine: 1 Klick, Simplio kennt Ihre IP |
| Wissen, welche Maschinen etwas für die Welt offen haben | Gruppe für Gruppe durchsehen | Hinweis in der Liste: „Port 22 für das gesamte Internet offen" |
| Lightsail und EC2 | Zwei Konsolen mit zwei verschiedenen Modellen | Dieselbe einfache Firewall für beide |