セキュリティ、プライバシ
2016年06月21日
情報科学類 コンピュータリテラシ
筑波大学 システム情報系 情報工学域
新城 靖
<yas@cs.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2016/2016-06-21
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
■連絡事項
- 次回 6月24日金曜日 は、実習室 3C205 に集合。
- 6月28日火曜日は、授業を行う。7月1日金曜日に、試験を行う。
- 欠席する時、した時には、
欠席届
を提出すること。約束を守って欲しい。
■試験について
- 試験日は、7月1日金曜日。
- 机の上には、A4メモ用紙(両面可)を
置いてよい。(B5 等、他のサイズの紙は不可。紙の大きさが違うと、整理しに
くい。)
- メモ用紙は、試験との答案といっしょに提出する。メモが不要な場合には、
学籍番号と名前を記入しただけのA4用紙を提出する(0, NULL、番兵の考え
方。)。
- 上記メモ用紙以外の資料等は、机の上に置いてはいけない。
- 試験に解答する時には、問題文をよく読み、問題文に従って答えること。
メモの文書をコピー&ペーストしたとしても、一般的にはよい回答にはなって
いない。
- 試験中は、通信を行ってはならない。PC、携帯電話等の通信機能がある機
器を使うことができない。これらの機器は、電源を切って身から離して置く。
通信機能がある機器の時計は利用できない。
- 通信機能がない翻訳機、辞書は使ってもよい。
- 学生証を持ってくること。試験の最中に机の上に置く。
メモ用紙の作り方
- メモ用紙の表面上部に学籍番号と名前を記入すること。
- メモは、日本語、英語、HTML、LaTeX、bash、その他採点者が理解できる
と思われる言語を用いて用いて記述してもらえるとありがたい。また、採点者
が読める程度の圧縮にとどめてもらえるとありがたい。
- メモは要約ではない。重要なことや木構造で根に近い所を書くものではな
い。脳で覚えるには苦手としているもの(コンピュータやネットワークでは得
意なもの)を書く。木構造としては、枝葉に近い部分になっていることがある。
- 汎用のものよのり、個人に特化したものがよい。他人が作ったものは、一
般的には良いことが書いてあるかもしれないが、当人にはあまり役に立たない
かもしれない。
- メモ用紙は答案と一緒に提出する。返却しないので、必要ならコピーをとっ
ておくこと。
- LaTeX や ワード・プロセッサ等を用いて作成してもよい。印刷する時に
n-up 機能
を使い、複数ページを1ページにまとめる方法もある。
■セキュリティ
セキュリティとは、安全や機密を保持すること。
対策
◆悪意があるソフトウェア(malicious software)
マルウェア(Malware)ということもある。次のように分類できる。
- ローカル(手元)のコンピュータで動作するもの
- ウイルス(Virus)
- トロイの木馬(Trojan Horse)
- ワーム(Worm)
- キーロガー(keylogger)
- 通信している別のコンピュータで動作するもの
- 悪意を持つクライアント
- 悪意を持つサーバ
- 悪意を持つpeer(通信相手)
一般には、悪意があるプログラムのことを「コンピュータ・ウイルス(広義)」
と言うことがある。
◆コンピュータ・ウイルス(狭義)
コンピュータ・ウイルス(狭義)は、悪意があるプログラム一種で、次のような
性質を持つもの。
- 他のプログラムに寄生する
- 悪さをする
- 自分自身のコピーを広げようとする
活動
◆トロイの木馬とワーム
トロイの木馬(Trojan Horse)は、単独のプログラムであり、他のプログラムに
寄生しない。利用者を騙して実行されるのを待つ。
ワーム(worm)は、他のプログラムに寄生しない。
世の中で「ウイルス(広義)」と呼んでいるものの中には、トロイの木馬やワー
ムに分類されるものが多い。次のものの大部分は、上の分類としてはトロイの
木馬。
- 電子メール等に添付された送られてくるプログラム。
- 電子メール等に含まれた URL の先におかれたプログラム。
- ランサムウェア(Ransomware)。コンピュータのファイルを暗号化するなど
して、アクセスできないようにする(人質にする)。再びアクセスできるよう
にするために、利用者に身代金(ransom)を要求する。
◆ウイルス対策プログラム(Anti-virus Program)
- 悪意のあるプログラムに特徴的なパタンを予めファイルに保存しておく。
(ウイルス定義ファイル)
- ファイルが保存された時や電子メールを受信した時に、
その中に特徴的なパタンが含まれていないかを探す。
探すことを「スキャンする」ということがある。
パタンが見つかれば、ファイルを削除する。
限界
- パタンに含まれていない悪意のあるプログラムを見逃す。
- パタンファイルが古い場合
- 新しいプログラムでパタンファイルに未登録のもの
- 悪意のあるプログラムが暗号化されていた場合
(例: 暗号化されたメールをサーバ側で自動的に検査ができない)
- 新しいプログラムで、特定の個人を狙ったもの。広く一般には流通しない
のでウイルス対策プログラムを作っている会社も知り得ない。
- 使っているプログラムのバクには対応できない。
◆バグ、弱点、攻撃
プログラムからバグ(誤り、不具合)を全てのバグを取り除くことはできない。
バグの一部は、セキュリティ的な脆弱性(ぜいじゃくせい)につながる。
悪意のあるプログラムの多くは、セキュリティ的な脆弱性を攻撃する。
- バッファ・オーバーフロー攻撃
- (クロスサイト・スクリプティング攻撃)
「危険なデフォルト」は、本来の機能を有効にしたものなので、バグではない
が、利用者が気が付かないと攻撃の対象になる。
◆バッファ・オーバーフロー攻撃
プログラムの脆弱性をつく攻撃の1つ。
現在のコンピュータは、機械語命令もデータも同じメモリに保存する。
データを機械語命令だと解釈して実行することができる。
悪意を持つプログラムが送られて来た場合、本来はデータとして扱わなければ
ならないのに、脆弱性があるプログラムは機械語命令として解釈して制御を移
して実行してしまう。
◆キーロガー
コンピュータに打ち込んだキーを、利用者がどんな操作をしていたとしても全
て記録するプログラム。Web ブラウザでユーザ名とパスワード、クレジットカー
ド番号等を打ったとするとそれも全て記録される。
キーボードを使う時には、信頼できるコンピュータを使うこと。
◆DoS (Denial of Service) 攻撃
サーバにある種の要求を送ることで、本来のサーバの機能を停止させてしまう
攻撃。サービス運用妨害、サービス拒否攻撃ともいう。
分類
- バッファ・オーバーフロー等の脆弱性をついてサーバ・プログラムを
終了させてしまうもの
- 大量に要求をサーバに送ることで、他の正当なクライアントに対する
サービスができないようにする。
後者を防ぐことは、難しい。後者で、要求を送るプログラムが1つではなく、
複数のクライアントが協調して1つのサーバを攻撃する場合、分散型DoS攻撃
という。
攻撃対象としては、サーバ(WWWサーバ、メール・サーバ)の他に、ルー
タであることもある。
◆防火壁(ファイアウォール(firewall))
防火壁とは、外部のネットワークと内部のネットワークの間に設置し、内部の
ネットワークのセキュリティを高めるための仕組み。
インターネットの仕組みの基本:どのコンピュータとコンピュータも通信できる。
防火壁では、そのような本来の仕組みに制限を設け、特定のコンピュータとし
か通信できないようにしたり、特定のサービスしかつかえないようにする。
◆個人で身を守る方法
技術者や管理者に求められていること。
技術が未熟な現在、各個人は、ある程度、技術を知る必要がある。
- キャッシュ
- cookie
- サーバ上のファイルのアクセス権に気を付ける。
- よいパスワードを使う。
- パスワード管理プログラムを使う。
- 暗号を使う
- 大事なデータを、電子メールで送らない。
- 大事なデータを、インターネットに接続されたコンピュータには置かない。
対策
- 大事なデータをバックアップする(安全な所にコピーする)。
- 自分が使っているプログラムを更新する。知られている脆弱性をつぶす。
特に次のようなプログラムに注意する。
- Web ブラウザ、Flash 表示プログラム、その他
Web ブラウザから自動的に実行されるプログラム
- メール・リーダ
- ワードプロセッサ
- PDF 表示プログラム
- 水際対策(ネットワーク、外付けの記憶媒体との境界)を行う。外部デー
タをコピーする時には、信頼できるものをコピーする。怪しいものをコピーし
ない。特にトロイの木馬を入れないようにする。一度入られたら対策は難しい。
- 次のような補助的プログラムを使う。ただしそれだけに頼っ
てはいけない。健康は、補助食品(supplement)では達成できない。
■筑波大学における情報システム利用のガイドライン
筑波大学における情報システム利用のガイドライン は、
筑波大学の情報システムを利用する時に守るべきガイドライン。
難解な表現も多い。
このガイドラインは、全学計算機専用ではなく、coinsのコンピュータも含めて
全ての学内のコンピュータに適応される。システムによって違いがあるものは、
細かい所までは書けない。
◆制定者の意図
ガイドラインには、次のような制定者の意図がある。
- 3.3節、ネットワーク帯域についての記述は、1人で使いすぎると他の人
の迷惑になることがあることが念頭にある。
- 3.4節、匿名の禁止は、ネットワークの悪用を防ぐため。悪い事をする時
には、匿名で行うことが多いことによる。
- 3.12節、ハードディスクの廃棄を破棄する時には、内部にある機密情報が
広まらないように注意する必要がある。単にファイルを消しただけでは、内部
のデータはそのまま残っていることがある。「フォーマット」という操作を行っ
ても、残っていることがある。
- 3.9節、パスワードが漏れた時の連絡先は、パスワードの再設定をする所
と同じ。ただし、学外から電話しても、リセットするのは難しい。他人のパス
ワードをリセットしてしまう危険性があるので。
- 4.4節、7.4節。問題のあるコンピュータは、すぐにネットワークから切り
離し、被害の拡大を防ぐ必要がある。有線による接続ならば、線を抜くとよい。
無線の場合、スイッチがあればスイッチを切る。なければ、OSを操作して停止
させる必要がある。(交通事故等で、被害の拡大を防ぐことと同じ。)
- 6.1節、共用の禁止しているのは、問題が生じた時に、誰の責任か追跡で
きるようにするため。
- 6.4節、メールの内容で、「脅迫」は犯罪。「個人的な儲け話や勧誘」は、
spamメール
の一般的な内容。受け取った方は、儲け話もふくめて迷惑。
- 6.5節で、HTMLのメールを禁止している。HTMLのメールでは、ハイパーリ
ンクを騙す詐欺に合いやすい。たとえば、
<A href="http://www.bad-site/"> http://www.good-site/ </A>
のようなリンクが多い。
- 6.5節、HTML を含むメールにインライン・イメージを含めることで、送信
者は、受信者がいつ、どこでメールを読んだのかを知ることができる。
<IMG src="http://www.track-site/track.png?12345">
- 6.7節、電子メールのSubjectを付けるのは、受け取る人の都合を考えてる
ことを教えたいため。
◆新城からの注意事項と疑問点
- 3.4節、匿名が必要ならば、大学のコンピュータを使うことはできない。
内部告発等の匿名が必要な時もある。真の匿名を実装するのは難しい。
- 3.11節、「教育・研究目的、およびそれらを支援する目的に合致しないア
プリケーション」。大学のコンピュータ(coins iMac, 全学PC, 研究室のPC等)
を想定。情報科学類ならば、どのようなソフトウェアであっても、目的に合致
している。
- 3.13節、
「著作権を侵害しているおそれがあるコンテンツ」
かどうか、見てもわからない(著作権者が許容していることがある)。
「機密情報」かどうか見てもわからない(機密と書いてあっても、嘘かもしれない)。
「個人情報」かどうか見てもわからない(存在しない個人の個人情報かもしれない)。
「大学が権利を有するコンテンツの無断使用」かどうか、見てもわからない(
権利をもっているか不明、許可をとっているかもしれない)。
- 4.1節。ウイルス対策ソフトウェアを過信してはいけない。ただ、それを
入れないで、それで防げるような被害にあうのはよくない。
- 4.1節。「ウイルス情報データベースを常に最新」は、実装不可能。光速
を超える通信はできない。分散システムでは、大域的な一過性を実装できない。
- 4.4節、「ウイルスに感染したときの対処」。感染したかよくわからない。
「ウイルスチェックソフトウェア」で検出できないものもある。
- 6.7節、機種依存文字コード。見分けるのは難しい。
- 7.2節、「有名なサイトであっても不用 意にリンクをクリックしない」と
は、信頼できる「サイト」といっても、中のページの内容を全てチェックして
いるわけではない、ということが言いたい。実際にどうするかは、難しい。
その他の情報
筑波大学情報環境機構
- 左のメニューから「セキュリティ関連」を選ぶ
- 「情報システムの利用について」を選ぶ
- 情報管理関係
■Webページに対するアクセス制御と認証
ファイルに対するアクセス制御と
考え方が共通の部分と異なる部分がある。
◆アクセス制御
[再掲]
アクセス制御(access control)
とは、「主体」が、「オブジェクト」を「操作」する時、どんな操作なら正し
いということを定義して、それがきちんと守られていることをということを保
証することである。
図? アクセス制御における主体、オブジェクト、および、操作
◆Webページにのアクセスにおける主体、オブジェクト、操作
WWWは、もともと大勢の人にメッセージを伝えるための仕組みだが、後付けでア
クセス制御の仕組みを入れた。
あるページは、ある特定の人(同じ研究室・部署の人)だけにしか見えないよ
うに設定することもできる。
- 主体
-
- Webブラウザ(クライアント)が動作しているホストの IP アドレスやドメイン名
- ユーザ名とパスワードで識別したユーザ
- 公開鍵暗号系で特定の秘密鍵を所有しているユーザ
- オブジェクト
- URLで表現できるもの。木構造を利用した指定や正規表現による指定も可能。
- 単純なWebページ(ファイル)
- Webアプリケーション(レポート提出ページのように、Webブラウザで文字
列やファイルを送信する。Web サーバでは特別のプログラムが動作する。)
- 操作
-
- データを取得(GET)
- データを送る(POST)
- その他
◆Webページに対するアクセス制御の設定
アクセス制御の設定は、普通は、オブジェクト側でなされる。
- WWWサーバの管理者
-
httpd.conf
、および、それから読み込まれるファイル
- 個人のページ
access.conf は空で、全部 httpd.conf に書くことも多い。
サーバの管理者は、.htaccess を無効にもできる。
coins では www.coins.tsukuba.ac.jp の次の場所にある。
-
/etc/httpd/conf/httpd.conf
-
/etc/httpd/conf.d/*.conf
◆IPアドレスやドメイン名によるアクセス制御
httpd.conf や .htaccess に次のように記述する。
order deny,allow
deny from all
allow from 130.158.0.0/16 133.51.0.0/16
- 主体は、IP アドレスで指定されたクライアント・コンピュータ。
- 「/16」は、IPアドレスのうち、上位16ビットが一致するものを意味する。
「130.158.0.0/16」 は、
130.158.0.0から130.158.255.255までの意味。
- この2つのIPアドレスの範囲は、筑波大学に割り当てられたもの。
◆学外Webサイトでの筑波大学の識別例
◆Coins Shibboleth
Coins では、内部の利用者向けのページ(出席ボタン、レポート提出ページ等)で
Shibboleth
を使っている。
- アクセス制御の主体は、coins の利用者(coinsのユーザ名とパスワードを
正しく打ち込んだ人) (が実行している Web ブラウザ)
- オブジェクトは、Web ページ。
Coins の Shibboleth は、個人でも使える。
- 情報科学類のコンピュータにアカウントがある人だけが表示できるページを作る。
- 情報科学類のコンピュータにアカウントがある人のうち、
特定の人だけがアクセスできるページを作れる。
- (情報科学類のコンピュータにアカウントがある人のうち)自分だけがアク
セスできるページを作れる。
■Webブラウザを使う上でのセキュリティとプライバシ
- サーバに送っているもの
- ブラウザを動かしているコンピュータのIP アドレス、URL、アクセス時刻、ブラウザの種類
(アクセスログ)
- cookie
- (Basic 認証のユーザ名とパスワード)
- ブラウザを実行したコンピュータに溜まるもの
- 表示したページの URL (履歴)
- ダウンロードしたファイルとダウンロード元(履歴)
- cookie
- 検索キーワードやその他打ち込んだもの(例: Web メールならアドレスや内容も含む)
- ログインするためのユーザ名とパスワード
- キャッシュ
◆IPアドレス
Web サーバと Web ブラウザが通信をする時、互いに相手の
IPアドレス
を知ることになる。電話なら発信者番号(caller id)の通知を拒否する機能もあ
るが、Web にはない。
IP アドレスがわかると、次のようなことがわかる。
- コンピュータがある組織(例:筑波大学/情報科学類)
- おおよその住所(市町村単位くらい)
サーバは、IPアドレスはわかっても、利用者の名前までは特定できない。学内
のコンピュータの場合、IPアドレスからコンピュータが特定されると、ログイ
ンのログから利用者も特定できる。
■WWW の cookie
cookieは、コンピュータ・サイエンス(情報科学類)の専門用語。
協調して動作しているプログラムの間で、ある一連の作業を識別するための数
を意味する。
WWW(World Wide Web)では、1回のデータ転送ごとに通信路が切断される
ので、通常はWWWのブラウザ(クライアント)とWWWサーバの間では、途
中経過を保持することができない。
途中経過を保存したい時:
- パスワードを打って利用者を確認した
- 買い物かごの中身を保持したい
- IPアドレスが毎回違うような場合、前回アクセスしてきた人を識別したい
WWWで途中経過を保存するためには、cookie が使われる。
- WWWサーバが、最初にアクセスした時に利用者ごとにクッキーを生成
し、ブラウザに返す。
- ブラウザは、返されたクッキーをファイルに保存しておく。
- ブラウザは、次に同じサーバに要求を送る時に、ファイルに保存してあ
るクッキーを読み出して要求とともにサーバに送る。
- 要求を受け取ったサーバは、要求に含まれているクッキーから、そのブ
ラウザを使っていた人が前回どのページを訪れたかを知ることができる。
サーバは、その情報を利用して、適切なページ(たとえば前回最後に訪れたペー
ジ)を表示させるようにすることができる。
◆cookieとプライバシ
現在の cookie の実現では、利用者のプライバシーを犯す危険性が高いという
問題が指摘されている。
普通のWWWサーバでは、要求を送ってきたコンピュータのIPアドレスを記
録しているので、コンピュータ単位でのアクセス状況を記録することはできる
が、個人を特定することはできない。
クッキーを利用することにより、コンピュータではなくどの個人がアクセスし
てきたかを記録することができる。
クッキーから電子メールのアドレスや氏名まで調べることはできない。
しかし、インターネットをサーフしている間にどこかでそれを打ち込んだが最
後、クッキーと電子メール・アドレスや氏名との対応が記録されてしまう危険
性がある。
参考
RFC2965 HTTP State Management Mechanism
◆履歴
Web ブラウザは、次のようなことを履歴としてファイル保持している。
- アクセスした Web ページの URL, 日時
- ダウンロードしたファイルの URL
- 検索する時に打ち込んだキーワード
-
これらを保存していると、Web ブラウザの便利さを向上させるが、他人に見ら
れるとプライバシが犯されることになる。
◆ブラウザ終了時の履歴の自動消去
Webブラウザには、終了時に自動的に履歴を消去する機能がある。これを利用す
ることを奨める。
◆Webブラウザのプロファイル
Web ブラウザのプロファイルとは、一人ひと
り異なる情報を保存したものである。
- ブックマーク
- 履歴
- Cookie
- ログイン情報(ユーザ名とパスワード)、マスターパスワード
- 個人の証明書(公開鍵)
- 設定(好きなものに変更できるもの)
- ホームページ(起動した時に表示するページ)
- 検索エンジン
- フォント、文字の大きさ
- Cookie の保存方法(消去方法)
- 履歴の保存方法(消去方法)
(クリックで拡大)
◆Firefoxのプロファイルを保存したファイル
MacOSX の Firefox の場合、プロファイルは、次のディレクトリの下にあるファ
イルに保存されている。
- ~/Library/Application*Support/Firefox/Profiles/*
ファイル名の一部に空白とランダム文字列があるので、その部分を「*」
(
ファイル名置換
)
を使っている。
The Unix Super Text 28.2.5項 参照。
Webブラウザのプロファイルを他人にアクセスされないようにするためには、
これらのファイルに対する
アクセス制御
をしっかり設定する。
特に、
ディレクトリのxの働き
を使って、木構造の性質をうまく使うとよい。
ただし、ホームディレクトリを閉じてしまうと、
WWWページ用のディレクトリ ~/public_html
も閉じることになり、
個人の Web ページの内容を Web サーバですらアクセスできなくなることに注意する。
◆プライベート・ブラウジング
Firefox 等の Web ブラウザには、プライベート・ブラウジング機能があり、そ
れを有効にすると履歴を一切保存しない状態になる。
◆その他できること
- Web ブラウザ上でプログラム(アクティブコンテンツ)をなるべく動かさない。
(PrefBar 等でこまめに制御する。)
- JavaScript (NoScript 等のアドオンを入れる。)
- Java
- Flash
- ActiveX
- 複数のサイトをまたがる HTML ファイルの表示をしない。(Addon RequestPolicy)
- HTTP referer (referrer) (検索キーワード、どのページを経由して来た
か)を送らない。
(PrefBar Send Referrerボタン、Addon RefControl等)
- アクセスをトラックさせない。(Addon Ghosery)
- 検索エンジンに、リンクをたどったことを教えない。(Addon Google Disconnect, Facebook Disconnect, Twitter Disconnect, )
Firefox Lightbeam で観察できる。
◆ネットワーク外での利用者トラック
- ポイントカード(T-point,Ponta,...)
- 交通系のカードの利用履歴(2013年7月 JR 東日本 Suica 履歴売却騒動, ...)
■実習
実習時間中には、
以下の課題をできるだけ多く行いなさい。全部を行う必要はない。
★練習問題(1801) Symantec Endpoint Protection
一番上のメニューバーにある Symantec AntiVirus のメニューを開きなさい。
(クリックで拡大)
このメニューから
「Symantec Endpoint Protection」、
「Symantec Endpoint Protectionを開く」を選び実行してみなさい。
あるいは、「アプリケーション」にある次のプログラムを実行しなさい。
$ open "/Applications/Symantec Solutions/Symantec Endpoint Protection.app"
「ツール」メニューから「ウイルス定義情報」を選びなさい。そこに現在利用
している「ウイルス定義ファイル」に何個の悪意のあるプログラムの定義が含
まれているか(見つけたウイルス名の数)を観察しなさい。その定義ファイルが
いつ更新されたものか(ウイルス定義の日付)を調べなさい。
手動のスキャンを実施してみなさい。「状態」のページで右下の「スキャン」
ボタンを使って、ファイルを開き、ファイルにウイルスのパタンが含まれてい
ないか調べなさい。
「ヘルプ」メニューから「Symantec Endpoint Protectionヘルプ」を選択して、
「機能の概要」を読みなさい。
★練習問題(1802) Firefoxのプロファイル:ブックマーク
Firefox が保存している
Webブラウザのプロファイル
にある、ブックマークを観察しなさい。
- 一番上のメニューバーで、「ブックマーク」をクリックする。
- 表示されたメニューから「全てのブックマークを表示」を選ぶ。
★練習問題(1803) Firefoxのプロファイル:閲覧履歴
Firefox が保存している
Webブラウザのプロファイル
にある、閲覧履歴を観察しなさい。
- 一番上のメニューバーで、「履歴」をクリックする。
- 表示されたメニューから「全ての履歴を表示」を選ぶ。
★練習問題(1804) Firefox、環境設定タブ
Firefox の環境設定のタブを開きなさい。
- 一番上のメニューバーで、「Firefox」をクリックし、表示されたメニュー
から「環境設定...」を選ぶ。
(クリックで拡大)
- 「設定」タブが開く。左側のメニューで、
「一般」、「検索」、「コンテンツ」、
「アプリケーション」、「プライバシー」、「セキュリティ」、
「Sync」、「詳細」を選ぶ。
(クリックで拡大)
次の情報があることを確認しなさい。
- ホームページ(Firefox を実行した時に一番最初に表示されるページ)。
「一般」のパネルの「ホームページ:」の右側。
- フォントサイズ: 「コンテンツ」のパネルの「フォントとカラー」で、
「サイズ:」の右側。「詳細設定」で、言語毎に変えられる。
- ログイン情報(ユーザ名とパスワード): 「セキュリティ」のパネルで、
「保存されているログイン情報」ボタンを押す。
★練習問題(1805) Firefox、Cookieの観察
Firefox が保存している
Webブラウザのプロファイル
にある Cookie を観察しなさい。
- Firefox で
練習問題 環境設定
のタブを開く。
- 左側のメニューで、「プライバシー」のパネルを開く。
- 「Firefoxに」の右にあるメニューで「記憶させる履歴を詳細設定する」を選ぶ。
- 「Cookieを表示...」ボタンを押す。
- 表示したいドメイン名の左側の三画を下向き(▼)にして展開する。
- 「Cookie名」の所で、表示したい Cookie を選ぶ。
(クリックで拡大)
この例では、「.coins.tsukuba.ac.jp」ドメインで、
「__utma
」という名前の Cookie があることがわかる。
その値は、
「185487291.917228710.1466424562.1466424562.1466424562.1」
である。
★練習問題(1806) Firefox、Cookieの削除
Cookieを削除してみなさい。
まず、
練習問題 Firefox、Cookieの観察
を行い、Cookie を表示しなさい。
次に、以下のような操作を行いなさい。
- 消去したい Cookie を選んで、「選択された Cookie を削除」ボタンを押す。
- 「全ての Coookie を削除」ボタンを押す。
Cookie を削除した後、次のようなことを行ってみなさい。
- 再び Cookie を設定するような Web ページを表示する。
- Cookie が再び設定されるのかを観察する。
- Cookie の名前や値が変化するかを観察する。
★練習問題(1807) Firefox、Cookieの保存方法の変更
Firefox には、プライバシを保護するために、Cookie を自動的に削除する機能
がある。この機能を利用してみなさい。
- Firefox で
練習問題 環境設定
のタブを開き、
左側のメニューで、「プライバシー」のパネルを開く。
- 「Firefoxに」の右にあるメニューで「記憶させる履歴を詳細設定する」を選ぶ。
- Cookie を保存方法する期間: の右側の
「Firefoxを終了するまで」を選ぶ。
★練習問題(1808) Webブラウザのキャッシュの観察
cd, ls, lv コマンドなどを利用して Web ブラウザのキャッシュが保存されて
いるファイルを観察しなさい。MacOSX Firefox では次のディレクトリの下にあ
る。
-
~/Library/Caches/Firefox/Profiles/*/cache2/entries
$ cd ~/Library/Caches/Firefox/Profiles/*/cache2/entries
$ ls -l
$ file *
$ du -h
du コマンド
は、ディスクの使用量(disk usage)を表示するコマンド。
手引き 2.7.3 参照、
手引き 10.8.1 参照。
★練習問題(1809) Webブラウザのキャッシュの設定
Webブラウザは、一度ネットワーク経由で取得したデータをファイルにキャッシュ
として保存して、次にアクセスした時に高速に表示する(ネットワークを使わ
ないで表示する)機能がある。この機能がどのように働いているかを確認しなさい。
- Firefoxで環境設定タブを開く。
- 「詳細」パネルを開く
- 「ネットワーク」タブを開く
- 「キャッシュされたWebページ」の下にある
「ページキャッシュを制限する」のチェックを入れる。
- 「ページキャッシュとして...MBまで使用する」の数字を変える。
- 「今すぐ消去」ボタンを確認する。
なぜ「今すぐ消去」ボタンが存在するのか、その理由を考えなさい。
★練習問題(1810) ブラウザのキャッシュの削除
Web ブラウザのキャッシュを削除してみなさい。削除方法は、
手引き 10.8 ディスククォータに関する警告メールが来てしまった 参照。
手引き 10.9 ブラウザのキャッシュを削除する 参照。
次の3つのブラウザについて、削除方法が記載されている。
- Firefox
- Google Chrome
- Safari
★練習問題(1811) Firefoxのプロファイルを保存したファイル
MacOSX の Firefox のプロファイルが保存されているファイルを表示してみな
さい。
$ cd ~/Library/Application*Support/Firefox/Profiles/*
$ pwd
$ ls -ld
$ ls
$ ls -a
★練習問題(1812) Firefoxのプロファイルを保存したファイルの保護
MacOSX の Firefox のプロファイルを保持しているディレクトリには、ls -l
で見ると others が r-- となっており、一見、他のユーザがアクセスできるファ
イルが存在する。しかしながら、
ディレクトリのxの働き
により、保護されており、他のユーザはアクセスできないようになっている。
このことを確認しなさい。
$ ls -ld ~/Library/Application*Support/Firefox/Profiles/*
$ ls -ld ~/Library/Application*Support/Firefox/Profiles
$ ls -ld ~/Library/Application*Support/Firefox
$ ls -ld ~/Library/Application*Support
$ ls -ld ~/Library
★練習問題(1813) Webブラウザの履歴等の自動消去
Firefox は、次のような項目を保存する機能がある。
- 表示したページのURL
- 表示したページの内容(キャッシャ)
- Cookie
- フォーム(
等に打ち込んだデータ)
- パスワード
- その他
これらの履歴を Firefox 終了時に消去する機能がある。この機能を確認しなさ
い。
- Firefox で
環境設定
のタブを開く。
- 左側のメニューで、「プライバシー」のパネルを開く。
- 「Firefox の終了時に履歴を消去する」のチェックを入れる。
- その右側の 「設定」ボタンを押す。
(クリックで拡大)
★練習問題(1814) Firefox プライベートブラウジング
Firefox が持つ「プライベートブラウジング」の機能を利用してみなさい。
- 「ファイル」メニューから「新規プライベートウィンドウ」を選ぶ。
★練習問題(1815) 情報科学類での Shibboleth の利用方法
次のページの説明を読みなさい。
次の方法があることを確認しなさい。
- 特定の coins のユーザを許可する場合
- 複数の coins のユーザを許可する場合
- coinsシステムにアカウントがある全てのユーザを許可する場合
- 特定の coins のグループに許可する場合
★練習問題(1816) レポート提出ページの.htaccess
レポート提出で用いているプログラム
report.cgi は、次の場所にある。
$ ls ~yas/public_html/secure_htdocs/coins/literacy-2016/
$ ls -a ~yas/public_html/secure_htdocs/coins/literacy-2016/
ここにあるレポート提出ページや出席ボタンでは、 .htaccess にどのような記
述がなされているかを調べなさい。
$ cat ~yas/public_html/secure_htdocs/coins/literacy-2016/.htaccess
★練習問題(1817) .htaccessによるShibboleth認証の利用
~/secure_html/ の下に、実験用のディレクトリを作成しなさい。
$ mkdir ~/public_html/secure_htdocs
$ mkdir ~/public_html/secure_htdocs/ディレクトリ名
次のドキュメントを参考にして、作成したディレクトリに .htaccess を作成し、
利用してみなさい。
★練習問題(1818) .htaccessによるBasic認証のページ(htpasswd)
htpasswd コマンドを使ってパスワード・ファイルを作成しなさい。作成したパ
スワード・ファイルを利用して、
Basic 認証
によりアクセス制御を行うように設定しなさい。
The Unix Super Text 28.7.6項 参照。
例:パスワード・ファイル
/home1/prof/yas/etc/passwd-doc1
に登録されているユーザだけが、
.htaccess
があるディレクトリ以下にあるファイルをアクセスできる。
.htaccess:
AuthType Basic
AuthName "Staff Only"
AuthUserFile /home1/prof/yas/etc/passwd-doc1
require valid-user
このパスワード・ファイルは、サーバ上でhtpasswd というプログラムで作成する。
$ htpasswd -c /home1/prof/yas/etc/passwd-doc1 user1
Adding password for user1.
New password:user1のパスワードを打ち込む
Re-type new password:user1のパスワードを打ち込む
$ htpasswd /home1/prof/yas/etc/passwd-doc1 user2
Adding user user2
New password:user2のパスワードを打ち込む
Re-type new password:user2のパスワードを打ち込む
$
一番最初は、-c
オプション付で実行する。passwd
コマ
ンドと同様に、打ち込んだパスワードは、画面には表示されず、また、確
認のために2回打つ必要がある。
htpasswd コマンドの結果、次のようなファイルが作られる。
user1:1fjr1tHIgoG7U
user2:qXaeA9Zge7Yqc
ユーザ名と暗号化されたパスワード(正確にはパスワードのハッシュ値)から
構成される。
パスワードによるアクセス制御の例:
設定ファイル .htaccess
AuthType Basic
AuthName "Staff Only"
AuthUserFile /home1/prof/yas/etc/passwd-doc1
require valid-user
★練習問題(1819) .htaccessによるBasic認証のページ(dbmmanage)
htpasswd コマンドの代わりに dbmmanage コマンドを使い、パスワード・ファ
イルを作成しなさい。作成したパスワード・ファイルを利用して、Basic 認証
によりアクセス制御を行うように設定しなさい。
★練習問題(1820) WWWページに対するIPアドレスによるアクセス制御
特定のIPアドレスのコンピュータからしか表示できないような WWW ページを作
成しなさい。逆に、特定のIPアドレスのコンピュータからは表示できないよう
な WWW ページを作成しなさい。
★練習問題(1821) Firefoxのプロファイル/.parentlock
Fire.parentlock~/Library/Application*Support/Firefox/Profiles/*/.parentlock
Firefoxのプロファイルには、次のファイルがある。
- ~/Library/Application*Support/Firefox/Profiles/*/.parentlock
複数の Firefox を同時に実行することでプロファイルが壊れることがある。た
とえば、cosmso10 と cosmos11 で同時に Firefox を同時に実行すると、プロ
ファイルが壊れることがある。この .parentlock というアクセスは、Firefox
が同時に実行した時にプロファイルが壊れることを防ぐ役割がある。
このファイルを ls -l で表示してみなさい。
(1) cd を使う方法
$ cd ~/Library/Application*Support/Firefox/Profiles/*
$ ls -l .parentlock
(2) cd しないで、ファイル名の置き換え機能を使う方法
$ ls -l ~/Library/*/Firefox/Profiles/*/.parentlock
-rw-r--r-- 1 yas prof 0 4 27 15:21 /home/prof/yas/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/.parentlock
(3) cd しないで、ファイル名の補完機能を使う方法
$ ls -l ~/L
以後、補完機能を使いながら打つ
Profiles の下には、.default/があるものを選ぶ
そのディレクトリの下では、.p
を選ぶ
$ ls -l ~/Library/Application\ Support/Firefox/Profiles/xxxxxx.default/.parentlock
-rw-r--r-- 1 yas prof 0 4 27 15:21 /home/prof/yas/Library/Application Support/Firefox/Profiles/xxxxxx.default/.parentlock
$
★練習問題(1822) Firefoxのプロファイル/.parentlockの削除
Firefox が異常終了した後に実行しようとすると、「すでに別のFirefoxを開い
ています。同時に複数のFirefoxを開くことはできません。」と表示され、実行
できないことがある。この場合は、.parentlock ファイルを削除すると回復す
ることがある。
回復方法は、coins の ce のページにも記載されている。これを、Safari 等、
Firefox 以外のブラウザで表示してみなさい。
- http://www.coins.tsukuba.ac.jp/ を開く
- 在学生・教員むけ
- コンピューティング環境 (coins の ce のページ)
- 内部情報
- よくある質問
- Mac環境
- 「すでに別のFirefoxを開いています。同時に複数のFirefoxを開くことはできません。」というメッセージが出てFirefoxが起動できない
★練習問題(1823) Firefoxのプロファイル/修復方法
練習問題(1822) と同じページに、
次のトラブルへの対処方法が記載されている。これを表示しなさい。
- Firefoxでブックマークが消えたりボタンが表示されなくなってしまった
★練習問題(1824) Firefoxのプロファイル/ブックマークの保存
Firefox には、ブックマークをファイルに保存する機能がある(バックアップ)。
ファイルに保存しておくと、壊れた時にそれから回復させることができる。
これを利用してみなさい。
- 「ブックマーク」メニューから「すべてのブックマークを表示」を選ぶ
- 「☆」のボタンから「バックアップ」を選ぶ。
- ファイルを保存する。
この方法では、「JSON」という形式で保存される。
後で「復元」を使って回復される。回復する時には、
その時点でのブックマークは全て失われることに注意する。
「バックアップ」ではなく「HTMLとして書き出す」を使う方法もある。
保存したものは、壊れた時には「HTMLから読み込む」で戻せる。
無理にもどさなくても、そのまま HTML ファイルを開いても十分である。
★練習問題(1825) 情報環境機構 eラーニング教材「INFOSS情報倫理」
筑波大学情報環境機構は、「INFOSS情報倫理」と呼ばれる自習用の教材を用意
している。教材は、「日本語版」「日本語ふりがな付版」「English Version」
「中国語版」がある。筑波大学e-learning のサイトである。内容は、非常に難
しい。
http://www.oii.tsukuba.ac.jp/announce/article.php?_aid=539adb3a
■課題18 セキュリティ、プライバシ
回答をテキスト・ファイルに記述し、(レポート提出
ページ)から提出しなさい。
(1) アクセスする時に Cookie の設定を要求する学外の Web サイトを1つ示し
なさい。次のようなことを行いなさい。
- Web ブラウザで Cookie を有効(送られてきたCookie を保存する)にして
アクセスする。どのような Cookie が設定されたかを表示する。
- Web ブラウザでCookie を全て削除し、かつ、Cookie を無効(サイトから
送られてきた Cookie を保存しない)にしてアクセスする。
1. と 2 の表示内容やその他の動作(ログインできるかどうか等)の違いを調べ
なさい。レポートには、次の情報を含めなさい。
- Web サイトの URL
- 設定される Cookie の例(1つ以上。)
- 動作の違い。動作が異なる場合には、どう異なるか。
練習問題 Firefox、Cookieの観察、
練習問題 Firefox、Cookieの削除
参照。
(2) Webブラウザのプロファイル
に含まれいる、項目のうち、プライバシに関係する項目を2つ選んで、簡単に説
明しなさい。
練習問題 Firefoxのプロファイル:ブックマーク、
練習問題 Firefoxのプロファイル:閲覧履歴、
練習問題 Firefox、環境設定タブ、
練習問題 Firefox、Cookieの観察、
練習問題 Webブラウザのキャッシュの観察
参照
注意: この課題では、一般的に Web ブラウザが保存する項目を問うている。
練習問題(1811) にあるファイルやディレクトリの
名前を示す必要はない。
(3) The Unix Super Text の次の部分を読みなさい。
- 39.1節 シェルスクリプト
- 40.13節 変数の詳細
次の項目について簡単に説明しなさい。
- 一括して実行するように、コマンドをあらかじめファイルに格納したもの(39.1節)
- $0
- $*
- 引数の数を保持している変数の名前
- $1 ($1 は、$num の1つの例。$num には $1 の他に $2, $3, $4, ... などがある)
(4) The Unix Super Text の次の部分を読みなさい。
- Unix Super Text 上巻「第35章 フィルタのテクニック」
次の項目について簡単に説明しなさい。
- sort コマンド
- 標準入力からの入力の隣接した行が同じ内容であれば重複とみなし、
その重複行を取り除いて標準出力に出力するフィルタ
- 標準入力からの入力を、文字単位で置換して標準出力に出力するフィルタ。
(5) 手引きの次の部分を読みなさい。
次の項目について簡単に説明しなさい。
(6) [加点] Symantec Endpoint Protection が持っている「スキャン」機能を
利用しなさい。ワードプロセッサのファイルや表計算のファイルをスキャンし
た後で電子メールに添付して自分自身に送りなさい。また受け取った添付ファ
イルを保存し、それを「スキャン」機能で確認しなさい。レポートには、一連
の手順を報告しなさい。
練習問題(1801) 参照。
(7) [加点] Webページにおいて、ある特定のディレクトリ以下のファイルやディ
レクトリに対して、Basic 認証、Shibboleth、または、IP アドレスを用いてア
クセス制御を行うように設定しなさい。レポートにはディレクトリ名、URL、作
成した .htaccess の記述、アクセスが許されたときのログ、および、失敗した
時のログを含めなさい。ログは最小限のものだけを含めなさい。
Last updated: 2016/06/21 13:59:56
Yasushi Shinjo / <yas@cs.tsukuba.ac.jp>