function _security_review_security_checks in Security Review 7
Same name and namespace in other branches
- 6 security_review.inc \_security_review_security_checks()
Core Security Review's checks.
See also
security_review_get_checklist().
1 call to _security_review_security_checks()
- security_review_get_checklist in ./
security_review.inc - Get core Security Review checks and checks from any hook_security_checks().
File
- ./
security_review.inc, line 102 - Stand-alone security checks and review system.
Code
function _security_review_security_checks() {
$checks = array();
$checks['file_perms'] = array(
'title' => t('File system permissions'),
'callback' => 'security_review_check_file_perms',
'success' => t('Drupal installation files and directories (except required) are not writable by the server.'),
'failure' => t('Some files and directories in your install are writable by the server.'),
);
$checks['input_formats'] = array(
'title' => t('Text formats'),
'callback' => 'security_review_check_input_formats',
'success' => t('Untrusted users are not allowed to input dangerous HTML tags.'),
'failure' => t('Untrusted users are allowed to input dangerous HTML tags.'),
);
$checks['field'] = array(
'title' => t('Content'),
'callback' => 'security_review_check_field',
'success' => t('Dangerous tags were not found in any submitted content (fields).'),
'failure' => t('Dangerous tags were found in submitted content (fields).'),
);
$checks['error_reporting'] = array(
'title' => t('Error reporting'),
'callback' => 'security_review_check_error_reporting',
'success' => t('Error reporting set to log only.'),
'failure' => t('Errors are written to the screen.'),
);
$checks['private_files'] = array(
'title' => t('Private files'),
'callback' => 'security_review_check_private_files',
'success' => t('Private files directory is outside the web server root.'),
'failure' => t('Private files is enabled but the specified directory is not secure outside the web server root.'),
);
// Checks dependent on dblog.
if (module_exists('dblog')) {
$checks['query_errors'] = array(
'title' => t('Database errors'),
'callback' => 'security_review_check_query_errors',
'success' => t('Few query errors from the same IP.'),
'failure' => t('Query errors from the same IP. These may be a SQL injection attack or an attempt at information disclosure.'),
);
$checks['failed_logins'] = array(
'title' => t('Failed logins'),
'callback' => 'security_review_check_failed_logins',
'success' => t('Few failed login attempts from the same IP.'),
'failure' => t('Failed login attempts from the same IP. These may be a brute-force attack to gain access to your site.'),
);
}
$checks['upload_extensions'] = array(
'title' => t('Allowed upload extensions'),
'callback' => 'security_review_check_upload_extensions',
'success' => t('Only safe extensions are allowed for uploaded files and images.'),
'failure' => t('Unsafe file extensions are allowed in uploads.'),
);
$checks['admin_permissions'] = array(
'title' => t('Drupal permissions'),
'callback' => 'security_review_check_admin_permissions',
'success' => t('Untrusted roles do not have administrative or trusted Drupal permissions.'),
'failure' => t('Untrusted roles have been granted administrative or trusted Drupal permissions.'),
);
$checks['name_passwords'] = array(
'title' => t('Username as password'),
'callback' => 'security_review_check_name_passwords',
'success' => t('Trusted accounts do not have their password set to their username.'),
'failure' => t('Some trusted accounts have set their password the same as their username.'),
);
// Check dependent on PHP filter being enabled.
if (module_exists('php')) {
$checks['untrusted_php'] = array(
'title' => t('PHP access'),
'callback' => 'security_review_check_php_filter',
'success' => t('Untrusted users do not have access to use the PHP input format.'),
'failure' => t('Untrusted users have access to use the PHP input format.'),
);
}
$checks['executable_php'] = array(
'title' => t('Executable PHP'),
'callback' => 'security_review_check_executable_php',
'success' => t('PHP files in the Drupal files directory cannot be executed.'),
'failure' => t('PHP files in the Drupal files directory can be executed.'),
);
$checks['base_url_set'] = array(
'title' => t('Drupal base URL'),
'callback' => 'security_review_check_base_url',
'success' => t('Base URL is set in settings.php.'),
'failure' => t('Base URL is not set in settings.php.'),
);
$checks['temporary_files'] = array(
'title' => t('Temporary files'),
'callback' => 'security_review_check_temporary_files',
'success' => t('No sensitive temporary files were found.'),
'failure' => t('Sensitive temporary files were found on your files system.'),
);
return array(
'security_review' => $checks,
);
}