先日、sql_firewallというPostgreSQLの拡張モジュール(EXTENSION)をリリースしました。 https://news.ycombinator.com/item?id=10109566 https://github.com/uptimejp/sql_firewall このモジュールは、PostgreSQL上で実行可能なSQLを制限することで、SQLインジェクションを防ぐことを目的としたものです。 今回はこの sql_firewall について、その仕組みと使い方を簡単にご紹介します。 ■sql_fiewallの仕組み sql_firewallには、以下の3つの動作モードがあります。 学習モード(learning) 警告モード(permissive) 防御モード(enforcing) 学習モードではPostgreSQL上で実行可能なSQL文を学習させることができます。