UTCTags:Security久しぶりに開催された下記読書会に参加いたしました。書籍は購入して、この読書会をたよりに読み進めようと思ってましたが、毎回「へぇー」で終わり。電子書籍を購入していた人は「マイ本棚」を作成すると、アップデート版が入手できることを教えてもらい、更新版をゲット。印刷本は再度購入する必要があるそうですが、印刷本+電子版で購入した私はセーフ、でした。Firewallも再度機能確認してみました。Firewallの組み合わせで、重要な情報を扱うデータベースに追加する事で、セキュリティを更に強固にすることが可能です。Webで公開しているアカウントにFirewallを設定して,外部からの入力フィルターをアプリケーションのフレームワークのEscape処理のみに依存しない。社内で利用しているアカウントにWHERE句を利用しない参照処理をさせないように制限する。管理MySQL8.0におけるROLEによるユーザー権限管理についての確認。Userを利用する事で、ROLEと同じように権限をまとめて管理する事が出来るようになりましたが、MySQL8.0からは正式にROLEが追加されて、複数ROLEの切り替えやROLEのネストが出来るようになります。これにより、多くのユーザーを管理するような環境では、権限管理工数やミスが削減出来る事になるかと思います。5.7の出版記念第一弾として、MyNA(日本MySQLユーザ会)名義でイベントを行ったので、その際使用したスライドを紹介しておこう。今回紹介した新機能のカテゴリは2つ。レプリケーションとセキュリティである。レプリケーションはMySQLの運用と切っても切り離せないほど重要なものであり、そしてデータベースサーバーにとってセキュリティが重要であることは、言うまでもないだろう。今回のバージョンでは、レプリケーションが大きく進化している。Auditのログローテーションについての追加の手法。合わせて、NFS上に監査ログを設定していて、万が一NFSが一時的に切れてしまった場合の挙動の確認。mysqlutilitiesを利用したローテーションmysqlauditadmin.exe上記は、前回のブログ記事で紹介。Logのローテーション今回は、CRON等で定期的に実行して、自分のカスタマイズしたいようにログをシェルでローテーションする方法です。Audit機能の改善MySQL5.7.13以降で、全てのユーザー若しくは、特定ユーザーが特定のテーブルに対して行った、read,insert,update,delete処理のみを監査出来るようになりました。フィルター作成はJSONフォーマットで定義するようです。この機能は、以前から待ち望んでいたので、嬉しい機能の一つです。こちらは、confidentialテーブルに対してselectしたSQLだけ監査するようにフィルターしてある場合の監査ログです。特定のアクセス権限を纏めて、管理する事が出来るようになりました。複数ユーザー権限をまとめて管理出来るような、ROLEの様な機能になります。ListベースのDBアクセス制御(ステートメントベース)をUserアカウントとSQLステートメントの組み合わせで実装する事が出来ますが、Publicクラウドを含む環境でWebサイトを運用されている場合は、Replication機能と組み合わせてご利用される場合もあるかと思います。Firewallには、全部で4つのテーブルがありますが、(Information_Schemaに2つMySQLに2つテーブルが準備されています)information_schemaにあるテーブルに関しては、レプリケーション対象外なので実際にSlaveに同期されるのは以下の2つのテーブルという事になります。XSiteどのようなシステムにも完全が無いように、Webサイトのセキュリティに気を付けてコーディングしたり、セキュリティ診断しながら運用しても、どこかしら運用している中でセキュリティ対策漏れが出て来てしまう事が往々にしてあります。それらのセキュリティ問題は、社内システムに関しても同様です。非常に高価なものが多いです。5.7.6DMRMySQL5.7.6DMRが今月リリースされて、色々な機能追加や改善が施されているので、DMRのうちに少しずつ検証してRCとGAに備えたいと思います。Noteshttp://dev.mysql.com/doc/relnotes/mysql/5.7/en/index.htmlダウンロードサイトからDMRをダウンロードしてきてあります。