×
サイバー攻撃について
  • OriginValidatorを使う

  • AllowedHostsOriginValidatorを使う

  • ALLOWED_HOSTSを厳密にする

  • 接続後にもユーザー権限を確認する

  • workspace、room、tenantの所属確認を行う

from channels.routing import ProtocolTypeRouter, URLRouter
from channels.security.websocket import AllowedHostsOriginValidator
from channels.auth import AuthMiddlewareStack

application = ProtocolTypeRouter({
    "websocket": AllowedHostsOriginValidator(
        AuthMiddlewareStack(
            URLRouter(websocket_urlpatterns)
        )
    ),
})

3-9. OAuth・OpenID ConnectのCSRF


OAuth認可フローでは、攻撃者が自分の認可レスポンスを被害者のブラウザへ注入し、アカウントの対応関係を入れ替える攻撃が問題になります。

主な防御は次のとおりです。