| 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''' |