Introduction
With growing Koha usage at large public libraries and exposure of the OPAC (and 
in several cases, the Intranet interfaces) to audiences over the (big, bad) 
public Internet, the Koha community needs to be increasingly sensitive to 
security and data privacy. 

If not, it is possible that Koha systems may present easy targets to 
unscrupulous people looking for potentially sensitive patron information that 
may be compromised and abused.

In this regard, Koha is not current with many commonly-accepted mechanisms to 
improve overall security. Moreover, these mechanisms (IMHO) can be easily added 
to Koha without disproportionate effort. The most cost-effective way of 
improving security of any system is to build the security into it upfront.

Suggested improvements

S1. E-mail confirmation workflow
Background
At account creation, Koha now has the option (using a template) in 
'Notification' to send e-mail to an e-mail field on the patron records. The 
default template even includes the login name and password (in cleartext). 

Issue
Any errors in specifying or recording e-mail address will send account creation 
(or other) e-mail to the wrong person. With the default template, such errors 
will directly allow another person to login to the member’s account.

Improvements

        1. To introduce an e-mail workflow requiring patrons to confirm 
membership. Koha can send account details after confirmation of membership. (An 
example is the workflow for users signing up to Koha mailing lists)
        2. To change the default template to include only a one-time password 
(or one-time login facility) (to be described below)S2. About passwords
Background
Login passwords are not temporary and there is no mechanism to force users to 
change passwords. While Koha suggests a password to be set at the time of 
account creation, this means that at least one staff member knows passwords or 
may set them to something that is trivially weak.

Currently, a system preference allows administrators to specify (only) a 
minimum character length for passwords.

Issue
More than one person is involved and has knowledge about passwords being 
set/reset. This introduces potential human error in communicating passwords 
during account creation or password reset

Suggested improvements

        1. Introduce one-time passwords (or one-time login links) automatically 
generated and e-mailed by Koha 

        2. Change the default account creation template shipped with Koha to 
include a one-time password/link allowing time-bound one-time login
        3. Force users to change first-time passwords immediately on login
        4. Staff to only request Koha to reset the passwords on accounts rather 
than set actual passwords.
        5. Provide a self-service facility to users to request new passwords 
(or to reset passwords via a one-time login). Users are authenticated using a 
configurable piece of information from patron records that is used to construct 
‘challenge’ questions.
        6. Disallow display of passwords in cleartext anywhere in Koha or in 
e-mail notification
        7. Enhance checks for password strength by checking for, some 
combination of uppercase and lowercase characters, numerals, and special 
characters. Add system preferences for administrators to specify the particular 
mix.
        8. Allow administrators to specify a lifetime for passwords (say, 90 
days), and have Koha force users to change passwords older than the same.
S3. Database access and ‘super-librarian’ login
Background
Koha stores the database user and password to (/etc/koha/)koha-conf.xml with 
the password in cleartext. This file is world-readable, and my own attempt to 
restrict access to this file breaks Koha. The same login and password is used 
to login to the Intranet post-installation, with ‘super-librarian’ privileges

Suggested improvements

        1. Protect configuration files containing sensitive information and 
change Koha code to be able to read the same (This author is unaware of a 
suitable mechanism in Perl but recalls using the ‘requires’ facility in .php on 
products like Joomla)
        2. Disallow logging into Koha using the database user and password
        3. Create a one-time administrator login during installation to be used 
post-installation to create regular staff users.
S4. Print "last login" information upon logging in
This alerts users to any logins they may not recall and help detect any 
compromise attempts.

S5. Securing KOHA logins over SSL
Background
The OPAC login facility is available on most pages inline with other page 
content

Issue
If a site wants to secure, say, just logins, by serving those pages over SSL, 
it is currently not possible to do so without serving all of the site over SSL. 
This may not be acceptable considering potentially higher load and response 
times to serve content over SSL.

Suggested improvements

        1. Separate the login page (as in the Intranet), so as to secure the 
same over SSL, and once the user is authenticated, the user can be redirected 
to regular content served over HTTP.
        2. Allow configuring at installation time the use of SSL for some set 
of pages, including, for example, login, change password, patron profile pages, 
etc.
        3. Simple instructions for admins to generate and use self-signed 
certificates for SSL may be included with the documentation.
S6. Improvements to disabling/enabling OPAC and Intranet access
At the moment, it is unclear whether clearing out the login and password field 
on a member record disables their login, and whether non-staff patrons have 
access to both OPAC and Intranet or just the OPAC. (the author is researching 
these)
This can be remedied by simply providing an additional toggle to enable/disable 
login for a patron. This may also be useful in the event that a stray patron 
posts abusive content in tags or book reviews.

Thanks and regards,


krishnan mani
Pune, India



      Add more friends to your messenger and enjoy! Go to 
http://messenger.yahoo.com/invite/
_______________________________________________
Koha-devel mailing list
Koha-devel@lists.koha.org
http://lists.koha.org/mailman/listinfo/koha-devel

Reply via email to