NSX-T – IDS/IPS Konfiguration entfernen
NSX-T wurde in Version 3.1 mit Distributed IDS/IPS ausgestattet. Doch der mit NSX-T 3.0 eingeführte Global Manager unterstützt kein IDS/IPS. Dies ist normalerweise auch kein Problem, da man die IDS/IPS-Konfiguration vornehmen kann, nachdem der Local Manager in den Global Manager importiert wurde.
In meinem Fall hatte ich nun aber einen Local Manager der in der Vergangenheit einmal IDS/IPS aktiviert hatte (aber in der Zwischenzeit abgeschaltet wurde), der nun nachträglich in einen Global Manager importiert werden sollte.
Doch verweigerte der Global Manager den Import.
Während die weiteren nicht unterstützten Funktionalitäten entfernt werden konnten, so lies sich IDS nicht erklären. Schließlich hatte ich IDS/IPS global deaktiviert und sogar die Lizenz dafür entfernt.
Ursachenforschung
Meine Idee war das die Transport Nodes noch eine IDS-Konfiguration haben, bzw. das irgendwo in NSX-T für die Funktion IDS so etwas wie enable=false steht.
Und Erfolg!
Der API-Call
GET https://<NSX-Manager>/policy/api/v1/infra/settings/firewall/security/intrusion-services/cluster-configs ergab das ich mit der Vermutung Recht hatte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
{ "results": [ { "ids_enabled": false, "cluster": { "target_id": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c16" }, "resource_type": "IdsClusterConfig", "id": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c16", "display_name": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c16", "path": "/infra/settings/firewall/security/intrusion-services/cluster-configs/2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c16", "relative_path": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c16", "parent_path": "/infra", "unique_id": "da4bad02-a8f6-4dd1-8033-757a1eefd059", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1595352983768, "_last_modified_user": "admin", "_last_modified_time": 1615581516712, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 9 }, { "ids_enabled": false, "cluster": { "target_id": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c20723" }, "resource_type": "IdsClusterConfig", "id": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c20723", "display_name": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c20723", "path": "/infra/settings/firewall/security/intrusion-services/cluster-configs/2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c20723", "relative_path": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c20723", "parent_path": "/infra", "unique_id": "1d3de1b8-6215-45f6-a03f-a812f6a72bbe", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1615581208320, "_last_modified_user": "admin", "_last_modified_time": 1615581208334, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 0 }, { "ids_enabled": false, "cluster": { "target_id": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c36646" }, "resource_type": "IdsClusterConfig", "id": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c36646", "display_name": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c36646", "path": "/infra/settings/firewall/security/intrusion-services/cluster-configs/2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c36646", "relative_path": "2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c36646", "parent_path": "/infra", "unique_id": "d3830337-1882-4238-848e-40c7bafd40dc", "marked_for_delete": false, "overridden": false, "_create_user": "admin", "_create_time": 1600096551737, "_last_modified_user": "admin", "_last_modified_time": 1613004833890, "_system_owned": false, "_protection": "NOT_PROTECTED", "_revision": 5 } ], "result_count": 3, "sort_by": "display_name", "sort_ascending": true } |
Tatsächlich war für drei Cluster (von denen lediglich nur noch zwei existierten) eine IDS/IPS-Konfiguration hinterlegt. Um dies zu überprüfen, habe ich den selben API-Call gegen einen anderen NSX-Manager ausgeführt, dort war die Rückgabe leer:
1 2 3 4 5 6 |
{ "results": [], "result_count": 0, "sort_by": "display_name", "sort_ascending": true } |
Behebung
Ich fertigte also ein aktuelles Backup der NSX-T-Konfiguration an und bemühte erneut die API: DELETE
https://<NSX-Manager>/policy/api/v1/infra/settings/firewall/security/intrusion-services/cluster-configs/<cluster-id> Dabei ist
<cluster-id> die ID aus der vorherigen Ausgabe, also beispielsweise
2d1027a2-d9f5-4e32-b134-2683c0c0eed6:domain-c36646
Nachdem ich dies für alle drei Cluster durchführte, überprüfte ich zunächst ob NSX-T noch funktioniert oder irgendwelche Fehler aufweist. Dies war nicht der Fall,so konnte ich mit der Integration in den Global Manager fortfahren und erneut probieren und siehe da, der Import war möglich: