GNU/Linux >> Linux の 問題 >  >> Ubuntu

mysql_secure_installationスクリプト

はじめに

MySQLは、オープンソースのリレーショナルデータベース管理システムであり、人気のあるLAMPスタックの一部です。 mysql_secure_installation スクリプトを使用すると、MySQLサーバーのセキュリティを大幅に向上させることができます。

このガイドでは、MySQLサーバーを保護する方法を学習します。

前提条件

  • MySQLがインストールされているLinuxシステム(別のOSを使用していますか?Windowsサーバー、CentOS 7、またはCentOS 8にMySQLをインストールして構成する方法を参照してください)。
  • ターミナルへのアクセス( Ctrl + Alt + T
  • ネットワーク接続。
  • 管理者権限を持つアカウント。

mysql_secure_installationコマンド

インストール後、マシン上のMySQLサーバーインスタンスは安全ではなく、攻撃を受けやすくなります。 mysql_secure_installation UnixシステムへのMySQLサーバーのインストールを保護するために開発されたシェルスクリプトです。このスクリプトはセキュリティ設定を構成し、次のことを可能にします。

  • rootアカウントのパスワードを設定します(MySQLのrootパスワードをリセットまたは変更する方法を参照してください)
  • ローカルホストの外部からアクセス可能なルートアカウントを削除します。
  • 匿名ユーザーアカウントを削除します。
  • 匿名ユーザーがアクセスできるテストデータベースを削除します。
  • ユーザー権限テーブルを再読み込みします。

[option] 引数はオプションであり、次のセクションで説明します。

1. mysql_secure_installationを実行します 次の構文を使用したスクリプト:

sudo mysql_secure_installation [option]

2.パスワードを入力し、 Yを押します VALIDATE PASSWORDを設定するには 新しいパスワードが十分に強力かどうかをチェックするコンポーネント。

3.次に、 0と入力します 1 、または 2 設定するパスワード強度に応じて:

  • 0 -低 。パスワードは8文字以上で構成されています。
  • 1 -中 。パスワードは8文字以上(数字、大文字と小文字の混合、特殊文字を含む)で構成されています。
  • 2 -強い 。パスワードは8文字以上で構成されます(数字、大文字と小文字の混合、特殊文字を含み、パスワードを辞書ファイルと比較します)。

4.必要な強度を指定したら、パスワードを入力して再入力します。

5.プログラムはパスワードの強度を評価し、 Yで確認する必要があります 続ける。

6.次に、次のセキュリティ機能に答える必要があります。

  • 匿名ユーザーを削除しますか?
  • リモートログインを許可しませんか?
  • テストデータベースを削除してアクセスしますか?
  • 特権テーブルを今すぐリロードしますか?

デフォルト設定でスクリプトを実行するには、これらすべての質問に対する推奨される回答は Yです。

mysql_secure_installationオプション

mysql_secure_installation スクリプトは、MySQLのセキュリティ構成をカスタマイズする特定のオプションを受け入れます。コマンドラインまたは[client]でオプションを指定します オプションファイルのグループ。

最も一般的に使用されるmysql_secure_installation オプションは--host および--port

たとえば、ポート3307を使用してローカルサーバーに接続するクライアントによるIPv6接続を許可するようにMySQLを構成できます。これを行うには、 ::1を追加する必要があります。 ローカルホストアドレスを指定し、デフォルトのポート(3306)を3307に変更します。

したがって、インストールスクリプトを実行するときは、次のコマンドを使用します。

mysql_secure_installation --host=::1 --port=3307

その他のサポートされているオプションは次のとおりです。

--basedir=dir ベースディレクトリを指定します。
--print-defaults プログラム引数リストを印刷して終了します。
--no-defaults スクリプトがオプションファイルからデフォルトオプションを読み取らないようにします。
--defaults-file=# 指定されたオプションファイルのみを読み取るようにスクリプトに指示します #
--defaults-extra-file=# 指定されたファイルを読み取ります # 通常のオプションファイルを読んだ後。
--defaults-group-suffix=str> 通常のオプショングループを読み取りますが、通常の名前とstr 接尾辞。
--help ヘルプメッセージを表示して終了します。
--host=host_name 指定されたホスト上のMySQLサーバーに接続します。
--no-defaults スクリプトがオプションファイルを読み取れないようにします(。mylogin.cnf を除く ファイル)。
--password スクリプトはこのオプションを受け入れますが、常に無視します。したがって、スクリプトは呼び出されるたびにパスワードの入力を求めます。
--port=# 接続するTCP/IPポート番号を指定します。
--print-defaults プログラム名とデフォルトオプションを出力します。
--protocol={#} サーバーへの接続に使用するトランスポートプロトコルを指定します {TCP | SOCKET | PIPE | MEMORY}
--socket=path UnixソケットファイルまたはWindowsを指定します named_pipe localhostに接続する変数
--ssl=[1 | 0] 接続の暗号化をそれぞれ有効または無効にします。 --sslで始まるオプション SSLキーと証明書へのパスを示すこともできます。
--ssl-ca=filename 信頼できるSSL認証局リストを含むファイルを指定します。
--ssl-capath=dir 信頼できるSSL認証局の証明書ファイルを含むディレクトリパスを指定します。
--ssl-cert=filename クライアントSSL公開鍵証明書を含むファイルへのパス。
--ssl-cipher=list 接続暗号化に許可される暗号のリスト。
--ssl-crl=filename 証明書失効リストを含むファイルへのパス。
--ssl-crlpath=dir 証明書失効リストファイルを含むディレクトリ。
--ssl-key=filename クライアントSSL秘密鍵証明書を含むファイルへのパス。
--ssl-mode=mode サーバー接続のセキュリティ状態の1つを、厳密度の高い順に指定します。 [DISABLED | PREFERRED | REQUIRED | VERIFY_CA | VERIFY_IDENTITY]
--ssl-verify-server-cert> 共通名IDを含むサーバー証明書に対してホスト名IDを確認するようにクライアントに指示します。
--tls-version=list 暗号化された接続に許可されるTLSプロトコルのコンマ区切りリストを指定します。
--use-default スクリプトは対話なしで実行されます。
--user=username サーバーに接続するためのMySQLアカウントのユーザー名を指定します。

Ubuntu
  1. ルートMySqlパスワードをリセットする方法

  2. MySQLをFedora35にインストールする方法

  3. 忘れたPhptheadminパスワードをリセットしますか?

  1. Ubuntu 13.04でターミナルを使用してMysqlにアクセスしますか?

  2. CentOS 7.xにMySQLをインストールする方法は?

  3. MySQLルートパスワードをリセットする

  1. MySQL8.0をFedora35/Fedora34にインストールする方法

  2. MySQLルートパスワードをリセットする方法

  3. Ubuntu 22.04 に MySQL をインストールする方法