情報セキュリティ 第11回:2006年6月30日(金)   . 2 本日学ぶこと サーバサイドセキュリティ  Webサーバのセキュリティ 暗号化通信(SSL/TLS),ユーザ認証,アクセス 制御  不正な入力への対応 SQL インジェクション クロスサイトスクリプティング バッファオーバーラン.

Slides:



Advertisements
Similar presentations
Iptables の設定と 動作確認方法 野口 哲. 1. はじめに 近年では、ウイルスなどでネットワーク 上の 近年では、ウイルスなどでネットワーク 上の 危険が非常に多くなっている。また、個人 情報 などを入手するために不正に他人のパソコ ンに 侵入する人なども増えている。本研究では、 このような被害を受けないようにするため.
Advertisements

インターネットの 仕組みとセキュリティ 高校 1 年「社会と情報」 ⑭. 1.インターネットの仕組み.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
TCP / IP の基礎 ネットワーク管理者入門. インターネットを支える技術 ISO の 7 階層プロトコルと TCP / IP の実装 階層機能関連する TCP / IP プロ トコル アプリケーション層電子メールやファイルの転送 といった、具体的なアプリ ケーションが使用する規約 TELNET.
情報セキュリティ 第11回:2005年6月24日(金)   . 2 本日学ぶこと サーバサイドセキュリティ  Webサーバのセキュリティ 暗号化通信(SSL/TLS),ユーザ認証,アクセス 制御  不正な入力への対応 SQL インジェクション クロスサイトスクリプティング バッファオーバーラン.
情報セキュリティ 第11回:2006年6月29日(金)   . 2 本日学ぶこと サーバサイドセキュリティ  Webサーバのセキュリティ ユーザ認証,アクセス制御  不正な入力への対応 SQL インジェクション クロスサイトスクリプティング バッファオーバーラン  ファイアウォール 
情報基礎A 情報科学研究科 徳山 豪.
下藤 弘丞 SecureWeblogの構築.
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
SOHOシステムの構築と運用 東北NTユーザ会新潟勉強会資料.
(株)アライブネット RS事業部 企画開発G 小田 誠
(株)アライブネット RS事業部 企画開発G 小田 誠
Ad / Press Release Plan (Draft)
受動的攻撃について Eiji James Yoshida penetration technique research site
Ibaraki Univ. Dept of Electrical & Electronic Eng.
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
第14回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
ネット時代のセキュリティ2(脅威の例) 2SK 情報機器工学.
CGI Programming and Web Security
Phenixサーバ クラックまとめ.
「コンピュータと情報システム」 07章 インターネットとセキュリティ
ネットワークコミュニケーション よく使われるアプリケーション DNS 7/5/07.
Vulnerability of Cross-Site Scripting
インターネット社会の脅威 (インターネット社会のセキュリティ) 開始 再生時間:5分20秒.
第5章 情報セキュリティ(前半) [近代科学社刊]
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
サーバ管理と運営 不正アクセスに対するセキュリティ構築
XenによるゲストOSの解析に 基づくパケットフィルタリング
OSボックスのセキュリティ機能.
第13回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
HTTPプロトコルとJSP (1) データベース論 第3回.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
情報セキュリティ読本 - IT時代の危機管理入門 -
HTTPプロトコル J2EE I 第7回 /
ネストした仮想化を用いた VMの安全な帯域外リモート管理
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
基幹理工学研究科 情報理工学専攻 後藤研究室 修士1年 魏 元
ファイアウォール 基礎教育 (2日目).
Javaによる Webアプリケーション入門 第5回
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
第8章 Web技術とセキュリティ   岡本 好未.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第2回 SQL インジェクション その攻撃と対処 NECラーニング 山崎 明子.
総合講義B:インターネット社会の安全性 第9回 セキュリティとコスト
セキュリティ(5) 05A2013 大川内 斉.
2004年度 情報システム構成論 第4回 ネットワークセキュリティ基礎
情報セキュリティ - IT時代の危機管理入門 -
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
ネットワークアプリケーションと セキュリティ
踏み台攻撃だけを抑制できる VMMレベル・パケットフィルタ
7. セキュリティネットワーク (ファイアウォール)
セキュリティ(6) 05A2013 大川内 斉.
インターネットにおける真に プライベートなネットワークの構築
セキュリティ 05A2013 大川内 斉.
Cisco Umbrella のご紹介 2018 年 1 月.
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
メールの仕組みとマナー.
A18 スパムサーバの調査 ~ボットを見抜けるか?~
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
サーバ・クライアントシステム (X Window System )
コミュニケーションと ネットワークを探索する
第一回 情報セキュリティ 05A1027 後藤航太.
IDSとFirewallの連携によるネットワーク構築
gate登録システム: 設計ポリシーから使い方まで
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
サーバ・クライアントシステム (X Window System )
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Step.8 ファイアウォール PC 3 PC 1 PC 2 許可したアクセス のみ通過させる アクセスする ファイアウォール
tcp wrapper 2002年9月24日 大橋 巧 牧之内研究室「インターネット実習」Webページ
ユーザ認証の盗聴 2002/9/10 峯 肇史 牧之内研究室「インターネット実習」Webページ
Presentation transcript:

情報セキュリティ 第11回:2006年6月30日(金)   

2 本日学ぶこと サーバサイドセキュリティ  Webサーバのセキュリティ 暗号化通信(SSL/TLS),ユーザ認証,アクセス 制御  不正な入力への対応 SQL インジェクション クロスサイトスクリプティング バッファオーバーラン  ファイアウォール  セキュア OS

3 本日の授業で学ぶ内容 暗号通信がセキュリティのすべてではない 不正な入力のパターンを知り,それを防止する 機密性と可用性のバランスをとるには,アクセス制限  まずすべて拒否し,必要なものだけ許可する

4 なぜ,サーバサイドのセキュリティを考えるのか サーバが攻撃されると …  ネットワークが機能しなくなる サービス(顧客など,外からのアクセス)に対応できな い! LAN の外にアクセスできない!  知らないうちに加害者になることも 踏み台攻撃, DDoS ( Distributed Denial of Service )攻 撃  報道などにより,社会的信頼を低下する

5 典型的なWebサーバ環境 クライアント 入力 We b サー バ 問い合わせ データベー スサーバ PC ( Window s) UN IX Apac he Postg reSQL MyS QL Ora cle SQ L 検索結果 HT TP Ser vle t CGI SS L 出力(HT ML,画像 など)

6 SSL利用の留意点 サーバ証明書は自作できるが,その分,信頼性がない  「オレオレ証明書」 クライアント証明書は必須ではない クライアント認証はできても,ユーザ認証はしていない

7 Webアクセスでのアクセス制御・ユーザ認証 アクセス制御やユーザ認証をしていないと …  だれでもコンテンツにアクセス可能  Googlebot (crawler) などがコンテンツを取っていくかも 「リンクを張ってないから」は言い訳にならない crawler

8 Webアクセスでのユーザ認証法( Apache ) Basic 認証  ユーザ名とパスワードを指定すればアクセス可能になる.  不特定のアクセスを排除する  パスワードは暗号化されない  認証後の通信も暗号化されない Digest 認証  パスワードは暗号化される  認証後の通信は暗号化されない パスワードファイルをサーバに設置する  /etc/passwd と別  Web アクセスで見えないところに置く!

9 アクセス制御 どこからのアクセスを許可・拒否するか サーバ内のどの情報へのアクセスを許可・拒否するか 設定ファイル( Apache )  httpd.conf, apache.conf など  編集には一般に root 権限が必要 order deny,allow deny from all allow from.wakayama-u.ac.jp allow from / アクセス制限の記述例 対象ディレクト リ まず拒否 許可する 接続元ホスト 名 許可する 接続元 IP アドレ ス

10 Webアクセスでの不正な入力 ディレクトリトラバーサル SQL インジェクション クロスサイトスクリプティング バッファオーバーラン(バッファオーバーフロー)

11 ディレクトリトラバーサル CGIを使って, Web アクセスで通常見ることのできな いファイルが見えてしまう  対策 ファイル名を指定するような入力フォームは作らない 「../ 」といった入力を適切に検出し,エラーとして扱う ファイルを開く前に,開いていいファイルか,そのフル パスから判断する( ×/etc/passwd, ○/var/www/data/file1 )

12 SQL インジェクション 期待される入力と SQL 文  SELECT count(*) FROM users WHERE username='takehiko' AND password='abcd'; 悪意のある入力と SQL 文  SELECT count(*) FROM users WHERE username='takehiko' AND password='1' OR 'X'='X'; delete 文を埋め込んで,レ コードをすべて削除してしま うかも

13 SQL インジェクションへの対策 入力中の特殊な文字をエスケープする(サニタイジン グ)  「 ' 」 → 「 \' 」など プレースホルダ(準備済み SQL 文)を使用する  $sth = $dbh->prepare(q{ SELECT count(*) FROM usertable WHERE username=? AND password=? });  $sth->execute($username, $password);  サニタイジングは,安全に処理してくれるライブラリルー チン (先人の知恵)にお任せ Perlの コード例 SELECT count(*) FROM users WHERE username='takehiko' AND password='1\' OR \'X\'=\'X'; 上の例で $username が「 takehiko 」, $password が 「 1' OR 'X'='X 」なら …

14 クロスサイトスクリプティング XSS とも書く 問題(悪意)ある URL でアクセスすると, Cookie などブ ラウザの情報が漏洩することがある  アクセス先のホスト(Webサーバ)は,企業などで,悪 意はない ただし現在では,対策をしていないアプリケーションは 脆弱性があると言ってよい  URL に JavaScript のコードが埋め込まれていることが多い

15 クロスサイトスクリプティングへの対策 サーバ側  サニタイジング 「 」 → 「 > 」,「 " 」 → 「 " 」 など クライアント側  アクセスしようとする URL をよく確認する HTML メールはできれば使わない URL エンコーディング(「 %3C 」など)に注意

16 バッファオーバーラン C や C++ で,配列や malloc で確保した領域の範囲外に情 報を書き込み,実行できてしまうことがある  Webサーバに限らず,クライアント PC などでも起こり得 る  Webサーバの場合,やたら長いパスでアクセスしていれ ば,この攻撃を疑う 対策:  セキュリティ上問題のないバージョンのアプリケーション を使う  CGIなどを C か C++ で作る場合,範囲外にノーチェック で書き込める危険な関数( strcpy , sprintf など)は使わない

17 ファイアウォール ファイアウォールとは  組織内のコンピュータネットワークへ外部から侵入(不正 アクセス)されるのを防ぐシステム パケットフィルタリングとは  送られてきたパケットを検査して,通過させるかどうか判 断する,ファイアウォールの一つの機能 パケットヘッダに含まれている情報:プロトコル,送信 元・先の IP アドレス,ポート番号など Linux でパケットフィルタリングをするには …iptables

18 iptables Linux でのパケットフィルタリングツール  どこからのアクセスを許可・拒否するか  どのインタフェースのアクセスを許可・拒否するか  どのポート番号のアクセスを許可・拒否するか NAT (Network Address Transformation) の機能もある OK NG

19 iptables の利用方法の基本 外からのアクセス (INPUT) は基本的に DROP ,必要に応 じて ACCEPT lo (localhost に関するインタフェース)は ACCEPT  インタフェースは /sbin/ifconfig を実行すればわかる LAN など,信頼できるネットワークからのアクセスはす べて ACCEPT でもよい 外からのアクセスに必要最小限なポートも ACCEPT  ssh (22) , http (80) , https (443), smtp (25) など  一律 ACCEPT ではなく,本当に必要なもののみにする! ACCEPT のルールに当てはまらないものは, LOG をとる のもよい

20 ブロードバンドルータはセキュリティに役立つ? PC ( Windows でも PC-UNIX でも)をインターネットに 直結するのは,攻撃やウイルス感染のもと! まずブロードバンドルータを導入して,外からのアクセ スを遮断する. 外からのアクセスを受け入れたいなら,「バーチャル サーバ」などの機能を使う DMZ (DeMilitarized Zone) 機能はなるべく使わない.使 うときは,アクセス先計算機のファイアウォールをきち んと設定してから.

21 UNIX の安全性 root は全能の神 ⇒ root 権限を奪われる(権限昇格)と,何でもされてし まう セキュアOS  既存の OS と互換性は保ちつつ,神のような強大な権限を なくす  「強制アクセス制御( Mandatory Access Control, MAC )」と 「最小特権」を持つ Linux におけるセキュアOS  SELinux (Security Enhanced Linux)  LIDS (Linux Intrusion Ditection System)

22 まとめ サーバの安全性には最大の注意を払う サーバのセキュリティを知ることで分かる「パソコンの セキュリティ」もある