יום שבת, 6 באוגוסט 2011

איך להגדיר גישה לנגיוס ע"י חשבונות משתמשים של Active Directory ?


למעשה ההגדרה היא לא בנגיוס עצמו אלא הגדרות ה directory ב apache,
ראשית נתקין ונפעיל apache modules בשם ldap_module אם איננו מוגדר.
נערוך את קובץ etc/httpd/conf.d/nagios.conf/ ונוסיף את הגדרת האוטנטיקציה:

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all

AuthLDAPBindDN "CN=user,OU=Services,DC=domain,DC=com"
AuthLDAPBindPassword "******"
AuthLDAPURL "ldap://server/OU=All Users,DC=domain,DC=com?sAMAccountName?sub?(objectClass=*)"

AuthType Basic
AuthName "USE YOUR AD ACCOUNT"
AuthBasicProvider ldap
AuthUserFile /dev/null
require ldap-group CN=NagiosUsers,OU=All Groups,DC=domain,DC=com

</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

כפי שאתם רואים אני מגדיר אימות רק על תיקיית cgi-bin ומגביל את הגישה לחברים בקבוצה מסויימת בלבד.

כדי לאפשר ל apache לחפש חשבונות גם ב chilled domain שינתי את ההגדרה אימות חשבונות מול GC

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all

AuthLDAPBindDN user@domain.com
AuthLDAPBindPassword "**********"
AuthLDAPURL ldap://domain.com:3268/?userPrincipalName?sub

AuthType Basic
AuthName "USE YOUR DOMAIN ACCOUNT, user@domain.com"
AuthBasicProvider ldap
AuthUserFile /dev/null
Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all

</Directory>

בנוסף אני מאפשר גישה לנגיוס לכל חשבנות מאומת ללא קשר לחברות בקבוצה כזו או אחרת, באימות מול GC נדרש להזין שם משתמש בפורמט user@domain.com או user@sub.domian.com

את ההרשאות עצמן אני מנהל מקובץ usr/local/nagios/etc/cgi.cfg/

authorized_for_read_only=guest
authorized_for_system_information=*
authorized_for_all_services=*
authorized_for_all_hosts=*
authorized_for_configuration_information=guy@domain.com,admin@domain.com,manager@domain.com
authorized_for_system_commands=guy@domain.com,admin@domain.com,manager@domain.com
authorized_for_all_service_commands=guy@domain.com,admin@domain.com,manager@domain.com
authorized_for_all_host_commands=guy@domain.com,admin@domain.com,manager@domain.com

כפי שאתרם רואים, אני מאפשר גישה לכל המשתמשים בדומין, ביצוע פעולות (enable/disable/acknowlade) מאושרות רק עבור משתמשים ספציפיים.

0 תגובות:

הוסף רשומת תגובה