UbuntuでmDNS(マルチキャストDNS)をavahiとsystemdそれぞれ試した

よく、Hyper-Vで雑にVMUbuntuをいれたりミニPCにLinuxいれたりしているが、固定のプライベートIPを振って運用している。しかし、よく使わないものはIPアドレスを忘れるようになった。でもDNSサーバはなんか立てるのも面倒だしIPに変更があったとき追従してくれないのも面倒。ということでmDNSの出番。(設定したホスト名を忘れるという問題は見なかったことにします)

マルチキャストDNS(mDNS)はマルチキャストを利用してDNSサーバ無しに名前解決する。mDNSの要求に対して、ホスト名.local を持つサーバがマルチキャストに応答することで実現するため、同一ネットワークに属するような小規模なネットワーク向きらしい。類似のプロトコルにLLMNRがある。

mDNSを動かすには、リクエストを送る側とリクエストを受けるためにデーモンを動かす必要があり、mDNSリクエストを送るためにリゾルバも対応が必要なので注意。(mDNSにおいては相互に同じ立場なので呼び名がないっぽい?ものの、2つの役割で成り立ってるので、デーモンとリゾルバと呼んで区別している。デーモン=サーバ、リゾルバ=クライアントというようなイメージ。)

細かい話はあるかもしれないけど、とにかく使える状態にするための手順をメモ。

  • mDNS設定
    • Ubuntu + avahi の場合
    • Ubuntu + Systemd-resolve/Systemd-networkdの場合
  • その他
続きを読む

BtrfsのRAID1はデータの異常を検知・修正できるか確認した

ryozi.hatenadiary.jp

これをbtrfsでやってみた。結果としてはスクラブで検知してもう片方のミラーから復元する動きをした。

  • イメージファイルをループバックデバイスとして登録し、BtrfsのRAID1を構成する
  • イメージファイル上のデータを1byteいじる(HDDのデータ化けをエミュレーション)
  • btrfsのスクラブで検知・復元できるか試す

ただ、壊れた際の縮退動作は確認できなかった。多分、手順が間違ってる、syncしないとダメとかありそう。ログに出ないだけでやっている気はするが。

内容自体は前回と一緒で面白みがない内容です。

続きを読む

2FAはフィッシングに耐性はないが意味はあるし、パスワードマネージャと一緒に使えば充分に安全という話

news.yahoo.co.jp

【魚拓】二要素認証はもはや安全ではない、GmailやOutlookなどEメールに関する新たな警告(Forbes JAPAN) - Yahoo!ニュース

上記の記事は過剰に不安をあおっているなぁと感じた。こういうのがyahooニュースに出てしまう現実。

大本の記事は以下のようだ。

slashnext.com

ただどちらも事実はちゃんと書かれている。ここは同意

  • フィッシング攻撃を行うためのキットが安価に出回っているため参入障壁は下がっている
    • Astarothというらしい。おおもとの記事ではリバースプロキシタイプらしく、これはただの悪意あるサイト(ドメインも正規のものではない)を用意して、正規サイトへのリクエストを仲介して正規の内容を見せるぐらいのよくあるフィッシングサイトを作るだけっぽい
    • でも、これぐらいならHTTPリクエストを正規に向けてレスポンスを横流しするだけでできるので、安価とか参入障壁が下がっているとかは大して関係ない気がする。やるやつはとっくにやってる
  • 2FAはフィッシングを迂回できる(※2FAはフィッシング対策のための認証手法ではないので当然な話です)
  • 罠サイトには注意しましょう

ただやっぱり不安を煽りすぎだし、結局自社製品の宣伝をしているのでそういうことな気がする。(あと多分、御社の製品じゃフィッシング攻撃は防げないんじゃないですかね…どういう方法かは知らないですが、それができるならブラウザの標準機能にしますって…)

そもそも2FAはフィッシング攻撃を防ぐ目的の認証手法ではないですからね。(では何の目的があるか?考えてみてください!)

パスキー(≒FIDO2)が対策になるといっているのは、「オリジンとフィッシングサイトの区別」ができる点を含むためだからでしょう。逆に言えばオリジンとフィッシングサイトの区別ができないなら確かに2FAだろうがMFAだろうがパスキーだろうが突破できる攻撃パターンもある。DNSスプーフィングとTLS証明書のなりすましのたった2つの攻撃ができれば、オリジンに完全に成り済ませるため、こういった攻撃をされてはどうしようもありません。ほら「パスキーも突破された!!Webの崩壊!!!!」という記事を書いてくれてもいいんですよ。

しかし通常、これらができることは今どきは現実的ではありません。攻撃を成立させるための準備がまず大変です。言うは易し行うは難しです。実際の窃盗事件でもあまりにも用意周到すぎたら感嘆し面白おかしく脚色され映画化される。それぐらいの攻撃であり、そこまでされたらお手上げなのです。

フィッシング攻撃というのは、正規のドメインに成り済ませない時点で幼稚なレベルなものなんですが、他の攻撃と比べると準備のしやすく(Webサービスを公開するだけだから)、その割に人間なら騙せる確率があるから、流行っているわけです。

ユーザができる対応

そんなわけでフィッシングサイトに勝ちたい貴方のために。その方法を授けましょう。

ユーザができる現実的な対応は以下でしょう。

  1. パスワードマネージャでパスワードを管理する
    • 目的: オリジンとフィッシングサイトの区別できる仕組みを持っているため、フィッシングサイトに耐性がある
    • 目的: より強度の高いパスワードを現実的な負荷で使うため
  2. 同じパスワードを使わない
    • 目的: 流出時の芋づる式に攻撃されないようにするため
    • パスワードマネージャで自動生成させるだけでよく、現実的な負荷で運用できる
  3. 2段階認証(2FA)・多要素認証(MFA)を行う
    • 目的: パスワード流出しても攻撃を受けないようにするため
    • アプリ認証(Google Authenticator, Microsoft Authenticator等)があればそれで
    • 次点でメール認証があればそれで
    • SMS認証は後述する理由でいまいちなんですが、提供されている仕組みが他にないなら使ってください。(サービス提供側はそれを理由に、あなたは充分な対策をしていなかったと言い訳する可能性さえあります。)
    • よくあるのは「合言葉」や「秘密の質問」ですが、これらは記憶に頼るので、2FA, MFAとしては不適切ではあります。サービス提供側が残念です

これだけやっておけば充分です。フィッシングに勝つだけが目的なら1だけなんですが、他も行うとより安全なのでやってください。

後はネットリテラシーの問題です。変なWi-Fiを使わない。変なURLを踏まない、むやみに入力しないようにしましょう。URLで誘導してくる系はだいぶ怪しいと疑うのがいいです。フィッシング攻撃の大変なところは罠サイトにどうやって踏ませるかも1つなので。

パスキー(≒FIDO2)も使えるなら使っていきましょう。上記を全部自動的に満たしてくれるので強固です。サービス側が提供できていない、物理的な窃盗があったら不安とか、紛失時のリスクとか、まだプラクティスが定まっていない感がありますが(私が知らないだけだと思います)

次から次へと色々出てきて面倒だな、と思われますが、より良い方法は後から出てくるものですから仕方がありません。

あとはユーザ登録で上記の対応の障壁になるサービスは 使わない というのも手です。ググれば出る、AIに聞けば実装が出てくる今の時代、これぐらいのこともできないのは挨拶ができないのと一緒です。

(サービス提供側の話も書こうと思ったけど面倒になったので、徳丸本を読んだりNIST SP 800-63を見たり、OpenID Connectを採用して認証の大変な部分をIdPに任せたりしていい感じにやってください)

以降はおまけ。攻撃手法の話。

続きを読む