• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
    • Image EXIF
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Linux用MySQL/MariaDBセキュリティベストプラクティス12件について
2021-12-31

MySQLは世界で最も流行しているオープンソースデータベースシステムであり、MariaDB(MySQLブランチ)は世界で最も成長しているオープンソースデータベースシステムである。MySQLサーバをインストールした後、デフォルトの構成では安全ではありません。データベースのセキュリティを確保することは、通常、汎用データベース管理の基本的なタスクの1つです。

これは、攻撃者がシステムの任意の部分の脆弱性をスキャンし、データベースが過去に重点ターゲット領域だったため、Linuxサーバ全体のセキュリティを強化し、向上させるのに役立ちます。一般的な例はMySQLデータベースのrootパスワードの強制解読です。

このガイドでは、開発者に役立つMySQL/MariaDBのLinuxのベストセキュリティの実践について説明します。

1.MySQLを安全にインストールする

MySQLサーバをインストールした後、データベース・サーバを保護するための最初の推奨手順です。このスクリプトを使用すると、MySQLサーバのセキュリティを向上させることができます。

・インストール中にrootアカウントのパスワードを設定していない場合は、すぐに設定します。

・ローカルホスト外部からアクセス可能なrootアカウントを削除することにより、リモートrootユーザーログインを無効にする

・匿名のユーザー・アカウントとテスト・データベースを削除します。デフォルトでは、すべてのユーザー、さらには匿名のユーザーがこれらのアカウントとテスト・データベースにアクセスできます。

# mysql_secure_installation

MySQLの安全なインストール状況インタフェース

2.データベース・サーバをLoopbackアドレスにバインドする

この構成ではリモートマシンからのアクセスが制限され、MySQLサーバはローカルホストからの接続のみを受け入れるように通知されます。プライマリプロファイルで設定できます。

# vi /etc/my.cnf                       [RHEL/CentOS]    
# vi /etc/mysql/my.conf                    [Debian/Ubuntu] 
OR
# vi /etc/mysql/mysql.conf.d/mysqld.cnf    [Debian/Ubuntu]

[mysqld]セクションに次の行を追加します。

bind-address = 127.0.0.1
3.MySQLのLOCAL INFILEを無効にする

セキュリティの強化の一部としてlocal_を無効にする必要があります。Infileは、[mysqld]セクションでMySQLから最下位ファイルシステムにアクセスしないように、次のコマンドを使用します。

local-infile=0
4.MySQLのデフォルトポートの変更

ポート変数を設定してTCP/IP接続を傍受するMySQLポート番号。デフォルトのポート番号は3306ですが、[mysqld]で変更できます。

Port=5000
5.MySQLログの有効化

ログは、サービスの実行中に何が起こったかを知る最善の方法の一つであり、攻撃を受けたときにログから侵入に関連する行為を簡単に見ることができます。下の変数をプロファイル[mysqld]セクションに追加することでmysqlログ機能をオンにできます。

log=/var/log/mysql.log
6.適切なMySQLファイルへのアクセス権の設定

すべてのmysqlサービスファイルとデータパスに適切なアクセス権が設定されていることを確認します。ファイル/etc/my.confはrootユーザーのみが変更でき、他のユーザーがデータベース・サービスの構成を変更することを阻止できます。

# chmod 644 /etc/my.cnf
7.MySQL shell履歴の削除

MySQL shellで実行したすべてのコマンドはmysqlクライアントによって履歴ファイルに保存されます:~/.mysql_history。これは、shellで入力したすべてのユーザー名とパスワードが履歴ファイルに記録されるため、作成したユーザーアカウントに対して危険です。

# cat /dev/null > ~/.mysql_history
8.コマンドラインでMySQLコマンドを実行しない

ご存じのように、端末に入力したすべてのコマンドは、使用しているshell(bashのshell履歴ファイルが~/.bash_historyに置かれているなど)に応じて履歴ファイルに格納されます。攻撃者がこの履歴ファイルにアクセスすると、そこに記録されているパスワードが簡単に表示されます。

コマンドラインにパスワードを入力することは非常に推奨されません。以下のようにします。

# mysql -u root -ppassword_

パスワードでMySQLに接続

コマンドライン履歴ファイルの最後の部分を表示すると、前に入力したパスワードが表示されます。

# history

コマンドライン入力履歴の表示

MySQLへの接続を推奨する方法は

# mysql -u root -p
Enter password:
9.特定のアプリケーションのデータベース・ユーザーの定義

サーバ上で実行されるアプリケーションごとに、アプリケーションに関連するデータベース・ユーザーを1人だけ設定します。たとえば、wordpressのWebサイトがあり、次のようにwordpressのデータベース・ユーザーを作成します。

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE osclass_db;
MariaDB [(none)]> CREATE USER 'osclassdmin'@'localhost' IDENTIFIED BY 'osclass@dmin%!2';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON osclass_db.* TO 'osclassdmin'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

また、使用されなくなったデータベース・ユーザーについては削除することを覚えておいてください。

10.追加のセキュリティプラグインとライブラリの使用

MySQLには、クライアントがMySQLサーバに接続されていることを検証するリクエスト、パスワードチェック、機密情報のセキュリティストレージなど、多くのセキュリティプラグインが含まれています。これらは無料バージョンで提供されています。

詳細はこちら:https://dev.mysql.com/doc/refman/5.7/en/security-plugins.html

11.MySQLパスワードを定期的に変更する

パスワードの定期的な変更は、一般的な情報/アプリケーション/システムセキュリティの推奨事項です。パスワードをどのくらい変更するかは、あなたの内部のセキュリティポリシーによって決まります。定期的にパスワードを変更すると、長期的にあなたの「覗き見者」を追跡することを阻止し、あなたのパスワードを取得し、MySQLサーバーにログインすることができます。

MariaDB [(none)]> USE mysql;MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourPasswordHere') WHERE User='root' AND Host = 'localhost';MariaDB [(none)]> FLUSH PRIVILEGES;
12.MySQL Serverパッケージを定期的に更新する

mysql/mariadbパッケージを定期的に公式倉庫から更新して、最新のセキュリティ更新とエラー改善を取得することを強くお勧めします。通常、オペレーティングシステムのデフォルトのパッケージは時代遅れです。

# yum update
# apt update

mysql/mariadb serverを変更した後、サービスを再起動します。

# systemctl restart mariadb     #RHEL/CentOS
# systemctl restart mysql       #Debian/Ubuntu

以上、Linux用のMySQL/MariaDBセキュリティベストプラクティス12件について、皆さんにお伝えした内容をすべて共有し、お手伝いしたいと思います。興味のある方は引き続き当駅の他の関連テーマを参照することができます。不足点があれば、伝言を歓迎します。友达の本駅に対する支持に感谢します!


ソース元URL:https://dopubox.com/article/p/db1505a808f9c1dc

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Image EXIF Blood Type Heredity Clothing Sizes
  • ジョン・レノンのギター4億5千万円で落札
    2024-05-30

    <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    歯科医師の技術で愛好家も納得するサウナを細部まで再現するミニチュア作家
    2024-05-30

    藤井聡太八冠、瀬戸際の戦い 将棋叡王戦、31日に第4局
    2024-05-29

    「現実をみんなに伝えたい」能登高校書道部が新作の書道パフォーマンスを披露…部員それぞれが抱える大地震の被害
    2024-05-30

    囲碁、一力遼本因坊が初防衛 余正麒破り三冠堅持
    2024-05-30

    “ひばり”の愛称にふさわしい美しいメロディ。ハイドンの『弦楽四重奏曲第67番』【クラシック今日は何の日?】
    2024-05-30

    日テレ、意思疎通できず信頼喪失 「セクシー田中さん」の調査結果
    2024-05-31

    吉田南さん、バイオリン部門6位 エリザベート音楽コン、奈良出身
    2024-06-01

    【大河ドラマ「光る君へ」本日第22話】紫式部と清少納言は「顔を合わせていなかった」?
    2024-06-01

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

    フジコ・ヘミングさん偲ぶ魂のピアノ旋律
    2024-06-03

    美術評論家連盟が「ガザ戦争に対する意⾒表明」を公開
    2024-06-04

    「CLAMP展」が国立新美術館で7月より開催。展示数は史上最多の約800点
    2024-06-04

    akakilikeの新作ダンス公演『希望の家』が松本・東京の2都市で上演へ
    2024-06-04

    「避難いただけるほうが一安心」珠洲で激しい揺れに耐えた仏像、奈良博で縁つなぐ
    2024-06-04

    ユージーン・スタジオが東南アジアに美術館を建設予定。新法人YES__pte.ltdを設立し、インドネシア・ジャカルタに美術館準備室を開設
    2024-06-04

    島左近の墓、京都の寺で発掘調査 三成の腹心、関ケ原後も生存?
    2024-06-05

    藤井、棋聖戦5連覇へ白星発進
    2024-06-06

    佐渡金山の世界遺産登録、「情報照会」勧告
    2024-06-06

    ©  Dopu Box
    💛