
Dieses Chef-Cookbook bietet Sicherheitskonfiguration für mysql.
Bietet Sicherheitskonfigurationen für mysql. Es ist dafür gedacht, produktionsreife mysql-Instanzen einzurichten, die mit einer minimalen Angriffsfläche für Angreifer konfiguriert sind.
Dieses Cookbook konzentriert sich auf die Sicherheitskonfiguration von mysql und verwendet das mysql cookbook für die Installation wieder. Daher können Sie diese Härtungsschicht zusätzlich zu Ihrer bestehenden mysql-Konfiguration in Chef hinzufügen.
Wir haben dieses Cookbook optimiert, um problemlos mit os-hardening und ssh-hardening zusammenzuarbeiten. Es funktioniert auch ohne diese, aber Sie müssen sicherstellen, dass alle Voraussetzungen wie apt-get update oder yum update erfüllt sind.
Eine Beispielrolle könnte so aussehen:
{
"name": "mysql",
"default_attributes": { },
"override_attributes": { },
"json_class": "Chef::Role",
"description": "MySql Hardened Server Test Role",
"chef_type": "role",
"default_attributes" : {
"mysql": {
"server_root_password": "iloverandompasswordsbutthiswilldo",
"server_debian_password": "iloverandompasswordsbutthiswilldo"
}
},
"run_list": [
"recipe[chef-solo-search]",
"recipe[apt]",
"recipe[mysql::server]",
"recipe[mysql-hardening]"
]
}
Dieses Rezept ist ein Overlay-Rezept für das mysql cookbook) und wendet mysql-hardening::hardening an
Fügen Sie Folgendes zu Ihrer Runlist hinzu und passen Sie die Attribute der Sicherheitsoptionen an
"recipe[mysql::server]",
"recipe[mysql-hardening]"
Dieses Härtungsrezept installiert die Härtung, erwartet jedoch eine bestehende Installation von Mysql, MariaDB oder Percona. Wenn Sie das mysql-Cookbook nicht verwenden, müssen Sie möglicherweise die Attribute anpassen:
node['mysql']['service_name'] = 'default'node['mysql']['data_dir'] = '/var/lib/mysql'node['mysql-hardening']['conf-file'] = '/etc/mysql/conf.d/hardening.cnf'node['mysql-hardening']['user'] = 'mysql'Weitere Informationen sind bereits verfügbar bei Deutsche Telekom (Deutsch) und Symantec
Dieses Setup setzt standardmäßig die folgenden Parameter
user = mysql
port = 3306
bind-address = X.Y.Z.W
# via ['mysql']['security']['local_infile']
local-infile = 0
# via ['mysql']['security']['safe_user_create']
safe-user-create = 1
# via ['mysql']['security']['secure_auth']
secure-auth = 1
# via ['mysql']['security']['skip_show_database']
skip-show-database
# via ['mysql']['security']['skip_symbolic_links']
skip-symbolic-links
# via ['mysql']['security']['automatic_sp_privileges']
automatic_sp_privileges = 0
# via ['mysql']['security']['secure-file-priv']
secure-file-priv = /tmp
Zusätzlich wird sichergestellt, dass die folgenden Parameter nicht gesetzt sind
['mysql']['security']['secure_auth']node['mysql']['security']['allow-suspicious-udfs']Darüber hinaus sind die Berechtigungen von /var/lib/mysql auf den Benutzer mysql beschränkt.
# Install dependencies
gem install bundler
bundle install
# Do lint checks
bundle exec rake lint
# Fetch tests
git clone https://github.com/dev-sec/tests-mysql-hardening test/integration
# fast test on one machine
bundle exec kitchen test default-ubuntu-1204
# test on all machines
bundle exec kitchen test
# for development
bundle exec kitchen create default-ubuntu-1204
bundle exec kitchen converge default-ubuntu-1204
Dieses Cookbook wird mit einer guard-Datei für eine einfache Entwicklung geliefert. Während der Entwicklung überwacht guard die Ordner und führt footcritic und robocop aus.
# list all plugins
bundle exec guard list
# run guard with foodcritic and robocop
bundle exec guard -P Foodcritic Rubocop
Lizenziert unter der Apache License, Version 2.0 (die "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz erhalten Sie unter
http://www.apache.org/licenses/LICENSE-2.0
Sofern nicht durch geltendes Recht vorgeschrieben oder schriftlich vereinbart, wird Software, die unter der Lizenz vertrieben wird, auf einer "AS IS"-BASIS, OHNE GARANTIEN ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend, bereitgestellt. Siehe die Lizenz für die spezifischen Bestimmungen zu Berechtigungen und Einschränkungen unter der Lizenz.