Änderungen an der iDRAC-HTTP-Basisauthentifizierung
Summary: Ab iDRAC9 7.30.10.50 und iDRAC10 1.30.10.50 wurde die Standardeinstellung für die HTTP-Basisauthentifizierung in unangekündigt geändert (vorherige Standardeinstellung: Aktiviert). Diese Änderungen wurden vorgenommen, um die Sicherheit der Anmeldeinformationen zu verbessern und die unbeabsichtigte Gefährdung der HTTP-Standardauthentifizierung in Redfish-Services zu reduzieren. ...
Symptoms
Beim Zugriff auf eine Redfish-Ressource von einem generischen Client aus und die Authentifizierung ist für die ursprüngliche Anforderung nicht vorgesehen (z. B. Webbrowser), wird der folgende Fehler zurückgegeben und es gibt keine automatischen Aufforderungen zur Eingabe von Anmeldeinformationen.
{
"error": {
"code": "Base.1.8.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information.",
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_0.Message",
"MessageId": "Base.1.8.AccessDenied",
"Message": "The authentication credentials included with this request are missing or invalid.",
"MessageArgs": [],
"MessageArgs@odata.count": 0,
"RelatedProperties":[],
"RelatedProperties@odata.count": 0,
"Severity": "Critical",
"Resolution": "Attempt to ensure that the URI is correct and that the service has the appropriate credentials."
}
]
}
}
Cause
Neues Verhalten
HTTPBasicAuth Der Standardwert ist auf Nicht angekündigt festgelegt. Wenn die anfängliche HTTP-Anforderung ohne Authentifizierungsheader gesendet wird, kündigt der Dienst die grundlegende Authentifizierung nicht im WWW-Authenticate-Antwortheader an. Dies verhindert automatische Eingabeaufforderungen oder den Zugriff durch generische Clients (z. B. Browser).
< HTTP/1.1 401 Unauthorized < Date: Mon, 09 Mar 2026 17:21:26 GMT < Server: Apache
Legacy-Verhalten
Bei der HTTPBasicAuth Der Standardwert ist auf Enabled festgelegt. Wenn die anfängliche HTTP-Anforderung ohne Authentifizierungsheader gesendet wird, kündigt der Dienst die grundlegende Authentifizierung im WWW-Authenticate-Antwortheader an. Dies ermöglicht automatische Eingabeaufforderungen oder den Zugriff durch generische Clients (z. B. Browser).
< HTTP/1.1 401 Unauthorized < Date: Mon, 09 Mar 2026 17:21:57 GMT < Server: Apache < WWW-Authenticate: Basic realm="RedfishService"
Resolution
Ab iDRAC9 7.30.10.50 und iDRAC10 1.30.10.50 wurde die Standardeinstellung für die grundlegende HTTP-Authentifizierung in unangekündigt geändert (vorherige Standardeinstellung: Aktiviert). Diese Änderungen wurden vorgenommen, um die Sicherheit der Anmeldeinformationen zu verbessern und die unbeabsichtigte Gefährdung der HTTP-Standardauthentifizierung in Redfish-Services zu reduzieren.
Ein neues konfigurierbares Steuerelement für die grundlegende HTTP-Authentifizierung wurde im Redfish AccountService, DMTF-Eigenschaftsname HTTPBasicAuth. Diese neue Eigenschaft unterstützt drei mögliche Werte:
Nicht angekündigt (neue Standardeinstellung):
- Der Dienst kündigt basic nicht im WWW-Authenticate-Antwortheader an, dies verhindert automatische Eingabeaufforderungen oder den Zugriff durch generische Clients (z. B. Browser).
Aktiviert:
- Die HTTP-Basisauthentifizierung ist aktiviert und wird explizit mit dem WWW-Authenticate: basic-Header bei 401 nicht autorisierten Antworten angekündigt.
Deaktiviert:
- Die HTTP-Basisauthentifizierung ist für den Redfish-Dienst vollständig deaktiviert, andere Methoden wie die X-Auth-Tokensitzung (empfohlen) sind erforderlich, um Redfish-Vorgänge durchzuführen.
Die grundlegenden HTTP-Authentifizierungseinstellungen können über Redfish, die Web-Benutzeroberfläche und RACADM-iDRAC-Schnittstellen konfiguriert werden.
Redfish: - PATCH DMTF property HTTPBasicAuth under AccountService - PATCH OEM attribute Redfish.BasicAuthState under DellAttributes RACADM: - Set OEM attribute iDRAC.Redfish.BasicAuthState GUI: - iDRAC Settings -> Services -> Redfish -> HTTP Basic Authentication
Additional Information
Wenn BasicAuthState auf Nicht angekündigt festgelegt ist, müssen Clients explizit Authentifizierungsheader für die anfängliche Anforderung senden. Beispielsweise muss das Modul ansible.builtin.uri die
force_basic_auth: true , um beim ersten Request einen Basic Authentication Header zu senden.