De sectie Administratie → Authenticatie stelt u in staat de globale gebruikersauthenticatiemethode voor Zabbix te specificeren, evenals de interne wachtwoordvereisten. De beschikbare methoden zijn interne, HTTP, LDAP en SAML-authenticatie.
Standaard maakt Zabbix gebruik van interne Zabbix-authenticatie voor alle gebruikers. Het is mogelijk om de standaard methode voor systeembrede LDAP authenticatie te wijzigen of LDAP-authenticatie alleen in te schakelen voor specifieke gebruikersgroepen.
Om LDAP in te stellen als standaard authenticatiemethode voor alle gebruikers, ga naar het tabblad LDAP en configureer de authenticatieparameters. Ga vervolgens terug naar het tabblad Authenticatie en schakel de schakelaar voor Standaard authenticatie over naar LDAP.
Merk op dat de authenticatiemethode op gebruikersgroepniveau verder kan worden verfijnd. Zelfs als LDAP-authenticatie wereldwijd is ingesteld, kunnen sommige gebruikersgroepen nog steeds worden geauthenticeerd door Zabbix. Deze groepen moeten toegang tot frontend ingesteld hebben op Intern. Andersom, als interne authenticatie wereldwijd wordt gebruikt, kunnen LDAP-authenticatiegegevens worden gespecificeerd en gebruikt voor specifieke gebruikersgroepen waarvan toegang tot frontend is ingesteld op LDAP. Als een gebruiker is opgenomen in ten minste één gebruikersgroep met LDAP-authenticatie, kan deze gebruiker de interne authenticatiemethode niet gebruiken.
HTTP en SAML 2.0 authenticatiemethoden kunnen worden toegevoegd naast de standaard authenticatiemethode.
Het tabblad Authenticatie maakt het mogelijk om aangepaste wachtwoordcomplexiteitseisen te definiëren voor interne Zabbix-gebruikers.
De volgende opties voor wachtwoordbeleid kunnen geconfigureerd worden:
Parameter | Omschrijving |
---|---|
Minimale wachtwoordlengte | Standaard is de minimale wachtwoordlengte ingesteld op 8. Ondersteund bereik: 1-70. Merk op dat wachtwoorden langer dan 72 tekens worden afgekapt. |
Wachtwoord moet bevatten | Vink een of meerdere selectievakjes aan om het gebruik van specifieke tekens in een wachtwoord te vereisen: - een hoofdletter en een kleine letter in het Latijn - een cijfer - een speciaal teken Houd de muisaanwijzer boven het vraagteken om een hint te zien met de lijst van tekens voor elke optie. |
Vermijd makkelijk te raden wachtwoorden | Indien aangevinkt, zal een wachtwoord gecontroleerd worden op de volgende eisen: - mag de naam, achternaam of gebruikersnaam van de gebruiker niet bevatten - mag geen van de veelgebruikte wachtwoorden of contextspecifieke wachtwoorden zijn. De lijst van veelgebruikte en contextspecifieke wachtwoorden wordt automatisch gegenereerd op basis van de lijst van NCSC "Top 100k wachtwoorden", de lijst van SecLists "Top 1M wachtwoorden" en de lijst van Zabbix contextspecifieke wachtwoorden. Interne gebruikers zullen geen wachtwoorden kunnen instellen die in deze lijst zijn opgenomen, omdat deze wachtwoorden als zwak worden beschouwd vanwege hun veelvoorkomend gebruik. |
Wijzigingen in de eisen voor wachtwoordcomplexiteit hebben geen invloed op bestaande wachtwoorden van gebruikers. Als een bestaande gebruiker echter ervoor kiest om het wachtwoord te wijzigen, moet het nieuwe wachtwoord voldoen aan de huidige vereisten. Een hint met de lijst van vereisten wordt weergegeven naast het Wachtwoord veld in het gebruikersprofiel en in het gebruikersconfiguratieformulier dat bereikbaar is via het Beheer→Gebruikers menu.
HTTP- of webservergebaseerde authenticatie (bijvoorbeeld: basisauthenticatie, NTLM/Kerberos) kan worden gebruikt om gebruikersnamen en wachtwoorden te controleren. Merk op dat een gebruiker ook in Zabbix moet bestaan, maar dat het Zabbix-wachtwoord niet wordt gebruikt.
Wees voorzichtig! Zorg ervoor dat webserverauthenticatie correct is geconfigureerd en goed werkt voordat u deze inschakelt.
Configuratieparameters:
Parameter | Omschrijving |
---|---|
HTTP-authenticatie inschakelen | Vink het selectievakje aan om HTTP-authenticatie in te schakelen. Als je met de muis over beweegt, verschijnt er een hulppop-up die waarschuwt dat in het geval van webserverauthenticatie alle gebruikers (zelfs met frontend-toegang ingesteld op LDAP/Internal) geauthenticeerd zullen worden door de webserver, niet door Zabbix. |
Standaard inlogformulier | Specificeer of niet-geauthenticeerde gebruikers doorgestuurd moeten worden naar: Zabbix inlogformulier - de standaard Zabbix inlogpagina. HTTP inlogformulier - de HTTP-inlogpagina. Het wordt aanbevolen om alleen authenticatie op basis van de webserver in te schakelen voor de pagina index_http.php . Als Standaard inlogformulier is ingesteld op 'HTTP-inlogpagina', wordt de gebruiker automatisch ingelogd als het webserverauthenticatiemodule een geldige gebruikersnaam instelt in de $_SERVER -variabele.Ondersteunde $_SERVER -sleutels zijn PHP_AUTH_USER , REMOTE_USER , AUTH_USER . |
Domeinnaam verwijderen | Een door komma's gescheiden lijst van domeinnamen die uit de gebruikersnaam moeten worden verwijderd. Bijvoorbeeld bedr,ijf - als de gebruikersnaam 'Admin@bedrijf' is, 'bedr\Admin', zal de gebruiker worden ingelogd als 'Admin'; als de gebruikersnaam 'geenbedrijf\Admin' is, wordt de login geweigerd. |
Hoofdlettergevoelige inlog | Deselecteer het selectievakje om hoofdlettergevoelige inlog (standaard ingeschakeld) voor gebruikersnamen uit te schakelen. Bijvoorbeeld, schakel hoofdlettergevoelige inlog uit en log in met bijvoorbeeld de gebruiker 'ADMIN' zelfs als de Zabbix-gebruiker 'Admin' is. Let op dat als hoofdlettergevoelige inlog is uitgeschakeld, de inlog wordt geweigerd als meerdere gebruikers met vergelijkbare gebruikersnamen in de Zabbix-database bestaan (bijvoorbeeld Admin, admin). |
Voor interne gebruikers die niet kunnen inloggen met HTTP-inloggegevens (met HTTP-inlogformulier ingesteld als standaard), wat leidt tot de foutcode 401, kunt u een regel ErrorDocument 401 /index.php?form=default
toevoegen aan de basisauthenticatie-directieven. Dit zal doorverwijzen naar het reguliere Zabbix-inlogformulier.
Externe LDAP-authenticatie kan worden gebruikt om gebruikersnamen en wachtwoorden te controleren. Merk op dat een gebruiker ook in Zabbix moet bestaan, maar dat het Zabbix-wachtwoord niet wordt gebruikt.
Zabbix LDAP-authenticatie werkt minimaal met Microsoft Active Directory en OpenLDAP.
Configuratieparameters:
Parameter | Omschrijving |
---|---|
LDAP-authenticatie inschakelen | Vink het selectievakje aan om LDAP-authenticatie in te schakelen. |
LDAP-host | Naam van de LDAP-server. Bijvoorbeeld: ldap://ldap.zabbix.com Voor een beveiligde LDAP-server gebruik het ldaps-protocol. ldaps://ldap.zabbix.com Bij OpenLDAP 2.x.x en later kan een volledige LDAP-URI in de vorm ldap://hostname:port of ldaps://hostname:port worden gebruikt. |
Poort | Poortnummer van de LDAP-server. Standaard is 389. Voor een beveiligde LDAP-verbinding is het poortnummer meestal 636. Niet gebruikt bij het gebruik van volledige LDAP-URI's. |
Basis DN | Basispad om accounts te zoeken: ou=Users,ou=system (voor OpenLDAP), DC=bedrijf,DC=com (voor Microsoft Active Directory) |
Zoekattribuut | LDAP-accountattribuut gebruikt voor zoeken: uid (voor OpenLDAP), sAMAccountName (voor Microsoft Active Directory) |
Bind DN | LDAP-account voor binding en zoeken op de LDAP-server, voorbeelden: uid=ldap_search,ou=system (voor OpenLDAP), CN=ldap_search,OU=gebruikersgroep,DC=bedrijf,DC=com (voor Microsoft Active Directory) Anonieme binding wordt ook ondersteund. Let op dat anonieme binding potentieel de domeinconfiguratie openstelt voor ongeautoriseerde gebruikers (informatie over gebruikers, computers, servers, groepen, services, enz.). Om veiligheidsredenen schakelt u anonieme bindings uit op LDAP-hosts en gebruikt u in plaats daarvan geauthenticeerde toegang. |
Hoofdlettergevoelige inlog | Deselecteer het selectievakje om hoofdlettergevoelige inlog (standaard ingeschakeld) voor gebruikersnamen uit te schakelen. Bijvoorbeeld, schakel hoofdlettergevoelige inlog uit en log in met bijvoorbeeld de gebruiker 'ADMIN' zelfs als de Zabbix-gebruiker 'Admin' is. Let op dat als hoofdlettergevoelige inlog is uitgeschakeld, de inlog wordt geweigerd als meerdere gebruikers met vergelijkbare gebruikersnamen in de Zabbix-database bestaan (bijvoorbeeld Admin, admin). |
Bindwachtwoord | LDAP-wachtwoord van het account voor binding en zoeken op de LDAP-server. |
Authenticatie testen | Koptekst van een sectie voor testen |
Inloggen | Naam van een testgebruiker (die momenteel is ingelogd in de Zabbix-frontend). Deze gebruikersnaam moet bestaan in de LDAP-server. Zabbix activeert LDAP-authenticatie niet als het de testgebruiker niet kan authenticeren. |
Gebruikerswachtwoord | LDAP-wachtwoord van de testgebruiker. |
Bij problemen met certificaten moet u mogelijk een regel TLS_REQCERT allow
toevoegen aan het configuratiebestand /etc/openldap/ldap.conf om een beveiligde LDAP-verbinding (ldaps) te laten werken. Dit kan de beveiliging van de verbinding met de LDAP-catalogus verminderen.
Het wordt aanbevolen om een apart LDAP-account (Bind DN) te maken om binding en zoeken uit te voeren op de LDAP-server met minimale rechten in de LDAP in plaats van echte gebruikersaccounts (gebruikt voor het inloggen in de Zabbix-frontend). Zo'n aanpak biedt meer veiligheid en vereist geen wijziging van het Bind-wachtwoord wanneer de gebruiker zijn eigen wachtwoord wijzigt in de LDAP-server. In de bovenstaande tabel is de naam van het ldap_search-account.
SAML 2.0-authenticatie kan worden gebruikt om in te loggen bij Zabbix. Merk op dat een gebruiker ook in Zabbix moet bestaan, maar dat het Zabbix-wachtwoord niet wordt gebruikt. Als de authenticatie succesvol is, zal Zabbix een lokale gebruikersnaam matchen met het gebruikersnaamattribuut dat wordt teruggestuurd door SAML.
Als SAML-authenticatie is ingeschakeld, kunnen gebruikers kiezen tussen lokaal inloggen of via SAML Single Sign-On.
Om met Zabbix te werken, moet een SAML-identiteitsprovider (onelogin.com, auth0.com, okta.com, enz.) als volgt worden geconfigureerd:
<pad_naar_zabbix_ui>/index_sso.php?acs
<pad_naar_zabbix_ui>/index_sso.php?sls
Voorbeelden van <pad_naar_zabbix_ui>
: %% https://voorbeeld.com/zabbix/ui, http://nogeen.voorbeeld.com/zabbix, http://<een_publiek_ip_adres>/zabbix %%
Het is vereist om php-openssl te installeren als je SAML-authenticatie in de frontend wilt gebruiken.
Om SAML-authenticatie te gebruiken, moet Zabbix als volgt worden geconfigureerd:
De privésleutel en het certificaat moeten worden opgeslagen in de map ui/conf/certs/, tenzij aangepaste paden zijn opgegeven in zabbix.conf.php.
Standaard zal Zabbix zoeken in de volgende locaties:
Alle belangrijke instellingen kunnen geconfigureerd worden in de Zabbix frontend. Het is echter ook mogelijk om aanvullende instellingen op te geven in het configuratiebestand.
Configuratieparameters die beschikbaar zijn in de Zabbix frontend:
Parameter | Beschrijving |
---|---|
SAML-authenticatie inschakelen | Markeer het selectievakje om SAML-authenticatie in te schakelen. |
IDP-entiteit-ID | De unieke identificator van de SAML-identiteitsprovider. |
SSO-service-URL | De URL waarnaar gebruikers worden doorgestuurd bij het inloggen. |
SLO-service-URL | De URL waarnaar gebruikers worden doorgestuurd bij het uitloggen. Als dit leeg wordt gelaten, wordt de SLO-service niet gebruikt. |
// Gebruikersnaamattribuut// | Het SAML-attribuut dat als gebruikersnaam wordt gebruikt bij het inloggen op Zabbix. De lijst met ondersteunde waarden wordt bepaald door de identiteitsprovider. Voorbeelden: uid userprincipalname samaccountname username userusername urn:oid:0.9.2342.19200300.100.1.1 urn:oid:1.3.6.1.4.1.5923.1.1.1.13 urn:oid:0.9.2342.19200300.100.1.44 |
SP-entiteit-ID | De unieke identificator van de SAML-serviceprovider. |
SP name ID-formaat | Definieert welk naam-ID-formaat moet worden gebruikt. Voorbeelden: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:entity |
Signeren | Markeer de selectievakjes om entiteiten te selecteren waarvoor SAML-ondertekening moet worden ingeschakeld: Berichten Assertions AuthN-verzoeken Uitlogverzoeken Uitlogreacties |
Versleutelen | Markeer de selectievakjes om entiteiten te selecteren waarvoor SAML-versleuteling moet worden ingeschakeld: Assertions Naam-ID |
Hoofdlettergevoelige aanmelding | Markeer het selectievakje om hoofdlettergevoelige aanmelding in te schakelen (standaard uitgeschakeld) voor gebruikersnamen. Je kunt bijvoorbeeld hoofdlettergevoelige aanmelding uitschakelen en inloggen met 'ADMIN'-gebruiker, zelfs als de Zabbix-gebruiker 'Admin' is. Opmerking dat bij uitgeschakelde hoofdlettergevoelige aanmelding de aanmelding wordt geweigerd als er meerdere gebruikers met vergelijkbare gebruikersnamen in de Zabbix-database staan (bijvoorbeeld Admin, admin). |
Aanvullende SAML-parameters kunnen geconfigureerd worden in het Zabbix frontend configuratiebestand (zabbix.conf.php):
Zabbix maakt gebruik van de OneLogin's SAML PHP Toolkit bibliotheek (versie 3.4.1). De structuur van de $SSO['SETTINGS'] sectie moet vergelijkbaar zijn met de structuur die door de bibliotheek wordt gebruikt. Voor de beschrijving van configuratieopties, zie de officiële bibliotheek documentatie.
Alleen de volgende opties kunnen worden ingesteld als onderdeel van $SSO['SETTINGS']:
Alle andere opties worden uit de database gehaald en kunnen niet overschreven worden. De debug optie wordt genegeerd.
Bovendien, als de Zabbix UI achter een proxy of een load balancer staat, kan de aangepaste use_proxy_headers optie worden gebruikt:
Als je een load balancer gebruikt om verbinding te maken met de Zabbix-instantie, waarbij de load balancer TLS/SSL gebruikt en Zabbix niet, moet je de parameters 'baseurl', 'strict' en 'use_proxy_headers' als volgt aangeven:
$SSO_SETTINGS=['strict' => false, 'baseurl' => "https://zabbix.example.com/zabbix/", 'use_proxy_headers' => true]
Voorbeeld configuratie: