タグ

sessionに関するsomathorのブックマーク (25)

  • systemd serviceから呼ぶシェルではsudoではなくsetprivを使う - 赤帽エンジニアブログ

    Red Hatの森若です。 自分でsystemdのservice unitを作るときに、起動用のいくつかのコマンドを記述したシェルスクリプトを呼ぶ事は(理想的ではないですが)あるかと思います。 今回はこの場合に、sudoを利用するとまずい理由を説明して、かわりにsetprivを使うほうがよいという話です。 例題用のservice 実行してみる 別のcgroupだと何がまずいのか? 対策はsetprivコマンド 例題用のservice sudoによるまずい動作を確認するためのできるだけ単純な例として、hoge.service を用意します。 /opt/hoge/hoge.sh #!/bin/bash sudo -u moriwaka sleep 5000 /etc/systemd/system/hoge.service [Unit] Description=hoge [Service] Ty

    systemd serviceから呼ぶシェルではsudoではなくsetprivを使う - 赤帽エンジニアブログ
  • おーい磯野ー,Local StorageにJWT保存しようぜ!

    ある日,HTML5のLocal Storageを使ってはいけない がバズっていた. この記事でテーマになっていることの1つに「Local StorageにJWTを保存してはいけない」というものがある. しかし,いろいろ考えた結果「そうでもないんじゃないか」という仮定に至ったのでここに残しておく. 先の記事では,「Local StorageにJWTを保存してはいけない」の根拠として「XSSが発生した時,攻撃者がLocal Storageに保存したJWTを盗むことが出来てしまう」といったセキュリティ上の懸念事項が挙げられていた. これに対し,クッキーを用いたセッションベースの認証では,セッションIDをクッキーに保存する.クッキーにHttpOnlyフラグをつけておけば,JavaScriptからはアクセスできず,XSSが発生しても攻撃者はセッションIDを読み取ることが出来ない. 一見すると,これは

    おーい磯野ー,Local StorageにJWT保存しようぜ!
  • "JWT=ステートレス"から一歩踏み出すための考え方

    おはようございます、ritouです。 この話に乗っかっていきます。 3行で ログアウト時にJWTを無効化できない実装は今後脆弱性診断で「OWASP Top 10 2021違反」と指摘されるようになりそう(今も個別にされてるかもしれないけど) JWTは単純なフォーマットなので、ステートレスなセッション管理においてログアウトしたときに文字列自体を無効化できない件は独自エンコード方式(一般的にフレームワークのCookieストアと呼ばれているもの)でも起こり得る 「セッションID vs JWTで内包」 以外にも 「セッションIDをJWTに内包」もあり得る。既存の機能を残しつつ「JWTで武装」する選択肢も考えてみてはどうか。 ステートレスなセッション管理でログアウトの際に文字列自体を無効化できない問題 これは前から言われていますし、駆け出し何とか勢のQiita記事に書かれるぐらいには一般的です。 2

    "JWT=ステートレス"から一歩踏み出すための考え方
  • CookieとWebStorageとSessionについてのまとめ - Qiita

    ざっとこんな感じですかね? WEBストレージは、保存容量が大きいですね。幅があるのはブラウザによって違うからです。あとはサーバー側にいちいちデータの通信をしないところがクッキーとの大きな違いですね。 ちなみに、ローカルストレージはオリジン単位(プロトコル://ドメイン名:ポート番号)でデータを保存するので、当然、別ウィンドウやブラウザを閉じてもデータは共有され続けます。一方、セッションストレージは同じドメインのサイトを別々のウィンドウで開いていても、それぞれが別のsessionStorageとなることに注意っす。 クッキーはWEBストレージより有効期限が自由に設定できますね。 クッキーはサーバー側からクライアントに対してクッキーをセットするようにレスポンスを返す必要があるので、サーバー側の言語で書かれることが多いです。一方、WEBストレージは完全にクライアント側の操作なので基的に値の取得

    CookieとWebStorageとSessionについてのまとめ - Qiita
  • JWT・Cookieそれぞれの認証方式のメリデメ比較 - Qiita

    JWTとは JSON Web Tokenの略。ジョットと読むらしい。 ざっくりいうとJsonに電子署名を加え、URL-Safeな文字列にしたTokenのこと 正確にいうと、電子署名を使用する方式はJWS(JSON Web Signature)と呼ばれ、別途暗号化を使用するJWE(JSON Web Encryption)も存在する。よく見かける説明はJWS方式のほう。 JWS方式の場合、電子署名であり暗号化ではないため、中身を見ることは可能。但し改ざんはできない、という仕組み。 実際のユースケースで言うと、サーバ側で認証情報が入ったJsonを加工(電子署名を加える等)し、JWTにしたのち、それを認証Tokenとしてクライアントに渡す。クライアントはそのTokenを認証Tokenとして使用する。 仕組みについては調べればたくさん出てくるのでそちらを参照したほうが良いかと思います。 この記事では

    JWT・Cookieそれぞれの認証方式のメリデメ比較 - Qiita
  • HAKATA Test Night #1 で「トークンリフレッシュ処理を含むAPIClientのテスト」について喋ってきました #hakata_test_night - pixiv inside

    おばんです、博多に行った際に一番美味しかったのは明太子だと思った田中です。「お前はまだ当の博多グルメを知らない」的なマサカリ歓迎です。 さて、今回は先日博多で開催されたHAKATA Test Night #1で発表した内容についてまとめます。 HAKATA Test Night #1 - connpass 発表について トークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_night from Kenji Tanaka 概要 Access/Refresh Token形式の通信処理は簡単にまとめると以下の手順を踏みます。 Access Tokenが有効期限切れだった場合に、Refresh Tokenを使ってAccess Tokenを更新する Refresh処理が成功したら、新しく取得したAccess Tokenを使って元の通信処理をRetryする これらの一連

    HAKATA Test Night #1 で「トークンリフレッシュ処理を含むAPIClientのテスト」について喋ってきました #hakata_test_night - pixiv inside
  • JWT認証、便利やん? - ブログ

    どうして JWT をセッションに使っちゃうわけ? - co3k.org に対して思うことを書く。 (ステートレスな) JWT をセッションに使うことは、セッション ID を用いる伝統的なセッション機構に比べて、あらゆるセキュリティ上のリスクを負うことになります。 と大口叩いておいて、それに続く理由がほとんどお粗末な運用によるものなのはどうなのか。最後に、 でもそこまでしてステートレスに JWT を使わなくてはいけないか? とまで行っていますが、JWT認証のメリットはその実装のシンプルさとステートレスなことにあります。現実的には実際はDB参照とか必要になったりするんですが、ほとんど改ざん検証だけで済むのは魅力的です。トレードオフでリアルタイムでユーザー無効化ができないことくらいですかね。ライブラリなんて使う必要ないほどシンプルだし、トレードオフさえ許容できればむしろ、なぜこれ以上に複雑な認証

    JWT認証、便利やん? - ブログ
  • どうして JWT をセッションに使っちゃうわけ? - co3k.org

    備考 2018/09/21 22:15 追記 2018/09/20 12:10 に公開した「どうして JWT をセッションに使っちゃうわけ?」というタイトルが不適切だとご指摘をいただいています。 その意見はもっともだと思いますので、現在、適切となるようにタイトルを調整しています。 ご迷惑およびお騒がせをして大変申し訳ございません。 文の表現についても改善の余地は大いにありそうですが、こちらは (すでにご意見を頂戴している関係で、) 主張が変わってしまわないように配慮しつつ慎重に調整させていただくかもしれません。 はあああ〜〜〜〜頼むからこちらも忙しいのでこんなエントリを書かせないでほしい (挨拶)。もしくは僕を暇にしてこういうエントリを書かせるためのプログラマーを募集しています (挨拶)。 JWT (JSON Web Token; RFC 7519) を充分なリスクの見積もりをせずセッシ

  • Speeding up TLS: enabling session reuse

    Session reuse is one of the most important mechanisms to improve TLS performance: by submitting an appropriate blob to the server, a client can trigger an abbreviated handshake, improving latency and computation time. There exist two distinct ways to achieve session reuse: session identifiers as described in RFC 5246 and session tickets as depicted in RFC 5077. Update (2018-08) While the content o

  • DAU 100 万人突破! 急成長を支える Shadowverse のインフラ技術

    2017/06/01 Game Tech SessionAWS Summit Tokyo 2017~

    DAU 100 万人突破! 急成長を支える Shadowverse のインフラ技術
  • Web Storage: セッショントークンのマシな手段 ― cookieとセキュリティ面を比較してみる | POSTD

    最近、私は「セッショントークンを、cookieの代わりに Web Storage (sessionStorage/localStorage)に保存するのは安全ですか?」ということを尋ねられました。このことについてGoogleで検索したところ、検索結果の上位のほとんどが「Web storageはcookieに比べてかなりセキュリティが弱く、セッショントークンには不向きである」と断言していました。透明性のため、私はこの逆の結論に至った理論的根拠を公に書くことにしました。 Web Storageに関する議論の中核として言われるのは、「Web StorageはsecureフラグやHttpOnlyフラグといったcookie特有の機能をサポートしていないため、攻撃者が容易に盗み取ることが可能」というものです。path属性についても言及されます。私は、これらの機能それぞれについて調べてみました。そして、

    Web Storage: セッショントークンのマシな手段 ― cookieとセキュリティ面を比較してみる | POSTD
  • GitHub - remix-run/history: Manage session history with JavaScript

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - remix-run/history: Manage session history with JavaScript
  • Web Storage: the lesser evil for session tokens

    Published: 31 May 2016 at 14:38 UTC Updated: 01 February 2021 at 11:33 UTC I was recently asked whether it was safe to store session tokens using Web Storage (sessionStorage/localStorage) instead of cookies. Upon googling this I found the top results nearly all assert that web storage is highly insecure relative to cookies, and therefore not suitable for session tokens. For the sake of transparenc

    Web Storage: the lesser evil for session tokens
  • SSLセッションキャッシュを共有したいだけの人生だった

    @nojima (Cybozu, Inc) nginx tech talks 2016-02-08 http://eventdots.jp/event/578421

    SSLセッションキャッシュを共有したいだけの人生だった
  • Consulを利用したTLSセッションチケットの自動更新 | メルカリエンジニアリング

    Site Reliability Engineering Team(通称SRE)の@cubicdaiyaです。最近チーム名が変わりました。 今回はConsulを利用して複数台のnginxサーバのTLSセッションチケットを自動更新する仕組みについて紹介します。 TLSセッションチケットは簡単に言うとTLSのセッション情報を暗号化してクライアント側に保存することで HTTPS通信時に行われるTLSハンドシェイクの手順を省略してネットワークレイテンシを削減するための仕組みです。(詳細については一番下の参考情報を御覧ください) 似たような仕組みとしてTLSセッションキャッシュがありますが、こちらはセッション情報をサーバ側に保存します。 HTTPS通信ではTCPのハンドシェイクに加えてTLSのハンドシェイクが必要になるのでHTTP通信よりもネットワークのレイテンシが大きくなりますが、 これらの仕組み

    Consulを利用したTLSセッションチケットの自動更新 | メルカリエンジニアリング
  • 前方秘匿性 (forward secrecy) をもつウェブサイトの正しい設定方法

    前方秘匿性(forward secrecy)とは、以下のような性質を指します。 公開鍵暗号の秘密鍵のように、比較的長期に渡って使われる鍵が漏えいしたときでも、それまで通信していた暗号文が解読されないという性質 鍵が漏れることも想定せよ――クラウド時代における「楕円曲線暗号」の必然性 - @IT 鍵が攻撃者や諜報機関など第三者の知るところとなった場合でも、それまで通信していた暗号文が解読されないようにしないといけない、という考え方とともに、最近 HTTPS を利用するウェブサイトにおいても導入が求められるようになってきた概念です。 前方秘匿性を満たすウェブサイトの設定方法については、TLSの暗号化方式をECDH_RSAあるいはECDHE_RSAに設定すれば良い、と述べている文献が多いです。 ですが、ほとんどのウェブサーバにおいて、それは誤りです。 なぜか。 通信を暗号化する鍵(セッション鍵)

  • CSRF 対策用トークンの値にセッション ID そのものを使ってもいい時代は終わりつつある - co3k.org

    CSRF 脆弱性対策には攻撃者の知り得ない秘密情報をリクエストに対して要求すればよく、そのような用途としてはセッション ID がお手軽でいいよねという時代があったかと思います。 いや、もちろん、 CSRF 対策の文脈だけで言えば今も昔も間違いというわけではありません。セッション ID が秘密情報であるのは Web アプリケーションにおいて当然の前提ですので、 CSRF 対策としてリクエストに求めるべきパラメータとしての条件はたしかに満たしています。 たとえば 『安全なウェブサイトの作り方』 改訂第6版では以下のように解説されています。 6-(i)-a. (中略) その「hidden パラメータ」に秘密情報が挿入されるよう、前のページを自動生成して、実行ページではその値が正しい場合のみ処理を実行する。 (中略) この秘密情報は、セッション管理に使用しているセッション ID を用いる方法の他、

  • セッション管理の要注意点 - Qiita

    Webアプリを開発するに当たって、「自分でセッションを書きたい」なんて思う人はおそらく1%もいないでしょう。とはいえ、標準で備わっているセッション機能に問題や機能不足があって、手を入れざるを得なくなる、という場面も多々存在してしまいます。ここでは、セッションまわりでよく問題になる部分について触れてみましょう。 そもそも、セッションとは Webアプリにおけるセッションは、 接続ごとに固有の識別子(セッションID)を割り当て、その接続を使った通信のたびにセッションIDを送受信する セッションIDと紐付ける形でデータを持って、アクセスごとに値を読み出す。 データが書き変われば、書き戻す。 というような流れで、「接続ごとにデータを保存する」ということを実現しています。 セッションとCookie 上の1にあるような「通信のたびにセッションIDを送受信する」ために使われるのがCookieです。ただ、C

    セッション管理の要注意点 - Qiita
  • 細かすぎて伝わらないSSL/TLS

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 「細かいと言うより長いよね」 はじめに こんにちは。ATS の脆弱性を発見した小柴さんや ATS に HTTP/2 の実装を行っている大久保さんと同じチームの一年目、匿名社員M さんからいじられている新人です。今回ありがたい事に、こういったすごい方々を含めモヒカン諸先輩方より「何か書かないの?」「いつ書くの?」という数々のプレッシャーお言葉をいただきました。 というわけで、SSL/TLS の Session 再開機能に関して書いていこうかと思います。 SSL/TLS は機密性、完全性そして真正性に対して安全な通信を行うための仕組みです。しかし、この仕組みは暗号技術を多用し特に接続において複雑なプロトコルを用い、Client, Se

    細かすぎて伝わらないSSL/TLS
  • CORSでハマったことまとめ - pixiv inside [archive]

    こちらは ピクシブ株式会社 Advent Calendar 2014 の12/16の記事です。 こんにちは、エンジニアの@dnskimoです。 先日、はじめてCORSを実装する機会があったので、覚書がてらまとめておきたいと思います。 CORSとは Cross-origin resource sharingの略です。 読み方は「コルス」でいいんでしょうか? Same-Origin Policyに弾かれずに、異なるドメイン間でリソースを共有する仕組みです。 2014年1月にW3C勧告になり、JSONPに替わる方法として徐々に普及してきているようです(要出典)。 アクセスコントロールの仕様も定義されているので、特定のサイトからのみ利用可能なAPIを作る際などに便利です。 JSONPのような「裏ワザ」的な方法ではないところも個人的に好みです。 詳しいことはネット上に素晴らしい記事がたくさんあるので

    CORSでハマったことまとめ - pixiv inside [archive]