Hvordan sette ACLer på objekter
ITKACL har flere forskjellige grensesnitt; antageligvis vil det komme til flere, men de som er her er de som foreløpig er implementert. Merk at hvis du ønsker å bruke ACLer fra programkode, er noden ITKACLProgrammering mer relevant; denne gjelder også dersom du ønsker å sjekke litt mer differensierte tilganger (se f.eks. ITKACLIntro under "meta-tilganger") fra f.eks. PHP-scripts. De forskjellige modulene er definert under:
Opprette Kerberos-keytab
- ssh til voff som root
samba-tool spn add HTTP/<subdomain>.samfundet.no cirkus$ $-tegnet betyr at det er snakk om en maskinkonto
- kontroller at keytaben ble lagt til
samba-tool spn list cirkus$
- Lag og kopier en .keytab fil til Cirkus
samba-tool domain exportkeytab <subdomain>.keytab --principal=HTTP/<subdomain>.samfundet.no samba-tool domain exportkeytab <subdomain>.keytab --principal=HTTP/cirkus.samfundet.no scp <subdomain>.keytab root@cirkus:/etc/apache2/krb5/<subdomain>.keytab
- SSH deg over til Cirkus
- Endre eierskap av filen for å gjøre den leselig av Apache
chown <bruker>:<gruppe> /etc/apache2/krb5/<subodmain>.keytab
Se guiden til hvordan man skal utvikle din spesifikke insans for hvilken bruker og gruppe som skal ha tilgang til denne filen. Hvis du setter opp en uka instans skal det være uka-httpd:uka-web, og tilsvarende for ufs. ufs-httpd:ufs-web
Apache (mod_auth_gssapi + mod_authz_itkacl)
Dette er antageligvis den modulen det blir mest aktuelt for folk å sette opp. For å sette en ACL på et webområde, lager du en .htaccess-fil i den aktuelle katalogen som inneholder noe slikt som:
<Location /> AuthType GSSAPI AuthName "<beskrivelse av instansen>" GssapiCredStore keytab:/etc/apache2/krb5/<subdomain>.keytab GssapiCredStore cache:MEMORY:user_ccache GssapiBasicAuth on GssapiAllowedMech krb5 GssapiBasicAuthMech krb5 GssapiNegotiateOnce On # Send brukere i Windows rett til basic auth, unntatt Firefox BrowserMatch Windows(?!.*Firefox) gssapi-no-negotiate Require itkacl <acl-sti> </Location>
- "<Location />" spesifiserer hvilken bane autentiseringen og autoriseringen gjelder for. I dette tilfellet er banen satt til '/'. Dette betyr at den er gyldig for alle baner. Dersom man f.eks. ønsker egnen autorisering for en /admin side, kan man i tillegg til det over skrive:
<Location /admin> Require itkacl <acl-sti for de som skal ha tilgang til banen> </Location>
- "AuthType GSSAPI" spesifiserer at området skal bruke GSSAPI-autentisering (dvs. mod_auth_gssapi).
- "GssapiCredStore keytab:/etc/apache2/krb5/amsit.keytab" spesifiserer filen til vhostens Kerberos-keytab, som finnes på cirkus. Denne er nødvendig for at cirkus skal kunne verifisere KDCen.
- "AuthName" er et navn som kommer opp idet brukeren blir spurt om brukernavn og passord. Utover dette har det ingen betydning, men du kan jo skrive noe vettugt her uansett.
- "Require itkacl <acl-sti>" spesifiserer at ITKACL-autentisering (mod_authz_itkacl) skal brukes, og hvilket ACL-område man skal autentisere mot. Her må man selvsagt bytte ut området med den man er interessert i å autentisere mot.
For de fleste brukere vil denne autentiseringen foregå som en hvilken som helst vanlig Basic-autentisering (mao.: du burde helst sørge for at systemene fungerer over SSL slik at passord ikke sendes over i klartekst!). Derfor bør/må du sette opp SSL. For browsere som skjønner Kerberos (dvs. IE6 når man er logget på Active Directory, Mozilla 1.7 og nyere, eller Firefox) vil man imidlertid få full, sikker zero-knowledge-autentisering med single-signon (mao.: logger du inn på en av ITKs arbeidsstasjoner, får du automatisk autentisering mot websystemet også). Veldig fancy. :-)
Hvis du har lyst til å bruke SSSO, kan du følge instruksene på hverdagskonfignoden.
PAM (pam_itkacl)
PAM brukes til mye rart, men det mest aktuelle for vår del er nok å begrense tilgangen til å logge inn på bokser (så ikke f.eks. hvem som helst har tilgang til å logge inn på cirkus). Det er skrevet en begynnende PAM-modul; sleng følgende i f.eks. /etc/pam.d/common-account eller /etc/pam.d/ssh, alt ettersom:
account required pam_itkacl.so realm='/login/itk-workstations'
realm= er selvsagt påkrevd, og er ACL-stien du vil autentisere mot.
Lenker: Start, innsida, hvordan utvikle, itkacl, itkaclintro, itkaclprogrammering, request tracker v2, tekniske løsninger, utleggsys
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2025-04-27 21:27 | Revisjon: 34 (historie, blame) | Totalt: 1933 kB | Rediger