russianbear
Goto Top

ClearOS 5.2 Freeradius 2 LDAP ntlm auth Active Directory

Da ich ein großer Fan von ClearOS bin, habe ich mir zum Ziel gesetzt den Freeradiusserver mit AD-Authentifizierung unter CleaorOs zum Laufen zu bringen.

Voraussetzungen: AD-Windowsserver(2003 oder 2008), ClearOS 5.2 komplett mit allen Paketen(SAMBA...), Access Point
Beispiel-AD-Windowsserver IP: 10.10.1.1 Domäne: kgb.local FQDN: venus.kgb.local
Beispiel-ClearOs IP(LAN-Schnittstelle): 10.10.1.2
Access Point IP: 10.10.1.3 SSID: radius Radius-port:1812
Radius-Secret: testing123 (nicht ändern, weil mit den Dateien verknüpft ist, die hier nicht erwähnt wurden)

26738c3d9d82e29bbcf7a2223706b985

back-to-top1. ClearOS Update und Freeradius installieren- an der Konsole als Root folgende Befehle ausführen

yum update
yum --enablerepo=base-plus install app-freeradius
service syswatch restart
yum install mc

back-to-top2. ClearOS Linux in die Windows-Domäne bringen(folgende Dateien sollen angepasst sein)

https://10.10.1.2:81

fcbc6a9280951613e3c988dd29619795

mcedit /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = VENUS.KGB.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h

[realms]
VENUS.KGB.LOCAL = {
    kdc = venus.kgb.local:88
    admin_server = venus.kgb.local:749
    default_domain = venus.kgb.local
    }

[domain_realm]
.venus.kgb.local = VENUS.KGB.LOCAL
venus.kgb.local = VENUS.KGB.LOCAL

[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }
touch /etc/pam_smb.conf
mcedit /etc/pam_smb.conf
KGB.LOCAL
VENUS
mcedit /etc/hosts
8.8.8.8  google-public-dns-a.google.com google-public-dns-a
8.8.4.4  google-public-dns-b.google.com google-public-dns-b
10.10.1.1  venus.kgb.local venus
mcedit /etc/nsswitch.conf
#group:     db files nisplus nis
passwd:     files winbind
shadow:     files winbind
group:      files winbind
#hosts:     db files nisplus nis dns
mcedit /etc/resolv.conf
nameserver venus.kgb.local 
nameserver 8.8.8.8
ping venus #der Server muss anpingbar sein
mcedit /etc/samba/smb.conf
[global]
#netbios name = ClearOS
workgroup = kgb
hosts allow = 10.10.1.0/24
#server string = ClearOS Enterprise
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
#winbind gid = 10000-20000
winbind enum groups = yes
winbind use default domain = yes
#preferred master = yes
winbind separator = +
username map = /etc/samba/smbusers
template shell = /bin/false
printing = cups
cups options = raw
#max log size = 50	
os level = 1
password server = venus.kgb.local
realm = KGB.LOCAL
#dns proxy = no
#encrypt passwords = yes
#allow trusted domains = yes
# Logging
#syslog = 0
#log level = 1
log file = /var/log/samba/%L-%m
max log size = 50
#utmp = Yes

#Network
bind interfaces only = yes
interfaces = lo eth2 eth1 
smb ports = 139

#Printing
#printcap name = /etc/printcap
#load printers = Yes

#Security settings---geandert security user
security = ads
map to guest = Bad User
#guest account = guest
#restrict anonymous = 2

#WINS
wins support = No
wins server = 

#PDC
#domain logons = Yes
#add machine script = /usr/sbin/samba-add-machine "%u" 
#logon drive = U:
#logon script = logon.cmd
#logon path = 
#logon home = \\%L\%U

#Other
#preferred master = Yes
#domain master = Yes
#unix password sync = Yes
#passwd program = /usr/sbin/userpasswd %u
#passwd chat = *password:* %n\n *password:* %n\n *successfully.*
#username map = /etc/samba/smbusers
#wide links = No

#LDAP
#include = /etc/samba/smb.ldap.conf

#Winbind
#include = /etc/samba/smb.winbind.conf

#============================ Share Definitions ==============================

#include = /etc/samba/flexshare.conf

[homes]
	comment = Home Directories
	path = /home/%U
	valid users = %D\%S
	read only = No
	browseable = No
	available = No

[printers]
	comment = Print Spool
	path = /var/spool/samba
	printing = cups
	cups options = raw
	use client driver = Yes
	printable = Yes
	read only = No
	browseable = No
	available = No

[print$]
	comment = Printer Drivers
	path = /var/samba/drivers
	read only = No
	browseable = No
	available = No

[netlogon]
	comment = Network Logon Service
	path = /var/samba/netlogon
	read only = No
	locking = No
	browseable = No
	available = Yes

[profiles]
	comment = Profile Share
	path = /var/samba/profiles
	read only = No
	profile acls = Yes
	browseable = No
	available = No
	force group = domain_users
	force directory mode = 02775
	force directory security mode = 02775
an der Konsole folgende Befehle ausführen
service smb restart
service winbind restart
net ads join -S venus -U Administrator
password: (Pass des Admins)
wbinfo -u #wenn alles ok ist, wird die Liste der AD-Benutzer aufgelistet

back-to-top3. Freeradius konfiguration

mcedit /etc/raddb/radiusd.conf
listen {
	...........
        ...........
	type = auth
        ipaddr = 10.10.1.2
        port = 1812
        interface = eth2 #(hier die Schnittstelle der aktiven LAN-Verbindung)
        ..........
        ..........
}
touch /etc/raddb/modules/ntlm_auth
mcedit /etc/raddb/modules/ntlm_auth
exec ntlm_auth {
    wait = yes
    #Wichtig!!! diese Zeile ohne Umbruch!!!
    program = "/usr/bin/ntlm_auth --request-nt-key --domain=KGB --username=%{mschap:User-Name} --password=%{User-Password}"  
    input_pairs = "request"  
    shell_escape = yes
}
mcedit /etc/raddb/modules/mschap
mschap {
        ......
        ......
        use_mppe = yes
        require_encryption = no
        require_strong = no
        with_ntdomain_hack = yes
        #Wichtig!!! diese Zeile ohne Umbruch!!!
	ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --username=%{mschap:User-Name:-None} --domain=%{%{mschap:NT-Domain}:-KGB} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}"  
}
unter /etc/raddb/sites-enabled alle 3 Dateien (Default,inner-tunnel,clearos-inner-tunnel) gleichermaßen anpassen.
authorize {
	.........
        .........
        #ldap auskommentieren
        ldap
        .........
        ........
}
authenticate {
        .........
        .........
        #ntlm_auth hinzufuegen
	eap
	ntlm_auth 
	.........
        .........
}
mcedit /etc/raddb/modules/ldap
ldap {
	server = "10.10.1.1"  
	identity = "cn=Administrator,cn=users,dc=kgb,dc=local"  
	password = (Passwort des Admins)
	basedn = "cn=users,dc=kgb,dc=local"  
	filter = "(&(sAMAccountName=%{Stripped-User-Name:-%{User-Name}}))"  
	ldap_connections_number = 5
	timeout = 20
	timelimit = 10 
	net_timeout = 5
	tls {
		start_tls = no
	}
	dictionary_mapping = ${confdir}/ldap.attrmap
	edir_account_policy_check = no
	groupname_attribute = cn
        #Wichtig!!! diese Zeile ohne Umbruch!!!
	groupmembership_filter = "(|(&(objectClass=group)(member=%Ldap-UserDn}))(&(objectClass=top)(uniquemember=%{Ldap-UserDn})))"  
	groupmembership_attribute = memberOf
}
service radiusd restart

back-to-top4. Rechte setzen

/var/lib/samba setfacl -m u:radiusd:rx winbindd_privileged
mit dem folgenden Befehl kann man die Verbindung zu AD testen (radius ist ein Testuser im AD)
ntlm_auth --domain=kgb.local --request-nt-key --username=radius

back-to-top5. Die Dateien /etc/raddb/clearos-users /etc/raddb/users gleichermaßen anpassen

mcedit /etc/raddb/clearos-users
#DEFAULT LDAP-Group != "users", Auth-Type := Reject (einkommentieren) 
DEFAULT	Auth-Type = ntlm_auth

back-to-top6. Access Point eintragen

hier sind alle Access Points einzutragen.
in der Rubrik group alluser darf man nicht auf den Button "ausführen" klicken, sonst wird die Zeile DEFAULT LDAP-Group != "users", Auth-Type := Reject wieder auskommentiert.
21f78f7bbf2619934dad795c99188c1b

back-to-top7. radiusd -X (testen des Servers - Debugging mode)


back-to-top8. Windows 7 Client einrichten.


2c8078775278e28ead4cb9eeab127758
3ea0876b75250e52ad47a4b9bbfb74a1
33e70f07f234f3ac624fa8322525403c
6754b6469024daf0bc236b8de0010e4c
b5b1b1238162a82dd0b6bfbc7abd290f
c11ad47b844a7fab9d836a97557088de
0fce6a2744467941ad9a97fb8db9059c
7fec56bbf32eb78705c308b03f032b2d
1105b1049cdb9b4e1c26a81f78e095fe
72d82f5c072e4339840f7312992bfb10

Es erscheint das Fenster zur Eingabe des Benutzernamens und des Passworts.

back-to-top9. Sonderfall Iphone & CO und Freeradius


Für die Nutzung von Iphone ist ein Profil erforderlich, das verschiedene
Einstellungen in einem Block zusammenfasst.
das Profil kann anhand des Programms "Iphone Konfigurationprogramm" erstellt werden.
dieses Programm ist kostenfrei unter der Adresse https://www.apple.com/de/support/iphone/enterprise/ herunterzuladen.
für das Wlan-Profil sollen zwei Rubriken(Allgemein und WLAN) angepasst werden.
718997d8acf0ec78a0d93dfbc8120716
anschließend soll das Profil mit dem Safari-Browser auf dem Iphone installiert werden.

Content-ID: 196140

Url: https://administrator.de/contentid/196140

Ausgedruckt am: 19.11.2024 um 00:11 Uhr

wiesi200
wiesi200 23.12.2012 um 16:04:49 Uhr
Goto Top
Hallo,

grundsätzlich mal eine lobende Idee.
Jetzt kommt leider das große "ABER".
Bitte mach eine Saubere Formatierung, verwende Code Tags und schreib etwas mehr Anleitung warum du was machst.
Von so Sachen wie Inhaltsverzeichnis will ich noch gar nicht reden.

Paradebeispiele gibt's u.a. von Aqui
Routing von 2 und mehr IP Netzen mit Windows, Linux und Router
108012
108012 23.12.2012 um 19:46:04 Uhr
Goto Top
Hallo russianbear,

das selbe wie wiesi200, das kannst Du doch wirklich besser, wenn ich mir das so anschaue.
Aber um Längen. Trotzdem danke für die Anleitung, das ist bestimmt mal was, was man sich ab und an anschauen wird.
Kann man damit nicht rein theoretisch die WLAN Klienten mit Radius absichern und die Kabel gebundenen Klienten
via LDAP oder habe ich da was falsch in den Hals bekommen.

Gruß
Dobby
russianbear
russianbear 23.12.2012 um 22:50:57 Uhr
Goto Top
Hi Dobby!,

das kann für den Open-VPN oder Squid(Proxy Server) sinnvoll sein.

Gruß und Frohes Fest!!
russianbear