eFront employs elaborate filters to mitigate various kind of attacks, such as XSS, CSRF, SQL injection and others, based on The Open Web Application Security Project guidelines.
In addition, the codebase employs various measures in its logic to prevent unauthorized access and privilege escalation.
Moreover, there are several tools available to administrators, in order to tailor the security level to their organization's needs:
White/black-listing
- IP whitelisting: You can specify any combination of IP addresses or IP spaces (using wildcards) that can access your installation, as a comma-separated list
- Upload files blacklisting: You can restrict the file types allowed to be uploaded by utilizing a black-list
Signing in/signing up
- Signing up can be restricted to email verification or manual verification
- Suspend accounts after failed logins: You can have the system temporarily lock an account after repeated failed login attempts. The account lockout time increases every time
- Prevent users from signing in using the same username: You can restrict different users from using the same account at the same time
- SSO is supported via LDAP or SAML 2
- Google reCAPTCHA v2 authentication
Passwords
- Password expiration: You can have users' passwords expire after a predefined amount of time
- Restrict reuse of passwords: You can prevent users from reusing the same password when updating it after expiration
- Password length: You can define the minimum password length
- Password rules: You can define arbitrarily complex rules for passwords, using regular expressions
- Force password change upon initial login: You can have users that were registered by an administrator to be forced to update their password the first time they connect
- Passwords are stored hashed using strong algorithms
2-factor authentication support
-
Using QR-code via Google Authenticator app
-
Using an SMS
-
Using an Email
Access control privileges
-
You can create user types with restricted access to certain areas of the system
-
You can create branches, each having its own restricted set of access to the system (e.g. specific courses, operations etc)
Malicious usage prevention
-
XSS filters prevent users from submitting malicious content to your system
-
CSRF filters prevent phishing attacks or otherwise malicious manipulation of open user sessions.
-
Protection against session hijacking by utilizing recommended countermeasures
-
High-risk actions (for example, purchase refunds) require that you enter "sudo" mode by re-authenticating
-
Prevention of self-XSS (browser console)
Data Encryption
-
Encrypted database connection configuration file
Logging and reporting
-
User actions are kept in the system log for review
-
System errors are logged for review if needed
SSL
-
eFront can work under HTTPS right out of the box
System information disclosing
-
You can optionally prevent all system-generated errors (coming from the underlying system, e.g. PHP errors, SQL errors etc) from reaching the end-user