[Rails]パスワードなどログ出力させない設定方法

Pocket

Ruby on Rails では、デフォルトで name=”password” のHTML要素はログに出力されないように設定されています。この設定によって、ログファイルを参照する権限がある人であっても、ログファイルからユーザーのパスワード情報をみることができなくなります。

スポンサーリンク

設定方法

なお、動作確認したのは、Ruby on Rails 5.2 です。ホントは「Ruby」も「Rails」も使いたくないのですが、不本意ながら使ってます。。。ということは、内緒です。

設定ファイル:

config/initializers/filter_parameter_logging.rb

設定内容

# 以下の例では、name 属性が'password', 'pwd', 'obutsu'の要素の
# post値などとしてログ出力されくなる
# "obutsu"=>"[FILTERD]" のようにログ出力される(汚物は見せたらいけません!)
Rails.application.config.filter_parameters += [:password, :pwd, :obutsu]

内部の人がパスワードなどを見ることができてしまうと、どうしても悪いことに使いたくなる人がでてきます。なので、この設定の主目的は内部犯行を防ぐことだと考えるとよいでしょう。性善説にたってセキュリティ対策を行うことは、世界中で不可能でしょう。

WEBサービスのセキュリティ対策としてこの設定の必要性を訴えることも多いかもしれませんが、フルにアクセスされた場合でもログファイルから重要な情報が漏れることを防ぐことが主目的だと考えてはいけません。おまけ程度の気休めにしかなりません。

ところで、普段みなさんが使用されているWEBサービスなどでも、

  • パスワードが平文で保存されている
  • システム管理者であれば、パスワードが簡単に確認できる

といったシステムは存在すると思います。もちろんその事実は公開されず、何か問題が起きない限りは隠されるこになります。が、今は亡き「宅ふぁいる便」のように問題が発覚すると、公開されニュースなどでも取り上げられます。

公開されるだけ「まだまし」とも言えます。

とりあえずは、いろいろなWEBサービスで同じパスワードを使用しないことが自身を守る最低限の対策であると思います。お気を付けください。

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *