2 Stimmen

Amazon Community AMI's + Sicherheit

Ich plane, eine Linux EC2-Instanz zu starten.

Obwohl ich Linux ziemlich gut verstehe, würde meine Fähigkeit, ein Linux-Betriebssystem zu sichern/abzusichern, zweifellos dazu führen, dass ich anfällig für Angriffe bin. zum Beispiel: es gibt andere, die mehr über die Sicherheit von Linux wissen als ich.

Ich möchte nur Linux, Apache & PHP5 ausführen.

Gibt es empfohlene Amazon AMI's, die bereits vorkonfiguriert sind, um Linux/Apache/PHP zu betreiben oder etwas Ähnliches?

Jeder Ratschlag wäre sehr willkommen.

danke

3voto

Kevin Willock Punkte 1892

Hier ist ein älterer Artikel zu diesem Thema (ich habe ihn nicht gelesen, aber es ist wahrscheinlich ein guter Ausgangspunkt): http://media.amazonwebservices.com/Whitepaper_Security_Best_Practices_2010.pdf

Ich würde ein paar bewährte Verfahren empfehlen

1) Wechseln Sie zu VPC und steuern Sie den Ein- und Ausgangszugriff.

2a) Deaktivieren Sie die Passwort-Authentifizierung in SSH und erlauben Sie nur SSH von bekannten IP-Adressen

2b) Wenn Sie den SSH-Zugriff nicht auf IP einschränken können (aufgrund von Roaming usw.), erlauben Sie die Passwortauthentifizierung und verwenden Sie den Google Authenticator zur Bereitstellung einer Multi-Faktor-Authentifizierung.

3) Stellen Sie einen elastischen Lastenausgleich vor alle öffentlich zugänglichen Websites und deaktivieren Sie den Zugriff auf diese Server außer vom ELB

4) Erstellen Sie einen zentralen Protokollserver, der Ihre Protokolle an einem anderen Ort speichert, falls ein Angriff stattfindet.

5) Ändern Sie alle Systempasswörter alle 3 Monate

6) Verwenden Sie ein IDS, um zu beginnen würde ich tripwire empfehlen.

7) Überprüfen Sie regelmäßig auf Updates (Sie können ein Überwachungssystem wie Nagios mit NRPE verwenden, um dies auf allen Ihren Servern zu tun). Wenn Sie kein Sicherheitsexperte sind, haben Sie wahrscheinlich keine Zeit, den ganzen Tag bugtraq zu lesen, daher verwenden Sie die vom Betriebssystem bereitgestellten Dienste (CentOS/RHEL, es ist yum)

8) Führen Sie regelmäßig (alle drei Monate) eine externe Schwachstellenbewertung durch. Sie können Nessus selbst erlernen und verwenden (für nicht geschäftliche Zwecke) oder einen Drittanbieter wie Qualys verwenden.

Wenn Sie besorgt sind und sich unsicher fühlen, beauftragen Sie einen Sicherheitsexperten für eine Überprüfung. Dies sollte nicht zu kostspielig sein und Ihnen einige großartige Einblicke geben.

1voto

Izack Punkte 823

Sie müssen 2 Dinge verstehen:

  • Eine strenge Sicherheit erschwert das Leben für Angreifer, aber auch für Sie...
  • Sicherheit ist eine fortlaufende Aufgabe.
    Ihre Server-Sicherheit zu einem bestimmten Zeitpunkt sagt nichts über die Zukunft aus.
    Neue Exploits und Patches werden täglich veröffentlicht, und viele "Entwicklungs" -Maßnahmen machen die Sicherheit instabil.

Lösung?
Sie können Services wie https://pagodabox.com/ in Betracht ziehen.
Dort erhalten Sie spezifische PHP-Ressourcen, ohne Linux/Sicherheit selbst verwalten zu müssen.


Bearbeitung:
Nur um zu betonen...
Ein Produktions-System, bei dem Sie für die fortlaufende Sicherheit der Website verantwortlich sind, zwingt Sie zu viel mehr als nur den Start mit einer sicheren Instanz!
Andernfalls wird Ihre Website im Laufe der Zeit viel unsicherer werden (und je mehr Personen davon erfahren)
Meiner Meinung nach (für eine echte Produktionsseite) haben Sie 2 Möglichkeiten:

  • Holen Sie sich einen Sicherheitsexperten (intern oder freiberuflich), der regelmäßig Ihre Website überprüft und erforderliche Patches anwendet.
  • Holen Sie sich einen Hosting-Service, der sich um die Sicherheitsaspekte kümmert.
    Ich habe auf einen solchen Service hingewiesen, bei dem Sie Ihren PHP-Code einfügen können und sie sich um alles andere kümmern werden.
    Ich würde diesen Service für jede Produktionsseite überprüfen, die nicht die Möglichkeit hat, regelmäßige Sicherheitsüberprüfungen/Fixes durchzuführen

Sicherheit ist ein sehr komplexes Feld. Unterschätzen Sie nicht die Risiken...

1voto

Roman Newaza Punkte 10771

Eigentlich können Sie Ihren Server immer von einer vorab konfigurierten AMI neu starten, wenn etwas passiert ist. Das kann ganz einfach mit Auto Scaling gemacht werden, zum Beispiel. Verwenden Sie SSH ohne Passwort. Passen Sie Ihre Sicherheitsgruppen entsprechend an. Hier ist ein guter Artikel über das Sichern Ihrer EC2-Instanz.

0voto

jorfus Punkte 2207

Eines der Dinge, die mir am meisten an der Verwendung von Amazon gefallen, ist, wie schnell und einfach ich meine Angriffsfläche einschränken kann. Hier habe ich eine priorisierte Liste erstellt. Gegen Ende wird es etwas fortgeschritten.

  • Starten Sie in einem VPC
  • Platzieren Sie Ihren Webserver hinter einem Lastenausgleicher ELB oder ALB (SSL dort auch terminieren)
  • Erlauben Sie nur Web-Traffic von Ihrem Lastenausgleicher
  • Erstellen Sie eine restriktive Sicherheitsgruppe. Die einzigen Dinge, die auf Ihren Host zugelassen sein sollten, sind eingehender Traffic vom Lastenausgleicher und ssh von Ihrer IP (oder Ihrem DHCP-Subnetz, wenn Ihr ISP keine statische IP anbietet)
  • Aktivieren Sie automatische Sicherheitsupdates
    • yum-cron (Amazon Linux)
    • oder unattended-upgrades (Ubuntu)
  • Verstärken Sie ssh
    • Verbieten Sie den Root-Login und die standardmäßigen Amazon-Konten
    • Verbieten Sie das Anmelden per Passwort zugunsten von SSH-Schlüsseln
  • Sichern Sie Ihr AWS-Root-Konto mit 2FA und einem langen Passwort ab.
  • Erstellen und verwenden Sie IAM-Anmeldeinformationen für den täglichen Betrieb
  • Wenn Sie eine Datenschicht haben, implementieren Sie verschlüsselte RDS und platzieren Sie sie in einem privaten Subnetz
  • Erkunden Sie die Verbindung zu RDS mit IAM-Anmeldeinformationen (kein Datenbankpasswort mehr in einer Konfigurationsdatei gespeichert)
  • Schauen Sie sich YubiKey für 2FA ssh an.

Fortgeschritten: Für größere oder wichtigere Bereitstellungen könnten Sie in Betracht ziehen, etwas wie ThreatStack zu verwenden. Sie können Sie vor AWS-Fehlkonfigurationen warnen (S3-Bucket mit Kundendaten für die Welt geöffnet?), Sicherheitsschwachstellen in Paketen auf Ihren Hosts. Sie warnen auch vor Kompromittierungssignalen und führen ein Befehlsprotokoll, das bei der Untersuchung von Sicherheitsvorfällen nützlich ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X