143 | | Inhoud van mn config: |
144 | | {{{ |
145 | | [Syn-3] root@proxy.psy.datux.nl /home/system/samba# cat smb_ads.conf |
146 | | [global] |
147 | | workgroup = PSY |
148 | | netbios name = proxy |
149 | | realm = PSY.DATUX.NL |
150 | | server string = Linux Samba Server |
151 | | security = ads |
152 | | encrypt passwords = Yes |
153 | | password server = 192.168.13.13 |
154 | | log file = /var/log/samba/%m.log |
155 | | max log size = 0 |
156 | | socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 |
157 | | preferred master = False |
158 | | local master = No |
159 | | domain master = False |
160 | | dns proxy = No |
161 | | wins server = 192.168.13.13 |
162 | | winbind separator = / |
163 | | winbind enum users = yes |
164 | | winbind enum groups = yes |
165 | | winbind use default domain = yes |
166 | | idmap uid = 10000-20000 |
167 | | idmap gid = 10000-20000 |
168 | | }}} |
169 | | |
170 | | Letop dat de netbios naam overeenkomt met de Syn-3 hostnaam! |
171 | | |
172 | | De samba services mogen op dit moment nog down zijn. (werken toch nog niet op dit moment) |
173 | | |
174 | | Pas /etc/resolv.conf aan zodat de dns server van de 2003 bak gebruikt word: |
175 | | {{{ |
176 | | [Syn-3] root@proxy.psy.datux.nl /home/system/samba# cat /etc/resolv.conf |
177 | | nameserver 192.168.13.13 |
178 | | }}} |
179 | | |
180 | | Join het domein |
181 | | |
182 | | {{{ |
183 | | [Syn-3] root@proxy.psy.datux.nl /home/system/samba# net ads join -U administrator |
184 | | administrator's password: |
185 | | Using short domain name -- PSY |
186 | | Joined 'PROXY' to realm 'PSY.DATUX.NL' |
187 | | }}} |
188 | | |
189 | | (Re)start samba en test of alles werkt: |
190 | | {{{ |
191 | | [Syn-3] root@proxy.psy.datux.nl /home/system/samba# svc -du /service/smbd/ /service/nmbd/ /service/winbindd/ |
192 | | |
193 | | [Syn-3] root@proxy.psy.datux.nl /home/system/samba# wbinfo -t |
194 | | checking the trust secret via RPC calls succeeded |
195 | | |
196 | | [Syn-3] root@proxy.psy.datux.nl /home/system/samba# wbinfo -u |
197 | | administrator |
198 | | gast |
199 | | support_388945a0 |
200 | | krbtgt |
201 | | edwin |
202 | | |
203 | | [Syn-3] root@proxy.psy.datux.nl /home/system/samba# wbinfo -g |
204 | | BUILTIN/administrators |
205 | | BUILTIN/users |
206 | | domeincomputers |
207 | | domeincontrollers |
208 | | schema-administrators |
209 | | ondernemingsadministrators |
210 | | domeinadministrators |
211 | | domeingebruikers |
212 | | domeingasten |
213 | | maker eigenaars groepsbeleid |
214 | | dnsupdateproxy |
215 | | }}} |
216 | | |
217 | | '''Als wbinfo -t niet werkt, komt waarschijnlijk de hostname/domain van de server niet overeen met de rest!''' |
218 | | |
219 | | Als je zover bent heb je je samba server succesvol gejoined aan de AD server. double-w00t. |
220 | | |
221 | | |
222 | | = nss config = |
223 | | |
224 | | Nu moet linux ook usernames en groepen kunnen 'resolven' via de AD server. Nu gaan we het systeem dus echt gebruik laten maken van AD: |
225 | | |
226 | | Wijzig nsswitch.conf: |
227 | | {{{ |
228 | | [Syn-3] root@proxy.psy.datux.nl ~# cat /etc/nsswitch.conf |
229 | | ... |
230 | | passwd: files winbind ldap |
231 | | group: files winbind ldap |
232 | | ... |
233 | | }}} |
234 | | |
235 | | Als alles goed gegaan is kun je nu de volgende dingen doen: |
236 | | {{{ |
237 | | [Syn-3] root@proxy.psy.datux.nl ~# id edwin |
238 | | uid=10000(edwin) gid=10004(domeingebruikers) groups=10004(domeingebruikers) |
239 | | |
240 | | [Syn-3] root@proxy.psy.datux.nl ~# id administrator |
241 | | uid=10001(administrator) gid=10004(domeingebruikers) groups=10004(domeingebruikers),10007(schema-administrators),10008(ondernemingsadministrators),10009(domeinadministrators),10011(maker eigenaars groepsbeleid),10002(BUILTIN/administrators) |
242 | | |
243 | | [Syn-3] root@proxy.psy.datux.nl ~# getent passwd |
244 | | ... |
245 | | administrator:*:10001:10004:Administrator:/home/ADTEST/administrator:/bin/false |
246 | | gast:*:10002:10010:Gast:/home/ADTEST/gast:/bin/false |
247 | | support_388945a0:*:10003:10004:SUPPORT_388945a0:/home/ADTEST/support_388945a0:/bin/false |
248 | | krbtgt:*:10004:10004:krbtgt:/home/ADTEST/krbtgt:/bin/false |
249 | | edwin:*:10000:10004:edwin eefting:/home/ADTEST/edwin:/bin/false |
250 | | ... |
251 | | |
252 | | [Syn-3] root@proxy.psy.datux.nl ~# getent group |
253 | | ... |
254 | | domeincomputers:x:10005: |
255 | | domeincontrollers:x:10006: |
256 | | schema-administrators:x:10007:administrator |
257 | | ondernemingsadministrators:x:10008:administrator |
258 | | domeinadministrators:x:10009:administrator |
259 | | domeingebruikers:x:10004: |
260 | | domeingasten:x:10010: |
261 | | maker eigenaars groepsbeleid:x:10011:administrator |
262 | | dnsupdateproxy:x:10012: |
263 | | BUILTIN/administrators:x:10002:administrator |
264 | | BUILTIN/users:x:10003: |
265 | | ... |
266 | | }}} |
267 | | |
268 | | Als je zover bent maakt linux al actief gebruik van AD. |
269 | | |
270 | | Als de windows server nu crashed, zal het resolven van usernames en groups dus niet goed lukken. |
271 | | |
272 | | = Squid configuratie = |
273 | | |
274 | | == Windows instellingen == |
275 | | |
276 | | Nu is het simpel nog een kwestie van squid configureren. |
277 | | |
278 | | Zorg eerst dat squid met zn standaard Syn-3 config reeds goed werkt, en stel in de windows xp client de Proxy in. Test dit alles. |
279 | | |
280 | | We zien dat Windows de proxy nu anoniem gebruikt, zoals normaal is: |
281 | | {{{ |
282 | | [Syn-3] root@proxy.psy.datux.nl ~# tail -f /var/log/squid/access.log |
283 | | 1208791882.340 33 192.168.13.14 TCP_MISS/200 899 GET http://ilse.nl/images/tabjes/bt-internet.gif - DIRECT/62.69.179.217 image/gif |
284 | | 1208791882.352 28 192.168.13.14 TCP_MISS/200 917 GET http://ilse.nl/images/tabjes/bt-achterklap.gif - DIRECT/62.69.179.217 image/gif |
285 | | 1208791882.362 34 192.168.13.14 TCP_MISS/200 886 GET http://ilse.nl/images/tabjes/bt-zakelijk.gif - DIRECT/62.69.179.217 image/gif |
286 | | ... |
287 | | }}} |
288 | | |
289 | | == NTLM authenticatie instellen == |
290 | | |
291 | | Zorg eerst dat je de ntlm_auth van de samba package hebt! Die van squid is de verkeerde. (deze zou er niet meer in moeten zitten vanaf nu) Deze kan je zo testen: |
292 | | {{{ |
293 | | [Syn-3] root@proxy.psy.datux.nl /# ntlm_auth --username=edwin |
294 | | password: |
295 | | NT_STATUS_WRONG_PASSWORD: Wrong Password (0xc000006a) |
296 | | [Syn-3] root@proxy.psy.datux.nl /# ntlm_auth --username=edwin |
297 | | password: |
298 | | NT_STATUS_OK: Success (0x0) |
299 | | }}} |
300 | | |
301 | | Set daarna de permissies van de winbindd socket, zodat squid er bij kan: |
302 | | {{{ |
303 | | [Syn-3] root@proxy.psy.datux.nl ~# chgrp nogroup /var/cache/samba/winbindd_privileged/ |
304 | | }}} |
305 | | |
306 | | |
307 | | '''squid.conf hoeft niet meer aangepast te worden: tegenwoordig kan men in de SCC bij squid->Instellingen voor NTLM authenticatie kiezen. Daarna kan er via advanced filtering een group-filter regel worden gemaakt en zal alles werken.''' |
308 | | |
309 | | Nu is het tijd om /home/system/proxy/squid.conf te wijzigen. |
310 | | |
311 | | Voeg als extra authenticatie ntlm toe. Deze moet VOOR basic komen! |
312 | | {{{ |
313 | | auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp |
314 | | auth_param ntlm children 50 |
315 | | }}} |
316 | | Hierdoor kunnen AD clients zich authentificeren op 'magische' wijs, via het NTLM systeem. Appart inloggen op de proxy via de vervelende popup is dan niet meer nodig. |
317 | | |
318 | | |
319 | | Verander auth_basic van ldap naar ntlm_auth: |
320 | | {{{ |
321 | | auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic |
322 | | auth_param basic children 50 |
323 | | auth_param basic realm Squid proxy-caching web server |
324 | | auth_param basic credentialsttl 5 hour |
325 | | }}} |
326 | | Hierdoor kunnen niet-AD clients zich nog gewoon met de vervelende popup authentificeren. |
327 | | |
328 | | |
329 | | Voeg een nieuwe acl toe aan de reeds bestaande acl lijst: |
330 | | {{{ |
331 | | acl NTLMUsers proxy_auth REQUIRED |
332 | | }}} |
333 | | |
334 | | Activeer de authenticatie daadwerkelijk door een nieuwe regel toe te voegen aan de http_access lijst: |
335 | | {{{ |
336 | | http_access allow NTLMUsers |
337 | | }}} |
338 | | Deactiveren van authenticatie kan nu door hier weer een hekje voor te zetten. |
339 | | |
340 | | Restart squid en test of het werkt: |
341 | | {{{ |
342 | | [Syn-3] root@proxy.psy.datux.nl /home/system/proxy/filterlists# svcstart /service/squid/ |
343 | | Starting /service/squid/ ...DONE |
344 | | |
345 | | [Syn-3] root@proxy.psy.datux.nl /home/system/proxy/filterlists# tail -f /var/log/squid/access.log |
346 | | ... |
347 | | 1208804648.362 1 192.168.13.14 TCP_DENIED/407 1752 GET http://nl.msn.com/ - NONE/- text/html |
348 | | 1208804648.367 1 192.168.13.14 TCP_DENIED/407 1908 GET http://nl.msn.com/ - NONE/- text/html |
349 | | 1208804648.486 0 192.168.13.14 TCP_DENIED/407 1854 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ushp_v11.css - NONE/- text/html |
350 | | 1208804648.487 0 192.168.13.14 TCP_DENIED/407 1842 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ovr2.css - NONE/- text/html |
351 | | 1208804648.497 1 192.168.13.14 TCP_DENIED/407 2010 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ushp_v11.css - NONE/- text/html |
352 | | 1208804648.497 0 192.168.13.14 TCP_DENIED/407 1848 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ie_v11.css - NONE/- text/html |
353 | | 1208804648.500 3 192.168.13.14 TCP_DENIED/407 1998 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ovr2.css - NONE/- text/html |
354 | | 1208804648.503 2 192.168.13.14 TCP_DENIED/407 2004 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ie_v11.css - NONE/- text/html |
355 | | 1208804648.700 202 192.168.13.14 TCP_MISS/304 308 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ushp_v11.css edwin DIRECT/8.12.211.124 - |
356 | | 1208804648.713 209 192.168.13.14 TCP_MISS/304 337 GET http://estc.msn.com/br/hp/v11/nl-nl/css/ie_v11.css edwin DIRECT/8.12.211.124 - |
357 | | }}} |
358 | | |
359 | | Score!! |
360 | | |
361 | | == GROUP filtering == |
362 | | |
363 | | |
364 | | Op dit moment zit er alleen nog maar voor LDAP group filtering in de Advanced proxy filtering module. Omdit nu toch al te kunnen moet u het volgende checken. |
365 | | |
366 | | * is het bestand /usr/bin/wbinfo_group.pl aanwezig? Zo niet, zorg ervoor dat u deze uit een source .tar.gz van squid haalt. In versie 4.3(stable), zit het reeds bij in. |
367 | | * plaats het volgende '''external_acl_type wbinfo_group %LOGIN /usr/bin/wbinfo_group.pl''' in de squid config, bij de andere external_acl_type. |
368 | | |
369 | | U moet nu in staat zijn om met deze ACL te filteren, zie het LDAP voorbeeld in de config file voor voorbeeld. |
370 | | |
371 | | '''Groupen worden gecached door winbind. De winbind cache time staat standaard op 300 seconden, dus het kan even duren voordat nieuwe groupen zichtbaar worden''' |