
Wenn jemand mit einem .pem-Schlüsselpaar für eine Reihe von EC2-Instanzen das Unternehmen verlässt, was ist dann die beste Vorgehensweise, um den Zugriff für diesen Schlüssel zu entfernen? Vermutlich wird dem Benutzer durch das einfache Löschen des Schlüssels aus der AWS-Konsole nicht der Zugriff auf alle Instanzen verweigert. Gibt es also eine intelligente Möglichkeit, den Zugriff zu prüfen und zu entfernen? Wenn ich keine Kopie der Schlüsseldatei habe, wie kann ich dann sicher sein, dass der öffentliche Schlüssel nicht zu anderen Instanzen hinzugefügt wurde?
Angenommen, Ubuntu 12.04 EC2-Instanzen
Antwort1
Nach der Installation unternimmt Amazon nichts mehr mit Ihren Instanzen, daher glaube ich nicht, dass sie die nötige Funktionalität für dieses Szenario bieten. Sie könnten ein Skript zusammenbasteln, das alle Instanzen durchläuft und prüft, ob sein Schlüssel vorhanden ist (das ist nicht schön, aber es funktioniert :)):
for INSTANCE in $(ec2-describe-instances | grep INSTANC | grep running | awk '{print $4;}')
do
ssh -lec2-user -oStrictHostKeyChecking=no $INSTANCE 'cat ~/.ssh/authorized_keys | grep mtak'
if [ $? -eq 0 ];
then
echo $INSTANCE
fi
done
Sie können auch einen sed
Online-Befehl hinzufügen, um den Schlüssel aus der Datei „authorized_keys“ zu entfernen.
Antwort2
Als Sicherheitsmaßnahme können Sie den Zugriff auf Ihre Server für Ihren Netzwerk-IP-Adressbereich auch mithilfe der Sicherheitsgruppeneinstellungen beschränken. Auf diese Weise können Sie verhindern, dass Personen auf Ihre EC2-Instanzen zugreifen, obwohl sie über das .pem-Schlüsselpaar verfügen.