ククログ(14)
ウェブサイトのクリックジャッキング攻撃対策: iframeによる読み込みを防止する方法
こんにちは。普段使っているウェブサイトやメールなどの仕組みをもっと分かるようになりたい福田です。
このたび、会社のセキュリティ対策の一環として、iframe
要素からこのウェブサイトを読み込むことができないようにしました。
私はこういった内容に詳しくないのですが、良い勉強の機会だと思って詳しい人に教えてもらいながらやってみました。
このウェブサイトの公開にはApacheを使っているので、.htaccess
ファイルを使って設定を行いました。
この記事では、私のようにこういった内容に興味はあるけれど詳しくない、という人向けに今回行った内容を紹介します。
配信画面に機密情報を映さないための対策
Groongaという全文検索エンジンの開発に参加している橋田です。
Groongaでは、YouTubeチャンネルを開設しており、毎週火曜日にYouTube Liveを開催しています。
このような外部向けの配信には、機密情報を配信に映してしまうという情報漏洩のリスクがあります。 このリスクの対策をクリアコード社内で検討したため、今回その結果を紹介したいと思います。
RubyKaigi 2023 - Ruby + ADBC - A single API between Ruby and DBs #rubykaigi
WebExtensions用Native Messaging HostをmacOS向けに安全に配布する
結城です。
Firefox、Thunderbird、Google Chrome、Microsoft Edgeなどのアプリケーション用の拡張機能(WebExtensions)は、セキュリティ上の制限のために、任意のローカルファイルへのアクセスや外部の任意のプロセスの起動といった処理を行えません。 そういった処理が必要な場合は、処理を代行する小型のネイティブアプリケーションであるNative Messaging Hostを別途開発して、API経由で実行する1必要があります。
当社のメール誤送信対策製品「FlexConfirmMail」のThunderbirdアドオン版も、一部の機能でNative Messaging Hostを使用しています。 このNative Messaging Hostは今までWindows用の物のみを提供していましたが、当社の法人向けThunderbirdサポートサービスのお客さまからのご要望に基づいて、FlexConfirmMail 4.1.5からはmacOS用のバイナリも提供するようになりました。 この過程で、macOS向けにNative Messaging Hostを頒布する際の知見が溜まったため、その要点を簡単に解説します。
-
Native Messaging Hostだけは例外的に、ネイティブアプリケーションであってもAPI経由で起動できるようになっています。 ↩
プレゼン資料の画面共有中にデモ用の端末の画面を安全に映したい!
結城です。
コロナ禍以後、オンラインでの会議や技術イベント登壇の機会が増えました。 登壇時の発表は大抵の場合、自分が操作しているPCの画面を共有して配信する形で行うことになります。
このとき、ただ漫然と画面全体を共有してしまうと、社外秘の文書や、プライバシー情報を含むメッセージの通知など、人に見せてはいけない情報までもが画面共有されてしまう恐れがあります。 画面共有での「意図しない情報が参加者に見えてしまう」事による情報漏洩リスクについて、皆さんはどのように対策を取っているでしょうか?
当社のメンバーが関わる場面でよく登場するプレゼンツールRabbitのバージョン3.0.1以降には、プレゼン発表のウィンドウ内に端末の画面を埋め込む機能が含まれています。 デモンストレーションの内容が端末エミュレータ上での操作だけで済む場合、この機能を使えば、誤配信による情報漏洩のリスクを低減し、より安全にライブデモを行えます。 この記事では、この機能の具体的な使い方をご紹介します。
事前情報:RubyKaigi 2023 - Ruby + ADBC - A single API between Ruby and DBs #rubykaigi
RubyKaigi 2023でRuby + ADBC - A single API between Ruby and DBsというADBCの話をする須藤です。RubyKaigi 2023での私の話をより理解できるようになるために簡単に内容を紹介します。2023-04-27に開催されたSMSさん主催のRubyKaigi 2023 予習イベント ~推しトーク紹介~でもちょっと紹介しました。
なお、クリアコードはシルバースポンサーとしてRubyKaigi 2023を応援しています。
トランクベース開発での競合の解消の仕方
結城です。
1つ前の記事では、フリーソフトウェア・OSS開発プロジェクトで採用されていることの多いブランチ運用スタイルである「トランクベース開発」の概要を紹介しました。
どのようなブランチ運用を取っていても、チームでの開発で複数人で並行して作業していると、変更同士が競合1しがちです。 しかし、競合を解消する方法をインターネットで検索して、見つけた記事に書かれたコマンドをやたらめったらコピペ実行しても、期待した結果を得られなかったり、ともすれば作業の成果を失ってしまったりもします。 競合を解消するためには、それぞれのブランチがどのような関係にあるかを正確に把握した上で、的確に操作しなくてはなりません。
この記事では、トランクベース開発で運用されているGitリポジトリで起こりやすい競合の場面のそれぞれについて、競合を解消するための考え方と具体的な手順を解説します。
-
例えば双方が同じファイルの同じ行を変更していた場合、行単位で変更を管理するGitではどちらの変更を先に適用しても支障が生じるため、何らかの解決が必要です。また、変更した行が極めて近接している場合も、Gitは双方の変更をうまく1つにまとめられず、解決が必要になることがあります。このような状況は「衝突」や「コンフリクト」とも言い、ここでは「競合」に統一することにします。 ↩
研鑽Rubyプログラミング
Rubyコミッターの須藤です。
2023年4月に「すでにRubyをよく知っている」人向けの書籍研鑽Rubyプログラミングが出版されました。私はRubyをよく知っているので読む資格があるはず!
Open Build Serviceを利用してパッケージを公開する方法
はじめに
自由なソフトウェアを開発・配布する際、パッケージを作成し、独自にリポジトリを公開するということがあります。 導入障壁を下げ、より多くの人に使ってもらいやすくするという意味では有用です。 その反面、aptやdnfコマンドでパッケージをインストールできるようにするために、リポジトリの公開まですべて自前で頑張ろうとするのはなかなか大変です。
そこで、パッケージの作成や配布のサービスを提供しているOpen Build Serviceのインスタンスを利用する方法を紹介します。(本記事は、debやrpmといったパッケージをビルドしてみたことがある人を想定しています)