一般ユーザー向けのNoScript設定ガイド――快適さとセキュリティを両立する方法
NoScriptセキュリティスイート(NSS)は、実に素晴らしいツールです。Firefoxや各種Chromiumベースのブラウザ向け拡張機能として提供されており、Webページ上のスクリプトやその他の要素をブロックすることで、騒がしく使いにくい「モダン」なインターネットを、静寂に満ちた空間へと変えてくれます。美しく、エレガント。結果として、高速で静かなブラウジング体験が得られ、うるさいポップアップも余計な負荷もありません。スクリプトが必要なときは、選択的に有効化すればよいのです。ただし、これはテック好きな人にとってこそ有効な話です。
残念ながら、いわゆる「普通の人々」、つまりオタクではない人たちにとっては、これは解決策になりません。サイトごとの許可設定を管理したり、スクリプトが動かないときに何が壊れているのかを判断したりするのは、大きな負担です。では、制限のない自由なブラウジングの柔軟性を保ちながら、NoScriptの優れた機能の一部を活用したい場合はどうすればよいのでしょうか?実は、そのための「処方箋」があるかもしれません。ご覧ください。
「すべて許可、ただし例外あり」方式
通常、NoScriptはデフォルト拒否(default-deny)型のツールです。信頼できる特定のドメインのみをホワイトリストに登録します。しかも、セッション単位で一時的に許可することも可能です。素晴らしい仕組みですが、厳密さと規律が求められます。かといってデフォルト許可(default-allow)にしてしまうと、そもそもNoScriptを使う意味がありません。しかし、こここそがこの拡張機能の真価を発揮するところなのです。
デフォルトでスクリプトを許可
これまで公開した2つのNoScriptガイドで説明したように、権限には「デフォルト」「信頼済み(Trusted)」「非信頼(Untrusted)」の3つのレベルがあります。デフォルトはスクリプトをブロックしつつ、画像やメディアなど一部のWeb要素は許可します。信頼済みはスクリプトを必須とし、(オプションで)それ以外のすべてを許可します。非信頼はすべてをブロックします。信頼済み+非信頼はうまく連携します。ページ上で一時的にすべてを許可(信頼)しても、非信頼ドメインは引き続きブロックされたままです。つまり、保護と利便性の両方をある程度得られるのです。この原則を、一般ユーザー向けに調整してみましょう!

デフォルトゾーンには、日常的なブラウジングに必要な一般的な要素をいくつか許可するよう設定します。通常、これにはscript、object、media、frameが含まれます。その他の要素は、実質的にオプションです。要点をまとめると、以下の通りです:
- WebGL ― WebGLを許可しない場合、ブラウザでハードウェアアクセラレーションによる2D/3Dグラフィックスが使えず、ソフトウェアレンダリングに頼ることになります。デメリットは、バッテリー駆動デバイスでのバッテリー寿命の低下や、場合によってはページ描画が遅くなること。メリットは、ハードウェアグラフィックススタックのバグや問題にさらされないことです。ほとんどの場合、WebGLを使用しても問題ありません。
- フォント ― これは議論の多いテーマで、過去にも詳しく取り上げてきました。リモートフォントは問題を引き起こす可能性があり、ネット上のセキュリティ騒動の大きな発生源でもあります。ウェブサイトは完結したソリューションであるべきで、サードパーティのソースから無作為に読み込むのは怠惰だからです。セキュリティやプライバシーの観点からの懸念もありますが、繰り返しになりますが、NoScriptは優れた解決策を提供してくれます。フォントをブロックするとページが多少「見栄えが悪く」なることもありますが、その一方で、現代のインターネットがどれほど脆く、ひどく設計されているかを目の当たりにすることになります。
- Fetch ― 基本的にリクエストの処理に使用されます。リダイレクトやエラーなどを含め、サイトが「正しく」応答するように、許可しておくべきです。
- Ping ― エンドユーザーにとって価値がなく、サーバーにのみ意味のあるものです。ping属性は、ユーザーがハイパーリンクをたどった際に通知を受けるURLのリストを指定します。言い換えれば、無用で無意味なトラッキングのもう一つの経路となり得ます。したがって、有効化する必要はありません。
- Noscript ― スクリプトが無効の場合、HTMLページのソース内のnoscript要素で囲まれたコンテンツが表示されます。今回はスクリプトを許可したいので、あまり関係ありませんが、許可しておいても害はありません。
- Other ― ページに含まれる可能性のあるその他すべての要素。許可しても大きな問題はないでしょう。
この設定を行えば、ユーザーはまるで中断がないかのようにWebサイトを閲覧できます。デフォルトですべてが機能し、致命的な問題に遭遇することはないはずです。しかし、さらにできることがいくつかあります。そしてNoScriptがそれを可能にしてくれるのです。
XSS対策と非信頼ドメイン
NoScriptのもう一つの優れた利点は、クロスサイトスクリプティング(XSS)攻撃からの保護です。技術的な説明は少々長くなりますが、要するに、スクリプトを許可している状態でも(それこそNoScriptを使う主な理由ですが)、その他の機能の恩恵を受けられるということです。つまり、この点でも保護されているわけです。

さらに、特定のドメインを非信頼に設定すれば、デフォルトゾーンがかなり寛容で開放的であっても、迷惑なサイトを排除できます。特に、広告やトラッキング専用のサードパーティドメインに対して有効です。どのサイトでも、NoScriptアイコンのメニューを展開し、各ドメインの権限を設定できます。「カスタム」オプションを使うことも可能です。

例えば、フォントをすべてブロックしつつ、特定のページセットでのみ許可したい場合があります。同様に、特定のドメインを除外すれば、複数のドメインにまたがってWebアクティビティが簡単に追跡・関連付けされるのを防げます。ブラウザ側も強化されたブラウジング保護やサードパーティCookieの削減・削除などでこの問題の解決を試みていますが、NoScriptを使えば、さらに堅牢なソリューションを実現できます。広告ブロックとの併用もおすすめです。リストに登録し忘れたドメインがあっても、広告ブロック拡張機能がスクリプトの読み込み時にWebページを浄化してくれるからです。
実際に機能するのか?
はい、かなりうまく機能します。筆者はNoScriptとuBlock Originを並行してかなりの期間使用しています。実際、さまざまな組み合わせをテストしました。何もなし、どちらか片方、両方の併用、異なるブラウザ設定などです。驚くことなく、最適な組み合わせはNoScript + UBOでした。後者にも、Webページ上のあらゆる迷惑な機能をブロック・浄化する能力があるからです。唯一目立つ違いは、サードパーティのフォントが読み込まれないこと。それはむしろ好都合です。

スクリプトが無効だと検索ボックスやCookieオーバーレイは表示されませんが、ここでは表示されています。
とはいえ、いつでもドメインの状態を変更してページを再読み込みできます。カスタムゾーンを設定することも可能です。大多数のページではフォントを無効にしつつ、お気に入りの少数のドメイン(かつ信頼済みゾーンに含まれていないもの)でのみ許可する、といった具合です。こうすれば、特定のページで1つの要素を許可するために、他の設定や保護を犠牲にする必要はありません。

この方法を試すと、次のような興味深い発見もあるでしょう:
- サイトが「コア」コンテンツ以外に、どれだけ無駄なものを読み込んでいるかがわかる。
- サードパーティコンテンツ(フォントなど)を無効にすると、多くのサイトがどれだけ見苦しくなるかがわかる。
- スクリプトが有効のままでも速度向上に気づくはずだ。無駄なものが大量に読み込まれなくなるからだ。
広告ブロックと組み合わせれば、帯域幅の節約、ノイズの低減、ブラウジングパフォーマンスの向上が実現します。三重丸ですね!
まとめ
では、一般ユーザーのためにNoScriptをどのように設定すればよいのでしょうか?まず自分で環境を作り、調整し、設定をエクスポートします。他の人のブラウザを設定するときは、その設定をインポートすればよいのです。基本的な考え方は、デフォルトゾーンでスクリプトといくつかの要素を許可すること。これで、NoScript+非技術系ユーザーの問題の99%が解決します。独自の信頼済み・非信頼・カスタムリストを作成すれば、さらに洗練された設定にすることもできます。
これが万全でしょうか?もちろん違います。そんな技術は存在しません。NoScriptが「浄化の使命」の一環として意図的に生み出す、壊れて混乱したWeb体験と、自分が何をしているかを正確に理解しているベテランのオタクたちの間で、この拡張機能を一般ユーザーにとっても有用にすることは十分可能です。テストは限定的ですが、上記の設定はうまく機能し、追加のセキュリティを提供し、プライバシーを改善し、しかもブラウジングを壊さないと確信しています。ぜひ試してみて、周りの家族や友人にも設定してみて、結果を共有してください。以上です。
それでは、また。
-
Windows 10 PCでSurface Dialを設定・カスタマイズする方法【初心者向けガイド】
Surface Dialとは? Surface Dialは、Windows 10向けに開発されたアクセサリで、クリエイティブな作業のための新しい操作方法を提供します。Bluetooth対応のWindows 10搭載PC、ノートパソコン、タブレットであれば、どのデバイスでも使用できます。2016年10月に発表されたばかりのSurface Studioとともにお披露目されましたが、その後Microsoftは対応範囲を拡大し、現在ではSurface Studioに限らず、あらゆるWindows 10 PCで利用できるようになっています。 Surface Pro 6、Surface Book 2、S
-
Windows 11でローカルユーザーアカウントを設定する方法|Microsoftアカウント強制を回避する3つの手法
オンラインアカウントに反対だと誤解されがちですが、まったくそうではありません。スマートフォンのように、オンライン機能が利用形態の本質的な一部となっている場面では、オンラインアカウントは理にかなっています。私が反対しているのは、それ自体のためだけに行われる「不必要な」オンラインアカウントの強制です。その典型例こそが、Windows 10 Home、そして今やWindows 11なのです。これまでにWindows 11 Devビルドのレビューを行い、このシステムの低IQな機能を調整・無効化する方法も紹介してきました。ただ、インストールプロセスには触れていませんでした。クリーンインストール用の公式ブ