| *** menesis has quit IRC | 02:51 | |
| *** menesis has joined #schooltool | 11:48 | |
| *** th1a has joined #schooltool | 12:44 | |
| *** menesis has quit IRC | 12:53 | |
| *** menesis has joined #schooltool | 12:54 | |
| *** menesis has quit IRC | 14:35 | |
| *** th1a has quit IRC | 14:45 | |
| *** rmccorkell has joined #schooltool | 15:18 | |
| *** psharrad has joined #schooltool | 15:24 | |
| *** rmccorkell is now known as Xeno | 15:26 | |
| *** Xeno is now known as Xenopathic | 15:26 | |
| psharrad | Hello everyone | 15:26 |
|---|---|---|
| *** Xenopathic is now known as Xeno | 15:27 | |
| *** Xeno is now known as rmccorkell | 15:27 | |
| *** menesis has joined #schooltool | 15:27 | |
| rmccorkell | how does python work with Kerberos? | 15:30 |
| *** replaceafill has joined #schooltool | 15:31 | |
| replaceafill | good afternoon | 15:31 |
| rmccorkell | hello | 15:31 |
| psharrad | hello | 15:31 |
| replaceafill | oh Tom is not here yet :) | 15:31 |
| psharrad | its been very quiet so far! | 15:31 |
| rmccorkell | is Justas coming today? | 15:41 |
| replaceafill | i don't think so | 15:41 |
| replaceafill | these days it's usually just Tom and me | 15:42 |
| replaceafill | and sometimes Gediminas (who's in charge of packages) | 15:42 |
| psharrad | hopefully he'll turn up in a minute | 15:42 |
| rmccorkell | I see some python and zope devs here, are they here for the Kerberos? | 15:42 |
| replaceafill | well, i am :) | 15:43 |
| rmccorkell | so, to introduce ourselves: | 15:43 |
| replaceafill | menesis (Gediminas) is probably at work | 15:43 |
| rmccorkell | I'm the Karoshi Client maintainer | 15:44 |
| rmccorkell | however I work closely with psharrad on the server-client integration | 15:44 |
| psharrad | I'm Paul from the Linux Schools Project - I'm the server maintainer | 15:44 |
| psharrad | I'm also the Linux Schools project leader | 15:45 |
| rmccorkell | should we start in 5 minutes? | 15:46 |
| replaceafill | I'm Douglas, and i'm a SchoolTool developer | 15:46 |
| psharrad | We met Tom when he did a demo talk about school tool in London. | 15:46 |
| replaceafill | i'm not really familiar with Kerberos | 15:48 |
| menesis | hello, I'm Gediminas, responsible for releasing SchoolTool and packaging it for Ubuntu | 15:48 |
| rmccorkell | it's an authentication method that uses 'tickets' containing encrypted data instead of passwords, hashes or anything else | 15:50 |
| psharrad | we've had some experience with kerberos but are not experts - we've got kerberos working with quite a lot of systems such as moodle, postfix etc | 15:51 |
| replaceafill | the goal would be to create a SchoolTool server module, correct? | 15:52 |
| rmccorkell | the first step is getting it integrated with the technologies we use | 15:53 |
| psharrad | We wondered if schooltool could use a similar kerberos method of authentication to moodle. | 15:53 |
| psharrad | Sorry to back track - we could do schooltool as a server module it means they would get a completed schooltool setup at a click of a button that has ldap and kerberos automatically configured for authentication to the school's primary domain controller. | 15:55 |
| rmccorkell | shall we begin? | 15:57 |
| replaceafill | sure | 15:57 |
| rmccorkell | right, so the way Moodle does it seems to be pretty reliable from our testing | 15:57 |
| *** mibofra has joined #schooltool | 15:57 | |
| rmccorkell | it has an LDAP plugin that connects to a server for user and group information, but also has the option of delegating authentication to Apache | 15:58 |
| *** mibofra has quit IRC | 15:59 | |
| *** mibofra has joined #schooltool | 15:59 | |
| rmccorkell | it is labelled as 'NTLM', but has an option for Kerberos | 15:59 |
| rmccorkell | when a client attempts to get the login page, they are redirected to '/auth/ldap/ntlmsso_attempt.php' | 16:00 |
| *** AndChat|601929 has joined #schooltool | 16:00 | |
| rmccorkell | it has a bit of a fudge that attempts to load '/auth/ldap/ntlmsso_magic.php' as an image | 16:01 |
| rmccorkell | that file needs to be configured in Apache to perform authentication | 16:02 |
| rmccorkell | (using a standard <Files> declaration) | 16:02 |
| psharrad | Here is our apache part: | 16:02 |
| psharrad | #moodle-kerberos-support | 16:04 |
| psharrad | <Directory /var/www/html/moodle/auth/ldap/> | 16:04 |
| psharrad | <Files ntlmsso_magic.php> | 16:04 |
| psharrad | AuthName "Moodle" | 16:04 |
| psharrad | AuthType Kerberos | 16:04 |
| psharrad | Krb5Keytab /etc/keytabs/moodle.keytab | 16:04 |
| psharrad | KrbMethodNegotiate on | 16:04 |
| psharrad | KrbMethodK5Passwd off | 16:04 |
| psharrad | KrbAuthoritative on | 16:04 |
| psharrad | KrbServiceName HTTP/sherlock.baker.street.com | 16:04 |
| psharrad | require valid-user | 16:04 |
| psharrad | </Files> | 16:04 |
| psharrad | </Directory> | 16:04 |
| rmccorkell | so Apache performs the authentication and allows the 'image' to load, which is just an empty filler so the web browser doesn't get confused | 16:05 |
| rmccorkell | at this point the REMOTE_USER variable is set, and Moodle just redirects and can authorize the user | 16:05 |
| rmccorkell | a similar thing could be done for SchoolTool, integrating with the LDAP plugin | 16:06 |
| replaceafill | i see | 16:06 |
| replaceafill | if i download the server version of Karoshi, could i test this in a virtual machine? | 16:07 |
| replaceafill | the moodle-ldap-apache auth | 16:07 |
| psharrad | yes we have moodle built in as a server module. | 16:07 |
| rmccorkell | for proper testing you will need a Kerberos client - the easiest way is probably to use Karoshi Client | 16:08 |
| replaceafill | ah, ok | 16:08 |
| psharrad | Once you have applied the module on the server moodle gets put in /var/www/html/moodle | 16:08 |
| replaceafill | if i may ask, what does the karoshi client do? | 16:09 |
| replaceafill | set up a GUI for users? | 16:09 |
| replaceafill | i mean, a desktop environment? | 16:10 |
| rmccorkell | the client is the counterpart to the server, configuring it to use whatever modules have been installed, along with transparently doing menial stuff like authentication | 16:10 |
| psharrad | the client acts the same way as a windows client computer joined to the domain in your network | 16:11 |
| rmccorkell | the client does have a customized GUI for school use, however it is just a standard XFCE desktop | 16:12 |
| replaceafill | oh, "The client uses the XFCE desktop environment" | 16:13 |
| replaceafill | i'll install both parts using virtualbox | 16:14 |
| replaceafill | that should work, right? | 16:14 |
| psharrad | Yes that will work - we do all of our testing in virtualbox | 16:15 |
| rmccorkell | of course, you just need to change the network adapter from NAT to bridged or internal | 16:15 |
| replaceafill | what happens after the 'image' is loaded and the REMOTE_USER is set | 16:15 |
| rmccorkell | Moodle has a 3 second redirect on the 'ntmlsso_attempt.php' page | 16:16 |
| rmccorkell | it redirects to 'ntlmsso_finish.php', which either tells the user that auto login failed (redirecting to the normal login page) or to the main Moodle page | 16:17 |
| replaceafill | and moodle gets all the user info from the ldap server? | 16:19 |
| rmccorkell | yes | 16:19 |
| replaceafill | i need to get familiar with our ldap plugin :D | 16:19 |
| menesis | Do I understand correctly: the server runs Samba 4 as an Active Directory alternative. It provides LDAP server for user/group storage and Kerberos for authentication. User logs in to a Domain at the display manager (LightDM) and no further authentication through the browser is needed. | 16:20 |
| rmccorkell | correct | 16:20 |
| psharrad | yes that is correct | 16:20 |
| rmccorkell | well, authentication is still done in the browser, but it is all handled by the single sign on capabilities of Kerberos | 16:20 |
| menesis | None of OpenLDAP, MIT Kerberos or Heimdal is used? | 16:21 |
| psharrad | All the ldap and kerberos is through samba4. | 16:21 |
| rmccorkell | MIT Kerberos is used on the client | 16:21 |
| rmccorkell | I think Samba4 uses MIT Kerberos internally anyway | 16:22 |
| menesis | well ok some libraries are the same | 16:22 |
| menesis | I was interested what's on the server | 16:22 |
| menesis | thanks | 16:22 |
| menesis | Our ldap plugin is simple, and was tested only with openldap. It should autoconfigure itself on Zentyal. | 16:24 |
| psharrad | We can test the schooltool ldap plugin with samba4. | 16:24 |
| rmccorkell | although Samba4 uses an internal LDAP server it is heavily based off OpenLDAP, so compatibility should be high | 16:24 |
| *** rmccorkell is now known as Xenopathic | 16:25 | |
| Xenopathic | sorry, just changing my nick | 16:26 |
| menesis | That's good. But /etc/ldap.conf (as created by ldap-auth-config) file is probably somewhere else | 16:27 |
| Xenopathic | samba4 completely ignores ldap.conf | 16:28 |
| Xenopathic | when we were testing SchoolTool the first time, we configured the LDAP plugin in the web interface | 16:28 |
| menesis | Did it work? | 16:29 |
| psharrad | Unfortunately we had a massive flood in the server room just at this point! | 16:29 |
| psharrad | £40000 worth of damage | 16:30 |
| menesis | =-O | 16:30 |
| psharrad | We had to put the schooltool work on the back burner until we had everything sorted out | 16:30 |
| psharrad | It wont take us long to set it up again and test ldap. | 16:30 |
| psharrad | We'll test it again tomorrow and let you know the results. | 16:32 |
| menesis | I should install a Karoshi server in a virtual machine, too, to see what you have and be able to test it | 16:34 |
| menesis | also a Zentyal server because people also have problems with it | 16:34 |
| menesis | None of us have experience with LDAP unfortunately, and the plugin was written by Justas who is no longer working on SchoolTool. | 16:35 |
| menesis | but it is simple and does not do much | 16:36 |
| Xenopathic | how easy is python to learn to a standard for this project? | 16:37 |
| psharrad | is the plugin written in python? | 16:37 |
| menesis | so, Kerberos and LDAP go together, and we need to add ability to authenticate though a browser ticket to the existing plugin | 16:37 |
| Xenopathic | sounds about right | 16:38 |
| menesis | yes, all of schooltool is written in python | 16:38 |
| menesis | I've seen an example, and the kerberos part on the client is only a few lines of code | 16:41 |
| menesis | The setup is done on Apache side | 16:42 |
| menesis | there is a VirtualHost (or Directory) for schooltool | 16:42 |
| psharrad | We can add the kerberos info into that virtualhost | 16:43 |
| menesis | with some Krb5 directives | 16:43 |
| menesis | and then when browser tries to access schooltool | 16:44 |
| menesis | it sends a 401 response with a WWW-Authenticate: Negotiate header | 16:44 |
| Xenopathic | you may want to do it like Moodle does it, and only require Apache authentication on a particular page | 16:46 |
| Xenopathic | so that you can still fall back to a standard login page should Kerberos fail | 16:46 |
| menesis | that would be simpler than to autodetect that Kerberos auth is possible | 16:47 |
| *** AndChat|601929 has quit IRC | 16:48 | |
| menesis | but then you need some school homepage with a link to schooltool.school.my/krb | 16:48 |
| Xenopathic | the way Moodle does it is with a GET parameter | 16:49 |
| Xenopathic | if the login page is accessed normally it redirects to the Kerberos magic page | 16:49 |
| Xenopathic | if it has a certain parameter it just gives the login page | 16:50 |
| Xenopathic | oh, and one thing that should be implemented if you do this - only redirect for clients matching a certain IP range | 16:51 |
| Xenopathic | (that can be configured) | 16:51 |
| menesis | SchoolTool would be accessible from outside the school network, but then SSO is not available? | 16:54 |
| Xenopathic | yes | 16:55 |
| psharrad | Thats a good approach since staff and students at home wouldnt have a kerberos ticket. | 16:55 |
| Xenopathic | the Apache authentication dialog (accessible by setting `KrbMethodK5Passwd on`) is really ugly | 16:57 |
| menesis | is it not the same like using Basic auth? | 16:58 |
| Xenopathic | yes | 16:59 |
| Xenopathic | ugly :D | 16:59 |
| menesis | Well. | 17:06 |
| menesis | I think we should install the Karoshi Server, set up ldap and then try to add Kerberos | 17:07 |
| Xenopathic | right, well it sounds like you have a good grasp of Kerberos | 17:08 |
| Xenopathic | we'll have a go at SchoolTool again | 17:08 |
| Xenopathic | how should we get back in touch? | 17:09 |
| menesis | replaceafill: here is a tutorial I found, looks simple http://python-notes.curiousefficiency.org/en/latest/python_kerberos.html | 17:09 |
| replaceafill | ah thanks menesis | 17:09 |
| menesis | we don't use 'requests' but that does not matter | 17:09 |
| replaceafill | sure | 17:09 |
| menesis | We will need help setting up LDAP with those Bind DN and user queries | 17:11 |
| menesis | Because they look cryptic ;-) | 17:11 |
| Xenopathic | ah yes, Samba4 doesn't strictly use the same schemas as OpenLDAP | 17:12 |
| Xenopathic | have a look at http://www.linuxschools.org.uk/karoshi/documentation/wiki/index.php?title=Samba4_Testing#LDAP_Contacts we did a bit of testing with our original Thunderbird integration | 17:13 |
| Xenopathic | although you probably need to tweak the queries a bit, this is what we used originally to get Thunderbird reading Samba4 LDAP information | 17:14 |
| menesis | nice, that's a lot of documentation | 17:19 |
| psharrad | Unfortunately I've got to go to another meeting now :( Nice chatting to you and we'll feed back with some ldap testing on schooltool. | 17:21 |
| *** psharrad has quit IRC | 17:21 | |
| Xenopathic | well I'm off also. Nice chatting with you | 17:23 |
| *** Xenopathic has left #schooltool | 17:24 | |
| *** replaceafill has quit IRC | 17:54 | |
| *** replaceafill has joined #schooltool | 18:02 | |
| *** replaceafill has joined #schooltool | 18:03 | |
| *** khildin has joined #schooltool | 18:24 | |
| *** replaceafill has quit IRC | 19:12 | |
| *** replaceafill has joined #schooltool | 19:17 | |
| *** replaceafill has quit IRC | 19:37 | |
| *** replaceafill has joined #schooltool | 19:49 | |
| *** menesis has quit IRC | 21:06 | |
| *** khildin has quit IRC | 21:11 | |
| *** menesis has joined #schooltool | 21:45 | |
| *** replaceafill has quit IRC | 22:01 | |
| *** replaceafill has joined #schooltool | 22:01 | |
| *** replaceafill has quit IRC | 22:01 | |
| *** replaceafill has joined #schooltool | 22:01 | |
| *** replaceafill_ has joined #schooltool | 22:11 | |
| *** replaceafill_ has joined #schooltool | 22:11 | |
| *** replaceafill has quit IRC | 22:15 | |
| *** replaceafill has joined #schooltool | 22:15 | |
| *** menesis has quit IRC | 23:10 | |
| *** menesis1 has joined #schooltool | 23:10 | |
| *** replaceafill has quit IRC | 23:51 | |
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!