Security information: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
mNo edit summary
Tag: 2017 source edit
mNo edit summary
Line 9: Line 9:
[[Category:Admin_en]]
[[Category:Admin_en]]


= [[File:securite.png]] Alerts =
=[[File:securite.png]] Alerts=
Last update: {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}
Last update: {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}


Some SQL injections vulnerabilities have been reported. They are a small risk as they are in page that need to be logged to be used. Fix is available into 9.0.5.
Some SQL injections vulnerabilities have been reported. They are a small risk as they are in page that need to be logged to be used. Fix is available into 9.0.5.
Download from GitHub last [https://github.com/Dolibarr/dolibarr/archive/9.0.zip version 9] et la dernière [https://github.com/Dolibarr/dolibarr/archive/10.0.zip version 10]


= [[File:art.png]] Features =
Download from GitHub last [https://github.com/Dolibarr/dolibarr/archive/9.0.zip version 9] et last [https://github.com/Dolibarr/dolibarr/archive/10.0.zip version 10]
 
=[[File:art.png]] Features=
Dolibarr implements several security features. Among them :
Dolibarr implements several security features. Among them :


'''Encryption'''
'''Encryption'''
* User passwords are encrypted in database <sup>[*7]</sup> <sup>[*8]</sup>.
 
* Database technical password can be obfuscated into the [[Configuration_file|Dolibarr configuration file]] (conf.php) <sup>[*8]</sup>.
*User passwords are encrypted in database <sup>[*7]</sup> <sup>[*8]</sup>.
* Possibility to force HTTPS <sup>[*9]</sup>.  
*Database technical password can be obfuscated into the [[Configuration_file|Dolibarr configuration file]] (conf.php) <sup>[*8]</sup>.
*Possibility to force HTTPS <sup>[*9]</sup>.
 
<source lang="php">
<source lang="php">
//conf/conf.php file
//conf/conf.php file
Line 28: Line 31:
</source>
</source>


{| class=wikitable style="width:100%;"
{| class="wikitable" style="width:100%;"
! scope="col"| Values
! scope="col" |Values
! scope="col"| Description
! scope="col" |Description


|-
|-
Line 53: Line 56:


'''Hacks and cracks'''
'''Hacks and cracks'''
* Works with register_globals on or off (off highly recommended) <sup>[*2]</sup>.
 
* Works with PHP safe_mode on or off (on recommended) <sup>[*3]</sup>.
*Works with register_globals on or off (off highly recommended) <sup>[*2]</sup>.
* Production option to disable any technical information leakage like debug, error stacktrace, version informations (See [[Configuration_file|configuration file]]) <sup>[*6]</sup>.  
*Works with PHP safe_mode on or off (on recommended) <sup>[*3]</sup>.
* Protection against SQL injection <sup>[*2]</sup>.
*Production option to disable any technical information leakage like debug, error stacktrace, version informations (See [[Configuration_file|configuration file]]) <sup>[*6]</sup>.
* Protection against XSS injection (Cross Site Scripting) <sup>[*1]</sup>.
*Protection against SQL injection <sup>[*2]</sup>.
* Protection against CSRF (Cross Site Request Forgery) <sup>[*5]</sup>.
*Protection against XSS injection (Cross Site Scripting) <sup>[*1]</sup>.
*Protection against CSRF (Cross Site Request Forgery) <sup>[*5]</sup>.
 
Note that it is also recommanded to protect your web server by disabled Apache option
Note that it is also recommanded to protect your web server by disabled Apache option
<source lang="ini">
<source lang="ini">
Line 65: Line 70:


'''Pages and files access'''
'''Pages and files access'''
* Pages and contents are protected by centralized entry code to check permissions (granted on groups or users for each functional module) <sup>[*4]</sup> <sup>[*10]</sup>.
 
* Files saved by Dolibarr are stored in a different root directory than web application (so they can't be downloaded without passing by the Dolibarr wrapper) <sup>[*3]</sup> <sup>[*10]</sup>.
*Pages and contents are protected by centralized entry code to check permissions (granted on groups or users for each functional module) <sup>[*4]</sup> <sup>[*10]</sup>.
* Dolibarr directories content can't be accessed even if Apache option Indexes has be forgotten to on (should not) <sup>[*3]</sup>.
*Files saved by Dolibarr are stored in a different root directory than web application (so they can't be downloaded without passing by the Dolibarr wrapper) <sup>[*3]</sup> <sup>[*10]</sup>.
*Dolibarr directories content can't be accessed even if Apache option Indexes has be forgotten to on (should not) <sup>[*3]</sup>.


'''Login protection'''
'''Login protection'''
* Delay anti brute force cracking on login page <sup>[*7]</sup>.
 
* Option for graphical code (CAPTCHA) against robots on login page <sup>[*7]</sup>.
*Delay anti brute force cracking on login page <sup>[*7]</sup>.
* No passwords in logs, even in technical logs <sup>[*7]</sup>.
*Option for graphical code (CAPTCHA) against robots on login page <sup>[*7]</sup>.
* Internal logger to save permanently all Dolibarr events about user's administration and successful or failed logins or administration events (user or group or permission changes).
*No passwords in logs, even in technical logs <sup>[*7]</sup>.
*Internal logger to save permanently all Dolibarr events about user's administration and successful or failed logins or administration events (user or group or permission changes).


'''Viruses'''
'''Viruses'''
* Possibility to run an external anti-virus on every uploaded files <sup>[*3]</sup>.
 
*Possibility to run an external anti-virus on every uploaded files <sup>[*3]</sup>.


   
   
----
----
<sup>(*X)</sup> This solution is part of protection used to solve vulnerabilities classified by the [http://www.owasp.org/index.php/Top_10_2007 OWASP Top Ten] at range number X.
<sup>(*X)</sup> This solution is part of protection used to solve vulnerabilities classified by the [http://www.owasp.org/index.php/Top_10_2007 OWASP Top Ten] at range number X.

Revision as of 12:56, 20 August 2019


Securite.png Alerts

Last update: 2019-08-20

Some SQL injections vulnerabilities have been reported. They are a small risk as they are in page that need to be logged to be used. Fix is available into 9.0.5.

Download from GitHub last version 9 et last version 10

Art.png Features

Dolibarr implements several security features. Among them :

Encryption

  • User passwords are encrypted in database [*7] [*8].
  • Database technical password can be obfuscated into the Dolibarr configuration file (conf.php) [*8].
  • Possibility to force HTTPS [*9].
//conf/conf.php file
//example of $dolibarr_main_force_https  configuration
$dolibarr_main_force_https = '1';//to force https
Values Description

0

No forced redirect

1

Force redirect to https, until SCRIPT_URI start with https into response

2

Force redirect to https, until SERVER["HTTPS"] is 'on' into response

Hacks and cracks

  • Works with register_globals on or off (off highly recommended) [*2].
  • Works with PHP safe_mode on or off (on recommended) [*3].
  • Production option to disable any technical information leakage like debug, error stacktrace, version informations (See configuration file) [*6].
  • Protection against SQL injection [*2].
  • Protection against XSS injection (Cross Site Scripting) [*1].
  • Protection against CSRF (Cross Site Request Forgery) [*5].

Note that it is also recommanded to protect your web server by disabled Apache option

AcceptPathInfo Off

Pages and files access

  • Pages and contents are protected by centralized entry code to check permissions (granted on groups or users for each functional module) [*4] [*10].
  • Files saved by Dolibarr are stored in a different root directory than web application (so they can't be downloaded without passing by the Dolibarr wrapper) [*3] [*10].
  • Dolibarr directories content can't be accessed even if Apache option Indexes has be forgotten to on (should not) [*3].

Login protection

  • Delay anti brute force cracking on login page [*7].
  • Option for graphical code (CAPTCHA) against robots on login page [*7].
  • No passwords in logs, even in technical logs [*7].
  • Internal logger to save permanently all Dolibarr events about user's administration and successful or failed logins or administration events (user or group or permission changes).

Viruses

  • Possibility to run an external anti-virus on every uploaded files [*3].



(*X) This solution is part of protection used to solve vulnerabilities classified by the OWASP Top Ten at range number X.