Úvod
MySQL je open-source systém pro správu relačních databází a součást oblíbeného zásobníku LAMP. mysql_secure_installation
skript vám umožňuje výrazně zlepšit zabezpečení serveru MySQL.
V této příručce se naučíte zabezpečit server MySQL.
Předpoklady
- Systém Linux s nainstalovaným MySQL (Používáte jiný operační systém? Podívejte se, jak nainstalovat a nakonfigurovat MySQL na serveru Windows, CentOS 7 nebo CentOS 8).
- Přístup k terminálu (Ctrl+Alt+T ).
- Síťové připojení.
- Účet s oprávněními správce.
příkaz mysql_secure_installation
Po instalaci je instance serveru MySQL na vašem počítači nezabezpečená a náchylná k útokům. mysql_secure_installation
je shell skript vyvinutý pro zabezpečení instalace serveru MySQL na systémech Unix. Skript konfiguruje nastavení zabezpečení a umožňuje:
- Nastavte heslo pro účty root (viz, jak resetovat nebo změnit heslo root MySQL)
- Odstraňte účty root přístupné mimo localhost.
- Odstraňte účty anonymních uživatelů.
- Smažte testovací databázi přístupnou anonymním uživatelům.
- Znovu načtěte tabulky uživatelských oprávnění.
[option]
argumenty jsou volitelné a diskutovány v následující části.
1. Spusťte mysql_secure_installation
skript pomocí následující syntaxe:
sudo mysql_secure_installation [option]
2. Zadejte heslo a stiskněte Y
pro nastavení VALIDATE PASSWORD
komponenta, která kontroluje, zda je nové heslo dostatečně silné.
3. Dále zadejte 0
, 1
nebo 2
v závislosti na síle hesla, kterou chcete nastavit:
0
- Nízká . Heslo se skládá alespoň z 8 znaků.1
– střední . Heslo se skládá alespoň z 8 znaků (včetně číslic, malých a velkých písmen a speciálních znaků).2
- Silný . Heslo se skládá z nejméně 8 znaků (včetně čísel, malých a velkých písmen a speciálních znaků a porovnává heslo se souborem slovníku).
4. Jakmile určíte požadovanou sílu, zadejte a znovu zadejte heslo.
5. Program vyhodnotí sílu vašeho hesla a vyžaduje potvrzení pomocí Y
pokračovat.
6. Dále musíte odpovědět na následující bezpečnostní funkce:
- Odebrat anonymní uživatele?
- Zakázat vzdálené přihlášení root?
- Odebrat testovací databázi a získat k ní přístup?
- Načíst znovu tabulky oprávnění?
Pro spuštění skriptu s výchozím nastavením je doporučená odpověď na všechny tyto otázky Y
.
možnosti mysql_secure_installation
mysql_secure_installation
skript přijímá určité možnosti, které přizpůsobují konfigurace zabezpečení MySQL. Zadejte možnosti v příkazovém řádku nebo v [client]
skupina souboru možností.
Nejčastěji používaná mysql_secure_installation
možnosti jsou --host
a --port
.
Můžete například nakonfigurovat MySQL tak, aby umožňovala připojení IPv6 klientům, kteří se připojují k místnímu serveru pomocí portu 3307. Chcete-li tak učinit, musíte přidat ::1
adresu místního hostitele a změňte výchozí port (3306) na 3307.
Proto byste při spouštění instalačního skriptu použili příkaz:
mysql_secure_installation --host=::1 --port=3307
Mezi další podporované možnosti patří:
--basedir=dir | Určete základní adresář. |
--print-defaults | Vytiskněte seznam argumentů programu a ukončete jej. |
--no-defaults | Brání skriptu ve čtení výchozích voleb z libovolného souboru voleb. |
--defaults-file=# | Dává skriptu pokyn, aby četl pouze zadaný soubor voleb # . |
--defaults-extra-file=# | Čte zadaný soubor # po přečtení obvyklých souborů voleb. |
--defaults-group-suffix=str | Čte obvyklé skupiny možností, ale také skupiny s obvyklými názvy a str přípona. |
--help | Zobrazí zprávu nápovědy a ukončí se. |
--host=host_name | Připojuje se k serveru MySQL na zadaném hostiteli. |
--no-defaults | Brání skriptu ve čtení souborů možností (kromě .mylogin.cnf soubor). |
--password | Skript tuto možnost přijímá, ale vždy ji ignoruje. Skript tedy při každém vyvolání požaduje heslo. |
--port=# | Uveďte číslo portu TCP/IP, ke kterému se chcete připojit. |
--print-defaults | Vytiskne název programu a výchozí možnosti. |
--protocol={#} | Zadejte přenosový protokol, který se má použít pro připojení k serveru {TCP | SOCKET | PIPE | MEMORY} . |
--socket=path | Určete soubor soketu Unix nebo Windows named_pipe proměnná pro připojení k localhost . |
--ssl=[1 | 0] | Povolí nebo zakáže šifrování připojení. Možnosti začínající --ssl může také udávat cestu ke klíčům a certifikátům SSL. |
--ssl-ca=filename | Uveďte soubor obsahující seznam důvěryhodných certifikačních autorit SSL. |
--ssl-capath=dir | Uveďte cestu k adresáři obsahujícímu důvěryhodné soubory certifikátu certifikační autority SSL. |
--ssl-cert=filename | Cesta k souboru obsahujícímu klientský certifikát veřejného klíče SSL. |
--ssl-cipher=list | Seznam povolených šifer pro šifrování připojení. |
--ssl-crl=filename | Cesta k souboru obsahujícímu seznamy zrušených certifikátů. |
--ssl-crlpath=dir | Adresář obsahující soubory seznamu zneplatněných certifikátů. |
--ssl-key=filename | Cesta k souboru obsahujícímu klientský certifikát soukromého klíče SSL. |
--ssl-mode=mode | Určete jeden ze stavů zabezpečení připojení k serveru v pořadí podle rostoucí přísnosti:[DISABLED | PREFERRED | REQUIRED | VERIFY_CA | VERIFY_IDENTITY] . |
--ssl-verify-server-cert | Požádejte klienta, aby ověřil identitu názvu hostitele podle certifikátu serveru obsahujícího identitu Common Name. |
--tls-version=list | Uveďte čárkami oddělený seznam povolených protokolů TLS pro šifrovaná připojení. |
--use-default | Skript se spustí bez interakce. |
--user=username | Uveďte uživatelské jméno účtu MySQL pro připojení k serveru. |