Security

From PHP-EMS-Tools

Jump to: navigation, search

PHP EMS Tools implements rudimentary security only. It is not designed to be a secure system, and is *not* designed to be used on the open Internet. Security measures are designed to constrain your members from messing with the program, and that's about it.

I have *not* performed a security audit on the program. There may be some modules or files that are still from pre-secured versions. Please be aware of this.

PHP EMS Tools security is divided into three sections - authentication (who the user is), authorization (what they can do), and logging/auditing (keeping a record of what has been done).

Authentication

PHP EMS Tools uses a simple authentication scheme. Each member is given an EMTid that serves as their username and identifier. Each member is then assigned a password. This can be just about anything. In my organization, we use four digit numbers that were assigned to us as door codes. The passwords are *not* designed to prevent an unauthorized person from cracking into the system. They are only designed to prevent malicious users from messing with the roster information or changing stuff they're not supposed to (like signing themselves on for shifts that already ended).

The passwords are stored in the database as clear text and MD5 hashes. When editing a password, they are also transmitted in clear text. As a result, please make sure that passwords are not important or used elsewhere.

Authorization

The authorization scheme is quite simple, and is based on RightsLevels. The basic idea is that actions such as signing on can be assigned a minimum use rights level to complete the action. Please see the RightsLevel page for more information.

WARNING: rightsLevels were a late addition to the package. There may still be some minor features lurking around that don't incorporate them (such as, in Version 3.0, the Mass SignOns feature).

Auditing / Logging

The auditing/logging infrastructure is detailed on the Logging page.