年末年始大学授業も忙しくて、セキュリティノートを書くことをずいぶん忘れてしまった。
データベースをめぐるセキュリティホール、脆弱性などセキュリティ問題は、ほとんどSQLインジェクションでしょう。
#mysql
default port:3306
攻撃手法:
1,弱いパスワード、デフォルト設定そのまま使う:アカウント名:'localhost'@'@'' パスワードは任意
2,DOS攻撃(shellおよびHigh権限が必要)
3,CVE-2012-2122など
#PostgreSQL
default port:5432
攻撃手法:
1,弱いパスワード設定: postgres postgres
2,buffer-overrun(バッファオーバーラン):CVE-2019-10164
3,CVE-2014-2669
4,CVE-2018-1058など
#Oracle
default port:1521
1158
8080
210
それぞれは、データベースポート、Oracle-EMCTL、Oracle-XDB、Oracle-XDB FTPサービス。
問題点:パラメータの設置ミス:
1,UTL_FILE_DIRは*にする(この場合、攻撃者は既知のorapworclファイルを入れ替え、低権限ユーザーもSYSパスワードを再設置できる)
2,AVASYSPRIV
EXECUTE ANY PROCEDURE
DBMS_IJOBそれぞれは低権限ユーザーに与えてしまう。
対応:
OSファイルへのアクセス用変数(もしくはパラメータ)、書き込みなど、禁止or削除
マニュアルに従って設置する(人間はセキュリティの最大の弱点)
ペネトレーションテスト、ツールを使い、定期診断を行う。
#参考文献:
https://docs.oracle.com/cd/E16662_01/doc/timesten.1121/b56057/accesscntl.htm