Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Squid mit NTLM AUTH und eine W2k3 Domäne

Frage Sicherheit Firewall

Mitglied: keksdieb

keksdieb (Level 1) - Jetzt verbinden

17.07.2009, aktualisiert 16:02 Uhr, 6109 Aufrufe, 3 Kommentare

Squid Proxy 2.6STABLE5 auf einem Debian Etch Server (R8)
Der Proxy läuft soweit und der Samba + Winbind kann mit dem Active Directory reden...

Moin moin in die Runde...

Ich habe eine IPCop Installation, die zur Zeit unseren Proxyserver im Netzwerk spielt...
Der soll jetzt abgelöst werden und durch einen stinknormalen Proxy ersetzt werden. (bei IPCop war esirgendwie nicht möglich eine Authentifizierung gegen die Windows Domäne zu machen)

Nun habe ich mich fleissig ans Installieren gemacht:

Debian-Etch4.0R8-i386
Squid 2.6.Stable5
Winbind
Samba3

Das ganze liegt auf einem ESX3.5 als virtuelle Maschine.

Soweit so gut, Samaba habe ich wie folgt einfach eingerichtet:
smb.conf
01.
[global] 
02.
workgroup =  DOMAINNAME 
03.
netbios name = PROXY 
04.
realm = fqdn 
05.
password server = PDC 
06.
client use spnego = yes 
07.
security = ADS 
08.
encrypt passwords = yes 
09.
winbind refresh tickets = yes 
10.
idmap uid = 10000-20000 
11.
idmap gid = 10000-20000 
12.
winbind separator = / 
13.
winbind enum users = yes 
14.
winbind enum groups = yes 
15.
winbind cache time = 10 
16.
winbind use default domain = yes
krb5.conf
01.
[libdefaults] 
02.
	default_realm = DOMAIN.LOCAL 
03.
	clockskew = 300 
04.
 
05.
# The following krb5.conf variables are only for MIT Kerberos. 
06.
	krb4_config = /etc/krb.conf 
07.
	krb4_realms = /etc/krb.realms 
08.
	kdc_timesync = 1 
09.
	ccache_type = 4 
10.
	forwardable = true 
11.
	proxiable = true 
12.
 
13.
# The following encryption type specification will be used by MIT Kerberos 
14.
# if uncommented.  In general, the defaults in the MIT Kerberos code are 
15.
# correct and overriding these specifications only serves to disable new 
16.
# encryption types as they are added, creating interoperability problems. 
17.
 
18.
#	default_tgs_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5 
19.
#	default_tkt_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5 
20.
#	permitted_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5 
21.
 
22.
# The following libdefaults parameters are only for Heimdal Kerberos. 
23.
	v4_instance_resolve = false 
24.
	v4_name_convert = { 
25.
		host = { 
26.
			rcmd = host 
27.
			ftp = ftp 
28.
29.
		plain = { 
30.
			something = something-else 
31.
32.
33.
	fcc-mit-ticketflags = true 
34.
 
35.
[realms] 
36.
	TANK.LOCAL= { 
37.
		kdc = PDC:88 
38.
		admin_server = PDC 
39.
40.
 
41.
[domain_realm] 
42.
  .domain.local=  DOMAIN.LOCAL 
43.
 
44.
[appdefaults] 
45.
	pam = { 
46.
		ticket_lifetime = 1d 
47.
		renew_lifetime = 1d 
48.
		forwardable = true 
49.
		proxiable = false 
50.
		retain_after_close = false 
51.
		minimum_uid = 1 
52.
53.
	 
54.
[login] 
55.
	krb4_convert = true 
56.
	krb4_get_tickets = false 
57.
 
58.
[logging] 
59.
	default = SYSLOG:NOTICE:DAEMON 
60.
	default = FILE:/var/log/krb5libs.log 
61.
	kdc = FILE:/var/log/kdc.log 
62.
	kadmind = FILE:/var/log/kadmind.log
Mit kinit username@DOMAIN.LOCAL bekomme ich ein gültiges Kerberos Ticket.
das Ticket wird mir auch mit klist angezeigt.
Der Proxy wurde auch der Domäne hinzugefügt (net join ads usw.).

Mit wbinfo -g sehe ich alle Gruppen der Domäne und mit wbinfo -u alle User.

wbinfo -t gibt folgendes aus:
01.
Linux:~# wbinfo -t 
02.
checking the trust secret via RPC calls succeeded
Jetzt zum Squid:

squid.conf
01.
### Port 
02.
http_port 3128 
03.
 
04.
### Stoplist 
05.
hierarchy_stoplist cgi-bin ? 
06.
 
07.
### Cache 
08.
acl QUERY urlpath_regex cgi-bin \? 
09.
cache deny QUERY 
10.
acl apache rep_header Server ^Apache 
11.
broken_vary_encoding allow apache 
12.
cache_dir ufs /var/squid-cache 2024 16 256 
13.
# Bei 1 GB flüchtigem Speicher 
14.
cache_mem 512 MB 
15.
cache_replacement_policy heap GDSF 
16.
memory_replacement_policy heap GDSF 
17.
 
18.
### Logfiles 
19.
access_log /var/log/squid/access.log 
20.
cache_log /var/log/squid/cache.log 
21.
cache_store_log /var/log/squid/store.log 
22.
emulate_httpd_log on 
23.
log_fqdn on 
24.
 
25.
### Hostfile 
26.
hosts_file /etc/hosts 
27.
 
28.
###FTP 
29.
refresh_pattern ^ftp: 1440 20% 10080 
30.
refresh_pattern ^gopher: 1440 0% 1440 
31.
refresh_pattern . 0 20% 4320 
32.
 
33.
### Access 
34.
acl all src 0.0.0.0/0.0.0.0 
35.
acl manager proto cache_object 
36.
acl localhost src 127.0.0.1/255.255.255.255 
37.
acl to_localhost dst 127.0.0.0/8 
38.
acl SSL_ports port 443 # https 
39.
acl SSL_ports port 563 # snews 
40.
acl SSL_ports port 873 # rsync 
41.
acl Safe_ports port 80 # http 
42.
acl Safe_ports port 21 # ftp 
43.
acl Safe_ports port 443 # https 
44.
acl Safe_ports port 70 # gopher 
45.
acl Safe_ports port 210 # wais 
46.
acl Safe_ports port 1025-65535 # unregistered ports 
47.
acl Safe_ports port 280 # http-mgmt 
48.
acl Safe_ports port 488 # gss-http 
49.
acl Safe_ports port 591 # filemaker 
50.
acl Safe_ports port 777 # multiling http 
51.
acl Safe_ports port 631 # cups 
52.
acl Safe_ports port 873 # rsync 
53.
acl Safe_ports port 901 # SWAT 
54.
acl purge method PURGE 
55.
acl CONNECT method CONNECT 
56.
 
57.
############################################## 
58.
# Zugriffe für GOInternet (Gruppe, die surfen darf) 
59.
############################################## 
60.
 
61.
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="Domäne\\GOinternet" 
62.
auth_param ntlm children 10 #auth_param ntlm max_challenge_reuses 0  
63.
#auth_param ntlm max_challenge_lifetime 2 minutes  
64.
#auth_param ntlm use_ntlm_negotiate off auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic  
65.
auth_param basic children 5  
66.
auth_param basic realm Domain Proxy Server  
67.
auth_param basic credentialsttl 2 hours  
68.
auth_param basic casesensitive off  
69.
authenticate_cache_garbage_interval 10 seconds  
70.
 
71.
# Credentials past their TTL are removed from memory  
72.
authenticate_ttl 0 seconds  
73.
 
74.
#### Regeln für den Zugriff für alle Benutzer 
75.
acl AlleBenutzerIntra dstdomain .spitalbuelach.ch 
76.
acl AlleBenutzerGoogle dstdomain .google-analytics.com 
77.
acl AlleBenutzerKomp dstdomain .kompendium.ch 
78.
acl AlleBenutzerPsych dstdomain wdeg.itrust.de 
79.
acl AlleBenutzerSBB dstdomain .sbb.ch 
80.
 
81.
#### Anwendung der Regel für alle Benutzer 
82.
http_access allow AlleBenutzerIntra 
83.
http_access allow AlleBenutzerGoogle 
84.
http_access allow AlleBenutzerKomp 
85.
http_access allow AlleBenutzerPsych 
86.
http_access allow AlleBenutzerSBB 
87.
 
88.
acl lcl src ip.ad.re.ss/lan 
89.
acl auth proxy_auth REQUIRED  
90.
http_access allow lcl auth  
91.
http_access deny all  
92.
miss_access allow all  
93.
icp_access deny all  
94.
 
95.
############################################## 
96.
# Ende Zugriffe für GOInternet 
97.
############################################## 
98.
 
99.
http_access allow manager localhost 
100.
http_access deny manager 
101.
# Only allow purge requests from localhost 
102.
http_access allow purge localhost 
103.
http_access deny purge 
104.
# Deny requests to unknown ports 
105.
http_access deny !Safe_ports 
106.
# Deny CONNECT to other than SSL ports 
107.
http_access deny CONNECT !SSL_ports 
108.
http_access deny all
´
Wenn jetzt der Benutzer auf dem terminalserver den Proxy einträgt (später bekommt er den Proxy eingetragen ) und er eine Seite aufruft, dann kommt im access.log vom squid folgende Meldung
01.
ts-server003.domain.local - - [17/Jul/2009:15:48:05 +0200] "GET http://www.administrator.de/ HTTP/1.1" 407 1754 TCP_DENIED:NONE
Im cache.log vom Squid kommt zur gleichen Zeit:
01.
[2009/07/17 15:48:09, 0] utils/ntlm_auth.c:get_require_membership_sid(230) 
02.
  Could not parse TANK+allaccess into seperate domain/name parts!
Nun habe ich mich schon durchs www gegooglet und verschiedene Meinungen zu den Separatoren gefunden, die einen sagen, dass es ein + zeichen sein soll ( und zwar in der Squid.conf bei der Stelle
01.
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="Domäne+Gruppe"</code 
02.
 
03.
die anderen sagen, dass dieser weg richtig ist: 
04.
<code> 
05.
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="Domäne\\Gruppe"
Allerdings wird doch meines Erachtens der Separator in der smb.conf festgelegt und winbind übernimmt das trennen, oder????

Abschliessende Frage:
Kann jemand über die Konfiguration gucken und mir einen Tipp geben, wo ich Fehlersuche betreiben kann?
Ich bin zu dem Thema langsam echt ratlos...

Gruß aus dem Norden

Keksdieb
Mitglied: Warze69
17.07.2009 um 21:38 Uhr
Das kannst Du mit dem IP-Cop ganz einfach realisieren. Dazu ist das Addon "Advanced Proxy" notwendig.

http://www.advproxy.net/download.html

Die Integration in eine Windows-Domäne, ist auf dieser Seite ebenfalls gut beschrieben.
Bitte warten ..
Mitglied: keksdieb
20.07.2009 um 09:25 Uhr
Moin warze...

Das ist richtig und wurde auch schon versucht, allerdings muss der Benutzer bei jedem Fensteröffnen sein Username und Passort benutzen, ich möchte das lieber gerne mit Single SignOn machen.

Der Internetuser soll anhand seiner Windowsanmeldung das recht zur Internetnutzung bekommen.
Ausserdem habe ich das Ding jetzt händisch zusammen geklöppelt nun will mein Ehrgeiz auch das es funktioniert

Ausserdem bekommt man so einen relativ guten Einblick über die verwendeten Authentifizierungsformen.
Bei IPcop ist es dann ja nur rumgeklicke im Webinterface. (Dafür ist IPcop aber auch da, einfach zu bedienen)

Gruß Keksdieb
Bitte warten ..
Mitglied: keksdieb
20.07.2009 um 09:55 Uhr
GELÖST:

Der letzte Kniff lag am NetBT...
Fündig bin ich hier geworden : squid ldap auth an WIndows 2003 Domain

Hier noch ein herzliches Dankeschön an -STAR- , der in dem oben verlinkten Thread eine wirklich ausführliche und gut verständliche Anleitung gegeben hat.
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Windows Netzwerk
NTLM in Domäne deaktivieren

Frage von StefanK007 zum Thema Windows Netzwerk ...

Exchange Server
Exchange 2010 Akzeptierte Domäne löschen (4)

Frage von Rob1982 zum Thema Exchange Server ...

Windows Netzwerk
USB-Gerät ins Netzwerk (Domäne) einbinden (4)

Frage von griss0r zum Thema Windows Netzwerk ...

Windows Server
AD Replikation zwischen untergeordneten Domäne zwingend? (4)

Frage von Gien-app zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...