par Jonathan Marcil
présenté en
tweet-o-rama!
@jonathanmarcil
You have been hacked!
Fix it.
You have been pentested!
Please fix it.
Don't get hacked!
Here's how to fix it.
les exigences sont l'expression d'un besoin documenté sur ce qu'un produit ou un service particuliers devraient être ou faire
-- fr.Wikipedia
a requirement is a singular documented physical and functional need that a particular design, product or process must be able to perform
-- en.Wikipedia
OWASP OpenSAMM : Software Assurance Maturity Model
OWASP ASVS : Application Security Verification Standard
Une liste de points de vérifications pour tester les applications Web
Verify all password fields do not echo the user’s password when it is entered.
-- V2.2 OWASP ASVS 2.0
Conversion d'ASVS en exigences
Ajout d'exigences particulières
Drupal 7 possède déjà plusieurs mécanismes de sécurité qui remplissent certaines exigences.
Exemple
function user_login_authenticate_validate($form, &$form_state) {
$password = trim($form_state['values']['pass']);
if (!empty($form_state['values']['name']) && !empty($password)) {
// Do not allow any login from the current user's IP if the limit has been
// reached. Default is 50 failed attempts allowed in one hour. This is
// independent of the per-user limit to catch attempts from one IP to log
// in to many different user accounts. We have a reasonably high limit
// since there may be only one apparent IP for all users at an institution.
if (!flood_is_allowed('failed_login_attempt_ip', variable_get('user_failed_login_ip_limit', 50), variable_get('user_failed_login_ip_window', 3600))) {
$form_state['flood_control_triggered'] = 'ip';
return;
}
Plusieurs modules disponibles remplissent des exigences.
Drupal.org: Enhancing security using contributed modules
This section provides information about the various contributed modules that enhance security.
Quelques exemples
Yog-Sothoth, Pierre Buyle
Drupal CSP Support, Pierre Buyle?
phpcs-security-audit
Analyse de code statique
Régles spécifiques pour Drupal 7
drupal-security-docs
GitHub repo
Exigences et solutions
TODO: Liens entre les exigences et (Drupal core + modules)
Drupal Security Guide
Whitepaper
Extensif sur la partie serveur
Vue d'ensemble pour un opérateur de site Drupal