Doména FJFI

From NMS
Revision as of 23:16, 10 April 2007 by Vokac (Talk | contribs)

Jump to: navigation, search

Firewall

  • DNS - 53 TCP+UDP - 0.0.0.0/0
  • LDAP - 389 TCP+UDP - 0.0.0.0/0
  • LDAPs - 636 TCP - 0.0.0.0/0
  • Kerberos - 88 TCP+UDP - 0.0.0.0/0
  • Kerberos admin - 749 TCP - 0.0.0.0/0
  • Samba - 137,138,139,445 TCP+UDP - minimálně rozsah FJFI (možná ČVUT)
  • SNMP - 161 TCP+UDP - pro management (nms.fjfi.cvut.cz)


Konfigurace Linuxu/Unixu

Pro jednoduchost není dobré vytvářet více domén. Uživatelé by pak museli používat jméno včetně jména domény, což by bylo dost nepohodlné a některé aplikace by asi špatně rozdýchávali uživatelská jména ve tvaru DOMAIN\username.

Uživatelské informace

Získávají se pomocí NSS a v případě Windows AD domény k nim lze přistupovat několika různými způsoby (export do "passwd", LDAP, winbind). Kvůli zachování stejných UID na všech stanicích nelze (jednoduše) použít winbind. LDAP přístup je asi "nejčistší" řešení, ale bude se muset vyzkoušet jestli bude výkonostně přijatelné (jinak se budou muset udělat exporty do standardních souborů jako tomu je/bylo u Novell NDS). V případě problémů s výkonem LDAPu by stálo za zvážení použít nscd daemona pro cachování získaných informací (potřeba otestovat, protože před pár lety docela zlobil při použití proti Novell LDAP).

Pro zpřístupnění informací přes LDAP je potřeba nainstalovat "nss_ldap" a upravit konfigurace /etc/nsswitch.conf a /etc/ldap.conf (pro práci s LDAP nastroji je ještě vhodné upravit /etc/openldap/ldap.conf).

  • /etc/nsswitch.conf
...
passwd:     files ldap
shadow:     files ldap
group:      files ldap
hosts:      files dns wins
...
  • /etc/ldap.conf
host dc1.fjfi.cvut.cz dc2.fjfi.cvut.cz dc3.fjfi.cvut.cz dc4.fjfi.cvut.cz
base dc=fjfi,dc=cvut,dc=cz
ldap_version 3
# In case AD doesn't allow anonymous binds
# binddn cn=proxy nss,ou=special,dc=fjfi,dc=cvut,dc=cz
# bindpw secret
pam_min_uid 1000
# RFC 2307 (AD) mappings
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
nss_map_attribute uniqueMember member
pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad
# Disable SASL security layers. This is needed for AD.
sasl_secprops maxssf=0
  • /etc/openldap/ldap.conf
BASE   dc=fjfi,dc=cvut,dc=cz
URI    ldaps://dc1.fjfi.cvut.cz ldaps://dc2.fjfi.cvut.cz ...
TLS_CACERTDIR /etc/openldap/cacerts

Pro přístup přes LDAP rozhraní k Windows AD je potřeba na firewallu povolit porty 389 TCP, 389 UDP, 636 TCP (z celého internetu). Pro zabezpečený přístup přes LDAP se používají x509 certifikáty. Klient musí důvěřovat certifikační autoritě, která podepsala certifikáty používané pro zabezpečenou LDAP komunikaci. Z tohoto důvodu je nutné, aby všechny Windows AD stroje měli platné certifikáty vydané Cesnet CA nebo SureServer EDU.


Autentizace

Existuje více způsobů jak autentizovat uživatele z Windows AD (Kerberos, LDAP, winbind, RADIUS, ...). Nejrozumnější vlastnosti má Kerberos, který je přímo navržen pro bezpečnou autentizaci uživatelů. Navíc uživatel získá Kerberos ticket, který může dále používat pro autentizaci k dalším službám (SSO).

Na linuxu je potřeba naintalovat balík "krb5-workstation", je potřeba mít povolen přístup na KDC (Key Distribution Center) na portech 88 TCP, 88 UDP, 749 TCP (z celého internetu). Konfigurační soubor /etc/krb5.conf by mít např. následující obsah

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = FJFI.CVUT.CZ
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
[realms]
FJFI.CVUT.CZ = {
 kdc = dc1.fjfi.cvut.cz:88
 kdc = dc2.fjfi.cvut.cz:88
 kdc = dc3.fjfi.cvut.cz:88
 kdc = dc4.fjfi.cvut.cz:88
 admin_server = dc1.fjfi.cvut.cz:749
 default_domain = fjfi.cvut.cz
}
[domain_realm]
.fjfi.cvut.cz = FJFI.CVUT.CZ
fjfi.cvut.cz = FJFI.CVUT.CZ
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
  debug = false
  ticket_lifetime = 36000
  renew_lifetime = 36000
  forwardable = true
  krb4_convert = false
}


Samba