CLI Grundlagen 5: Wie nutze ich die Security Groups via CLI?


In diesem Tutorial  zeigen wir Ihnen, wie Sie eine Security-Gruppe mit dem Openstack  Kommandozeilenclient erstellen können.

Was Sie in diesem Artikel lernen:

  • Wie man Openstack Security Group anlegt und sogenante Rules in Security Groups verwaltet

Für dieses Tutorial benötigen Sie

 

 

Eine der großartigen Funktionen von OpenStack  ist die Verwendung von Sicherheitsgruppen. Mit Sicherheitsgruppen können Sie Zugriffsregeln wie Ingress (Erreichbarkeit vom Außen) und Ingress (Zugriff der Instanz auf das Internet) für Ihre Plattform und Instanzen sehr genau definieren. Im Wesentlichen bieten sie Ihnen eine  vollständig anpassbare Firewall. Auch der Datentransfer zwischen einzelnen Netzen in Ihrer Cloud kann über die Security Groups geregelt werden.  Zu beachten ist, daß keine Application Level Gateways vorhanden sind, z.B. für Protokolle wie FTP.

In diesem Artikel erklären wir Ihnen, wie Sie benutzerdefinierte Sicherheitsgruppen via Openstack CLI verwenden können, um Zugriff basierend auf den Rollen der Instanzen innerhalb Ihrer HKN-Plattform zu gewähren.

Anlegen und das Löschen der Security Groups

Anzeigen der vorhandenen Security Groups

Loggen Sie sich mit Ihrer Instanz per SSH ein, und führen Sie den folgenden Befehl aus:

hkn@controller-node:~$ openstack security group list

Anzeigen der Eigentschaften einer Security Group

hkn@controller-node:~$ openstack security group show

Erstellen einer neuen Security Group

Führen Sie den folgenden Befehl aus, um eine Sicherheitsgruppe mit einem angegebenen Namen und einer Beschreibung zu erstellen.

Hinweis:
Der umgekehrte Schrägstrich \ wird verwendet, wenn ein langer Befehl eingegeben wird. Wenn Sie das \ eingeben, fährt der Terminalbefehl mit der nächsten Zeile fort, bis Sie es fertig eingegeben haben. Sie könnten auch das Zeichen \ entfernen und jeden Parameter in eine einzelne Zeile schreiben.

hkn@controller-node:~$ openstack security group create \
--description GROUP_DESCRIPTION SECURITY_GROUP_NAME

Wenn Sie den obigen Befehl openstack security group list ausführen, sehen Sie, dass die Sicherheitsgruppe jetzt existiert. Sie können es auch in Ihrem Horizon-Dashboard auf der Seite „Netzwerk > Sicherheitsgruppen“ anzeigen.

Löschen der Security Groups

Führen Sie Folgendes bitte aus, um eine Sicherheitsgruppe zu löschen.

hkn@controller-node:~$ openstack security group \ 
delete SECURITY_GROUP_NAME

Hinweis:
Sie können die „Standard“-Sicherheitsgruppe nicht aus Ihrem Projekt löschen. Es ist auch nicht möglich, eine Sicherheitsgruppe zu löschen, die einer Instanz zugewiesen ist.

Verwaltung der Regeln in Security Groups

Sie können Sicherheitsgruppenregeln mit dem Befehl openstack security group rule ändern.

Listen Sie die Regeln für eine Sicherheitsgruppe auf

hkn@controller-node:~$ openstack security group rule list \ 
SECURITY_GROUP_NAME

Allow requests to port 8080

Um Anfragen an Port 8080 auf allen Instanzen zuzulassen, die diese Gruppe verwenden, wählen Sie eine der folgenden Optionen:

Erstellen Sie neue Regeln für eine Gruppe

Zugriff von allen IP-Adressen zulassen (angegeben als IP-Subnetz 0.0.0.0/0 in CIDR-Notation).

hkn@controller-node:~$ openstack security group rule create \
--proto tcp --dst-port 8080 SECURITY_GROUP_NAME
+-------------------+------------------------+
| Field             | Value                  |
+-------------------+------------------------+
| created_at        | 2022-08-26T14:33:38Z   |
| description       |                        |
| direction         | ingress                |
| ether_type        | IPv4                   |
| id                | f7info92-c474-4349     |
| name              | None                   |
| port_range_max    | 8080                   |
| port_range_min    | 8080                   |
| project_id        | dgojps9560547cf950b    |
| protocol          | tcp                    |
| remote_group_id   | None                   |
| remote_ip_prefix  | 0.0.0.0/0              |
| revision_number   | 1                      |
| security_group_id | 8bf8bsf0-ddgfb-3b03-9  |
| updated_at        | 2022-08-26T14:33:38Z   |
+-------------------+------------------------+

Wenn Sie die Regeln erneut überprüfen, sehen Sie, dass die neue hinzugefügt wurde:

hkn@controller-node:~$ openstack security group rule \
list SECURITY_GROUP_NAME
+------------+-----------+---------+------------+----------+
| ID         |IP Protocol|IP Range | Port Range |Remote ...|
+------------+-----------+-----------+---------------------+
| 69h06e0e-0 | None      |None     |            |None      |
| 98n0de27-1 | None      |None     |            |None      |
| f7info92-c | tcp       |0.0.0.0/0| 8080:8080  |None      |
+------------+-----------+---------+------------+----------+

 

Fügen Sie Regeln aus einer vorhandenen Gruppe hinzu

Erlauben Sie den Zugriff nur von IP-Adressen aus anderen Sicherheitsgruppen (Quellgruppen) auf den angegebenen Port.

Führen Sie Folgendes aus, um die ID und den Namen vorhandener Sicherheitsgruppen anzuzeigen:

hkn@controller-node:~$ openstack security group list
+----------------+-------------+-------------+-------------+----+
| ID             | Name        | Description | Project     |Tags|
+----------------+-------------+-------------+-------------+----+
| 26f1dfb4-e2... | NEW_group   | OSCLI_Desc  | e52ede2a... | [] |
| 29abef85-b8... | default     | Default     | e52ede2a... | [] |
| 7b450512-d3... | Cloud       | HKN-service | e52ede2a... | [] |
+----------------+-------------+---------------------------+----+

Nachdem Sie die ID und den Namen der Gruppe gefunden haben, die Sie importieren möchten, führen Sie Folgendes aus:

hkn@controller-node:~$ openstack security group rule create \
--proto tcp --dst-port 8080 --remote-group SOURCE_GROUPE_ID \
 GROUP_NAME_TO_ADD_RULE_TO

Hinweis:
Die SOURCE_GROUP_ID ist die ID der Gruppe, die Sie hinzufügen möchten.
GROUP_NAME_TO_ADD_RULE_TO ist die Gruppe, in der Sie die Regel hinzufügen.

Sehen Sie sich die Seite „Netzwerk > Sicherheitsgruppen“ in Ihrem Panel an. Klicken Sie rechts neben der neuen Sicherheitsgruppe auf die Schaltfläche Verwalten.

Es wird eine neue Regel hinzugefügt, und der Name der anderen Sicherheitsgruppe befindet sich jetzt unter der Spalte Entfernte-Sicherheitsgruppe. Im obigen Beispiel heißt die andere Sicherheitsgruppe „HKN-service“.

Dadurch wird dem Quelldatenverkehr von jeder anderen Instanz in dieser Sicherheitsgruppe, Zugriff auf jede andere Instanz ermöglicht.

 

Zugriff über einen UDP-Port zulassen

Das Hinzufügen von Regeln für UDP ist dasselbe wie für TCP. Sie können die gleichen Befehle oben verwenden, stellen Sie nur sicher, dass Sie –proto tcp mit –proto udp austauschen und die Portnummer auf 53 ändern.

Das Löschen der Security Group Regeln

Führen Sie zunächst den folgenden Befehl aus, um alle Sicherheitsgruppenregeln anzuzeigen.

hkn@controller-node:~$ openstack security group rule list \
GROUPE_NAME

Dies listet alle Regeln mit ihrer entsprechenden ID auf. Die ID ist eine lange Folge von Zahlen und Buchstaben. Zum Beispiel:

  • c1b5ad39-649e-4cd1-901d-8f667e99089b

Um eine Regel zu löschen, führen Sie den folgenden Befehl mit der richtigen Regel-ID aus.

hkn@controller-node:~$ openstack security group rule delete \
SECURITY_GROUP_RULE_ID