26

Ich habe ein wenig getestet und experimentiert, um herauszufinden, wie genau SSL-Zertifikate in Elastic Load Balancer von AWS hochgeladen werden (Probleme mit verschiedenen Schlüssel- und Zertifikatscodierungen).Löschen des hochgeladenen Zertifikats vom Elastic Load Balancer

Deshalb habe ich dort ziemlich viele Testzertifikate, die ich entweder mit den falschen Informationen, fehlenden Zertifikatsketten oder nur gefälschten Daten erzeugt habe.

Soweit ich sehen kann, gibt es keine Möglichkeit, diese Zertifikate zu löschen oder sogar diejenigen zu aktualisieren/ersetzen, denen bestimmte Informationen fehlen. Die Anweisungen von AWS zum "Aktualisieren eines Zertifikats" (http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/US_UpdatingLoadBalancerSSL.html) zeigen Ihnen lediglich, wie Sie den Load-Balancer-Listener so ändern, dass ein anderes Zertifikat verwendet wird, das entweder bereits dort vorhanden ist oder das Sie dann auch hochladen können! (Genau so habe ich dort so viele Zertifikate bekommen).

Könnte mir bitte jemand sagen, dass ich falsch liege und es einen Weg gibt, sie zu löschen? : D (und vorzugsweise auch wie das geht)

+0

Dies ist offtopic hier. Wahrscheinlich gehört es zu http://superuser.com/ –

+1

Während ich sehen kann, warum das wäre (nicht direkt ein Programmierproblem) Ich denke, ziemlich viele Leute, die mit AWS arbeiten, würden eher hier suchen (oder in der Lage sein) um es hier zu beantworten). Obwohl ich mich bei dieser Annahme irren könnte. Wäre es möglich, es seitwärts zu bewegen? –

+0

Die angenommene Antwort ist nicht mehr die richtige Antwort. Dies ist das Problem mit diesen Arten von Fragen. Ich hatte nie ein Problem, unbenutzte Certs zu entfernen. Vorausgesetzt, sie sind keinem vorhandenen ELB zugeordnet, löschen sie einfach. Vielleicht gab es eine Zeit, als es nicht so zuverlässig war, aber ab 2016 funktioniert es perfekt. – Matt

Antwort

6

Dies ist nicht möglich. Sie müssen den ELB löschen und einen neuen erstellen.

See: https://forums.aws.amazon.com/thread.jspa?threadID=57632

Es ist möglich, sie von der IAM zu entfernen, aber sie entfernt nicht immer korrekt aus der ELB und die ELB kann weiterhin eine alten verwenden. Ich würde definitiv sagen, der sicherste Weg ist, ein neues ELB zu erstellen und das alte zu löschen

+1

Ich habe alle drei Antworten + 1'ed, aber diese ist diejenige, mit der ich gegangen bin, da es das Löschen der ELB ist, das nun endlich die zusätzlichen Zertifikate verschwinden lässt . War das nicht schwer zu tun, aber nicht offensichtlich, dass es funktionieren würde :) –

+0

Es ist tatsächlich möglich, sie auf der ELB jetzt zu ändern .... aber immer noch nicht möglich, sie alle zusammen zu löschen. – chantheman

+2

würde kein neues ELB-Ergebnis in einer neuen ELB-Domäne erstellen und damit alle CNAME-Zuordnungen aufheben? – thanikkal

5

Es ist nicht möglich über die Amazon-Konsole, sondern über API-Aufrufe. http://docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteServerCertificate.html Sie haben das vielleicht nicht bemerkt, weil sie unter IAM und nicht unter EC2 stehen.

+0

Es ist möglich, sie aus dem IAM zu entfernen, sie werden jedoch nicht immer korrekt aus dem ELB entfernt, und der ELB kann weiterhin einen alten verwenden. Ich würde definitiv sagen, dass der sicherste Weg ist, einen neuen ELB zu erstellen und den alten zu löschen. – chantheman

+0

Diese _did_ Arbeit zum Entfernen des Zertifikats von IAM, aber nicht von der ELB als @chantheman weist darauf hin. –

+0

Zertifikate sind auf Listener-Ebene, nicht auf der ELB-Ebene. Durch das Entfernen des Zertifikats und der Listener konnte das Löschen des gesamten Lastenausgleichsmoduls verhindert werden. –

13

Sie können dazu das Befehlszeilentool "iam-servercertdel" verwenden. Sie werden den Weg bekommen müssen jedoch zuerst:

iam-servercertlistbypath 

Sobald Sie, dass Sie es löschen können:

iam-servercertdel arn:aws:iam::10494620000:server-certificate/my-company-cert 

jedoch chantheman dass AWS-Dienste korrekt ist manchmal schuppig sein kann, so Neuer der ELB ist manchmal besser.

+1

Ich habe versucht, es wie oben ausgeführt und habe den Fehler "Kein Argument ist erlaubt". Ich habe ein '-s' vor der langen Saite hinzugefügt, aber es beschwerte sich dann über Nicht-Alpha-Numerik. Allerdings läuft es als nur: 'iam-servercertdel -s mein-Unternehmen-cert' gearbeitet, außer dass, wie @chantheman beschreibt, das Zertifikat noch mit der ELB existiert. –

+2

Ich habe gerade den Namen selbst (mein-Firmen-Zertifikat) mit 's' verwendet. Arbeitete für mich. – SamV

2

Wenn das Zertifikat nicht auf einem ELB verwendet wird, verwenden Sie die IAM-Tools wie in anderen Antworten erwähnt. Wenn dies der Fall ist, sollten Sie es nicht aus IAM löschen, sondern stattdessen das neue, korrekte für das ELB festlegen und anschließend die nicht verwendeten Zertifikate mit den IAM-Tools löschen. Ich würde auch empfehlen, einige Minuten zu warten, nachdem Sie das Zertifikat geändert haben, bevor Sie das alte löschen, da es ein wenig dauern kann, bis das korrekte Zertifikat verbreitet wird. Führen Sie einfach einen ELB-DNS-Namen aus und drücken Sie jede IP-Adresse, um sicherzustellen, dass sie das neue Zertifikat zurückgibt.

Die neueste Version der AWS Console unterstützt auch die Aktualisierung des Zertifikats auf einem vorhandenen Lastenausgleich, Sie müssen jedoch weiterhin die IAM-Tools verwenden, um nicht benötigte Zertifikate zu löschen.

+0

Ich denke, das war, was ich das erste Mal gemacht habe, aber dann verschwanden die Zertifikate nicht, bis ich den ELB gelöscht und neu erstellt hatte. Nicht sicher, ob das war, weil ich nicht lange genug gewartet habe, bevor ich das IAM-Löschen ausgeführt habe, aber ich denke nicht, da einige der Zertifikate einem ELB für eine Weile nicht zugewiesen waren, als ich das Löschen ausführte. –

+0

Das funktionierte für mich. –

6

Geben Sie den folgenden Befehl, um die Amazon-API-Tools:

iam-servercertdel -s SERVERCERTNAME 
3

Ihr erster Schritt soll mit dem Zertifikat in dem Load-Balancer zu stoppen sein. Tauschen Sie alle Listener gegen ein anderes oder verwenden Sie überhaupt kein Zertifikat. @SDillard empfahl in seiner Antwort, dass Sie ein paar Minuten warten sollten, bevor Sie fortfahren, das Zertifikat zu löschen.

Sie können ein Zertifikat mithilfe des folgenden Befehls in der AWS Powershell-Konsole löschen (weitere Informationen dazu finden Sie in den anderen Antworten unter Verwendung anderer Tools). Installieren Sie die AWS SDK for .Net, um die Konsole zu erhalten.

Remove-IAMServerCertificate <CertificateName> 

Beachten Sie, dass die <CertificateName> sollte nicht die vollständige Ressourcenkennung sein, die wie folgt aussieht. Der Zertifikatsname ist das letzte Segment.

arn: aws: iam :: 297826370175: Server-Zertifikat/

Um eine Liste aller Zertifikate zu erhalten, können Sie den folgenden Befehl verwenden. Jetzt

Get-IAMServerCertificates 

, wenn Sie die SSL-Zertifikat-Konfiguration für die Zuhörer in der Load-Balancer Rückkehr (innerhalb der AWS Management Console), sollten Sie nicht mehr sehen, das Zertifikat, das Sie in dem Dropdown-Feld gelöscht.

Wenn dies aus irgendeinem Grund nicht funktioniert, können Sie auch versuchen, den Load Balancer neu zu erstellen (löschen Sie den vorhandenen und erstellen Sie einen neuen). Beachten Sie jedoch, dass dies wahrscheinlich bedeutet, dass Sie einige Änderungen in Bezug auf DNS vornehmen müssen, da der neue Load Balancer unterschiedliche DNS-Namen haben wird. Ihre CName-Datensätze müssen wahrscheinlich geändert werden.

Update: Es sieht so aus, als ob es einige Änderungen an der API gab, seit ich diese Antwort zum ersten Mal gepostet habe. Ich konnte nur ein Zertifikat entfernen, das gerade von einem Listener verwendet wurde. Obwohl in der Zertifikatsspalte des Listeners 'Invalid Certificate' stand, wurde das alte Zertifikat beim Aufruf der Site weiterhin zurückgegeben - nicht sicher, ob dies nur eine vorübergehende Sache war.

39

Sie können die ELB zugehörige Zertifikat löschen, indem Sie den folgenden Befehl

aws iam delete-server-certificate --server-certificate-name certificate_object_name 

Es gibt eine Grenze für die Anzahl der Zertifikate Sie können [10].

+1

Dies funktionierte reibungslos, froh, endlich diese alten Zertifikate loszuwerden. Besonders nützlich nach Herzbluten! – moodh

+3

Ich fand heraus, welche Zertifikate ich mit 'aws iam list-server-certificates 'loswerden musste, dachte ich würde teilen! – jmreicha

+0

Arbeitete für mich. Wenn die Benutzeroberfläche der aws keine Funktionalität bereitstellt, sollten Sie sich ansehen, was die aws-Befehlszeilentools tun können. > Es gibt eine Begrenzung für die Anzahl dieser Zertifikate, die Sie haben können [10]. Dieses Limit wurde möglicherweise seit aktualisiert. Wir haben eine Grenze von 20. Aber wir verwenden auch eine VPC, also sind unsere Grenzen vielleicht anders. – apotek

Verwandte Themen