目录

简介

先决条件

要求

使用的组件

问题

解决方案

单线自动

简介

本文档介绍如何在安全网络分析管理器上将单点登录(SSO)设置为空/默认值。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于安全网络分析管理器(SMC)版本7.1及更高版本。

本文建议使用具有复制和粘贴功能的SSH客户端/应用。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

问题

配置的SSO设置无效或过时，或者中央管理显示 Configuration Changes Failed 保存无效或过时的SSO配置后。

解决方案

SSO配置包括两个部分，即中央管理和Fedlet管理器。如果需要比较原始配置和最终配置，请运行所有列出的步骤。如果不需要比较，则仅运行未标记为（可选）的命令。  本文末尾的“单行”命令将为您执行这些步骤。

步骤1.（可选）如果要将当前中央管理配置与最终结果进行比较，请运行 jq '.configurableElements.sso' /lancope/var/services/cm/configuration/$(awk -F\" '{print $8}' /lancope/var/services/cm-agent/configuration/managementChannel.json)/config.json > jqdoldcm.json 命令。

741smc:~# jq '.configurableElements.sso' /lancope/var/services/cm/configuration/$(awk -F\" '{print $8}' /lancope/var/services/cm-agent/configuration/managementChannel.json)/config.json > jqdoldcm.json

741smc:~#

步骤2.（可选）如果要将当前配置与最终结果进行比较，请运行 jq . /lancope/var/fedlet-manager/conf/fedlet-manager.json > jqdoldfm.json  命令。

741smc:~# jq . /lancope/var/fedlet-manager/conf/fedlet-manager.json > jqdoldfm.json

741smc:~#

第三步：创建临时变量 tmpfile=$(mktemp)  命令。

741smc:~# tmpfile=$(mktemp)

741smc:~#

第四步：创建临时变量cm_file=$(echo /lancope/var/services/cm/configuration/$(awk -F\" '{print $8}' /lancope/var/services/cm-agent/configuration/managementChannel.json)/config.json) 命令。

741smc:~# cm_file=$(echo /lancope/var/services/cm/configuration/$(awk -F\" '{print $8}' /lancope/var/services/cm-agent/configuration/managementChannel.json)/config.json)

741smc:~#

第五步：使用Cisco UCS Director echo $SWINFO_version  命令。

741smc:~# echo $SWINFO_version

7.4.1

如果SMC版本为7.4.1，请运行以下命令：

741smc:~# cp $cm_file $tmpfile && jq --arg foo "" --argjson bar false '.configurableElements.sso.ssoEnabled = $bar|.configurableElements.sso.ssoDescription = $foo|.configurableElements.sso.idpXml = $foo|.configurableElements.sso.ssoProxy = $foo|.configurableElements.sso.ssoOnly = $bar|.configurableElements.sso.downloadIdpXml = $bar' "$tmpfile" > $cm_file && rm -f -- $tmpfile

741smc:~# cp /lancope/var/fedlet-manager/conf/fedlet-manager.json $tmpfile && jq --arg foo "" --argjson bar false '.ssoEnabled = $bar|.ssoDescription = $foo|.idpXml = $foo|.ssoProxy = $foo|.state = "NO_CONFIGURATION"|.message="Single Sign-On is not configured."' $tmpfile >/lancope/var/fedlet-manager/conf/fedlet-manager.json && rm -f -- $tmpfile

741smc:~#

如果SMC版本早于7.4.1，请运行以下命令：

711smc:~# cp $cm_file $tmpfile && jq --arg foo "" --argjson bar false '.configurableElements.sso.ssoEnabled = $bar|.configurableElements.sso.ssoDescription = $foo|.configurableElements.sso.idpXml = $foo|.configurableElements.sso.ssoOnly = $bar|.configurableElements.sso.downloadIdpXml = $bar' "$tmpfile" > $cm_file && rm -f -- $tmpfile

711smc:~# cp /lancope/var/fedlet-manager/conf/fedlet-manager.json $tmpfile && jq --arg foo "" --argjson bar false '.ssoEnabled = $bar|.ssoDescription = $foo|.idpXml = $foo|.state = "NO_CONFIGURATION"|.message="Single Sign-On is not configured."' $tmpfile >/lancope/var/fedlet-manager/conf/fedlet-manager.json && rm -f -- $tmpfile

711smc:~#

步骤6.（可选）如果要将最终结果配置与原始配置进行比较，请运行以下命令：

741smc:~# jq '.configurableElements.sso' $cm_file > jqdnewcm.json

741smc:~# jq . /lancope/var/fedlet-manager/conf/fedlet-manager.json > jqdnewfm.json

741smc:~# diff -y jqdoldcm.json jqdnewcm.json

741smc:~# diff -y jqdoldfm.json jqdnewfm.json

步骤7.（可选）删除 json 作为此比较过程的一部分在最后一个步骤中创建的文件。

741smc:~# rm -f jqdoldcm.json jqdnewcm.json

741smc:~# rm -f jqdoldfm.json jqdnewfm.json

步骤 8取消设置本文档开头创建的变量。

711smc:~# unset tmpfile

711smc:~# unset cm_file

711smc:~#

使用 docker central-management 命令。

741smc:~# docker restart svc-central-management

svc-central-management

741smc:~#

单线自动

运行此命令可执行本文中介绍的所有步骤。输出包含一些附加格式。

bash <(base64 -d <<< "H4sIAIXWV2MAA+1WXW/aQBB8769YWVZIpNoobapWQkSqSIh4AEehaSuVKrrYa3LBvnPuDihq+t+7Z4PBBMhHX6qqEqDcst6dnRsyi+GNBA/BGYiB6Bs2RDgEDzqCG/jMFGfXCWpgIoIzZm5QQZtTYCC6bMTFEAymGcQUAt/3wYGGSTN7bLr76ch+eQCNML2ah9A2qydMhDLD+oSpukY14SHqepjWQyliPhwrZrgUdXefTUfgtQcO1H5migsD7odfta2PewRdmLUiKRMUTumL1g0TAhP/VktxMM8qDtDQCWIG/jtoYMmGOZECB+IMjbFzhmOlqAq06EOxBLplYdCGGaTJb++g5pftibbTJE/QvtayBu6cBjiG27tIJlGY5v2f1b6NUYIG+ralrV209aukxHmSV8yu8lnXYkXjBZD4CUCWyghlmlEpXOrlDUW7MuLxLIe6egEklMssYvkMG6izspqPVEQVtFYfp/F4DN/A7X/p9NrB1QSVpjA0m+C894/8Qwe+QwNIlwLCbEmxO1ch7O3RjOB5TA0hlhIcpzjk814zBTFLNO64N/s+FTYaQRNceuR+Z+4J6lDxzOQowaWeO/J5lH1Nk8fz6H2u5I/ZkzIDkcwehxrJqUgkizolBMqvgbNgziF1lHQSiyoFLybuKtQS5S8S3vOvZ8MtbCF7jdMH1OW/Vjo5veCqFfTanbPLi4+fOkHPufdT1JpQNp0+6ZXg9flQeIEArkFIUyobI9+pLYc4fhEHGzltANp5/20p/xdoRaB/tx5j/kxjEzgtje0PrYlKPd2arAm1HljT23mUKQoWf+RW1H1gUz1p8DU5CXE7lWRNiZQj8qcZkK/FmJvvWNDmo6HfD2DKaCcKzZglpOXlPUCmcMLlWFNUqqIava6VHCFhCpLIti4sDu6hh9PFmZzONgJvtrYdrFG6iYeVwdb3A100XQ/Pe2/YJqog4gqI8jLK1lWSq9QfUfRSaKo/qayREdq8fHGUiqlZvj1qal3Ib+f0qylbsI3zlqWAi+NCoQVy5wLpV6e2LCWWBBmOaBVRRRroSeiFRZ63XCjtP+vNUjxa2ZKoGuyG9Oo3OzkftYILAAA=" | gunzip)

示例输出：

741smc:~# bash <(base64 -d <<< "H4sIAIXWV2MAA+1WXW/aQBB8769YWVZIpNoobapWQkSqSIh4AEehaSuVKrrYa3LBvnPuDihq+t+7Z4PBBMhHX6qqEqDcst6dnRsyi+GNBA/BGYiB6Bs2RDgEDzqCG/jMFGfXCWpgIoIzZm5QQZtTYCC6bMTFEAymGcQUAt/3wYGGSTN7bLr76ch+eQCNML2ah9A2qydMhDLD+oSpukY14SHqepjWQyliPhwrZrgUdXefTUfgtQcO1H5migsD7odfta2PewRdmLUiKRMUTumL1g0TAhP/VktxMM8qDtDQCWIG/jtoYMmGOZECB+IMjbFzhmOlqAq06EOxBLplYdCGGaTJb++g5pftibbTJE/QvtayBu6cBjiG27tIJlGY5v2f1b6NUYIG+ralrV209aukxHmSV8yu8lnXYkXjBZD4CUCWyghlmlEpXOrlDUW7MuLxLIe6egEklMssYvkMG6izspqPVEQVtFYfp/F4DN/A7X/p9NrB1QSVpjA0m+C894/8Qwe+QwNIlwLCbEmxO1ch7O3RjOB5TA0hlhIcpzjk814zBTFLNO64N/s+FTYaQRNceuR+Z+4J6lDxzOQowaWeO/J5lH1Nk8fz6H2u5I/ZkzIDkcwehxrJqUgkizolBMqvgbNgziF1lHQSiyoFLybuKtQS5S8S3vOvZ8MtbCF7jdMH1OW/Vjo5veCqFfTanbPLi4+fOkHPufdT1JpQNp0+6ZXg9flQeIEArkFIUyobI9+pLYc4fhEHGzltANp5/20p/xdoRaB/tx5j/kxjEzgtje0PrYlKPd2arAm1HljT23mUKQoWf+RW1H1gUz1p8DU5CXE7lWRNiZQj8qcZkK/FmJvvWNDmo6HfD2DKaCcKzZglpOXlPUCmcMLlWFNUqqIava6VHCFhCpLIti4sDu6hh9PFmZzONgJvtrYdrFG6iYeVwdb3A100XQ/Pe2/YJqog4gqI8jLK1lWSq9QfUfRSaKo/qayREdq8fHGUiqlZvj1qal3Ib+f0qylbsI3zlqWAi+NCoQVy5wLpV6e2LCWWBBmOaBVRRRroSeiFRZ63XCjtP+vNUjxa2ZKoGuyG9Oo3OzkftYILAAA=" | gunzip)

Stage 1 - Init Variables and Gather Files

Making temp file ...

Done

Getting current Central Management state

Done

Getting current Fedlet Statement

Done

Stage 1 - complete

Stage 2 - Modifying configurations

Updating Central Management and Fedlet Manager Configuration

Done

Stage 2 - Complete

Stage 3 - Compare

Comparing CM configurations

Note, this wont look any different unless SSO was actually configured previously or this is broken

Old CM Config | New CM Conf

{                                               {

"ssoEnabled": true,                           | "ssoEnabled": false,

"ssoDescription": "Known Bad Config",         | "ssoDescription": "",

"idpXml": "https://www.example.com",          | "idpXml": "",

"ssoProxy": "",                                 "ssoProxy": "",

"ssoOnly": false,                               "ssoOnly": false,

"downloadIdpXml": true                        | "downloadIdpXml": false

}                                               }

Comparing Fedlet Statements

Old Fedlet Statement | New Fedlet Statement

{                                                             {

"ssoEnabled": true,                                         | "ssoEnabled": false,

"ssoDescription": "Known Bad Config",                       | "ssoDescription": "",

"idpXml": "",                                                 "idpXml": "",

"spFqdn": "741smc.example.local",                             "spFqdn": "741smc.example.local",

"ssoProxy": "",                                               "ssoProxy": "",

"state": "FAILED_TO_DOWNLOAD_IDP",                          | "state": "NO_CONFIGURATION",

"message": "We couldn’t reach the Identity Provider URL. En | "message": "Single Sign-On is not configured."

}                                                             }

Stage 3 - Complete

Stage 4 - Unset variables and delete temporary files

Restarting Central Management

svc-central-management

Done

Stage 4 - complete