最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2012/04/20) 北海道大学大学院 理学院 宇宙理学専攻 三上 峻 目次 1. 2. 3. 4. 5. Linux とは Linux のデータ管理 Linux のアカウントシステム アカウントが盗まれたら 良いパスワードを付ける 1. Linux とは はじめに • 貴方の周りのパソコンを思い浮かべてください • そのパソコンで使っている OS は何でしょう? ▫ ▫ ▫ ▫ Windows Mac OS Unix 系(Linux, FreeBSD など) その他 • この授業で使うのは Linux そもそも OS とは何? OS (Operating System) • 計算機を管理・操作するための基本的なソフトウェア • OS のお蔭で異なる計算機でも同じアプリケーション ソフト(パッケージ)が動作する ▫ アプリケーションソフトとは特定の目的の為に作られた ソフトのこと(例 : Excel, Internet Explorer など) • OS の中核はカーネルと呼ばれる ▫ アプリケーションソフトとハードウェアとの仲介を務める この授業で用いる OS: Linux • Linus Torvalds 氏が開発 (1991) ▫ Unix の勉強の為にゼロから開発 ▫ Linus + Unix = Linux (諸説あり) • フリーソフトウェア ▫ 無料 ▫ オープンソース 異常を示した時に対処しやすい ▫ システムを自分好みにカスタマイズ可能 ▫ ソフトウェアの脆弱性にメーカーではなくユーザ間で 対応 ▫ ウェブ上のフリーのマニュアルも充実 ▫ ただし,無保証!! http://adamjarret.com/blog/index.php/2009/11/linus-torvalds-interviewed-on-floss-weekly/ Linux ディストリビューション • Linux ディストリビューション ▫ Linux カーネルに各種アプリケーションを加えたもの Linux というものは本来カーネルのみを指す ▫ インストーラやパッケージ管理システムも含む システム管理が便利に行える • Linux ディストリビューションの例 ▫ Debian GNU/Linux, Ubuntu Linux, Red Hat Linux(商用) INEX では なぜ Debian を使うのか INEX ではなぜ Debian GNU/Linux か • フリーOS ▫ フリー = 無料 + オープンソース • 堅牢なパッケージ管理システム ▫ 最初にパッケージ管理システムを導入 ▫ 安心の三段階審査 • サーバの構築・管理に便利 ▫ 必要最小限のシステム構成にすることが比較的容易 セキュリティを高める上で重要 2. Linux のデータ管理 Linux のデータ管理 • 全てファイルとして扱われる ▫ アプリケーションソフト, 周辺機器さえもファイル マウス, キーボード, ハードディスク • ファイルはディレクトリにより階層的に管理 ▫ ディレクトリ とはファイルを格納するためのファイル Windows で言えばフォルダ ▫ ディレクトリの中にディレクトリを格納することも可能 Linux のディレクトリ階層構造 • ルートディレクトリ “/” を起点とするツリー構造 / (root) ・・・・ home etc usr proc ・・・・ foo bar bin lib ディレクトリの呼び方 • ホームディレクトリ ▫ home ディレクトリとは異なる ▫ 各ユーザ用ディレクトリ ▫ “~” (チルダ)で表す • カレントディレクトリ ▫ 現在いるディレクトリ ▫ “.” (ドット)で表す • 親ディレクトリ ▫ 一段上のディレクトリ ▫ “..” (ドットドット)で表す • 子ディレクトリ ▫ 一段下のディレクトリ / (root) ・・・・ home etc foo bar work test.txt ファイルの指定方法 • パス ▫ 目的のファイルにたどり着くた めの道順 / (root) • 絶対パスを用いた指定 ・・・・ ▫ ルートディレクトリ “/” を起点 /home/foo/test.txt /home/foo/work home etc foo bar • 相対パスを用いた指定 ▫ カレントディレクトリ “ . ” を起点 ../foo/test.txt ../foo/work • “~” を用いた指定 ▫ ホームディレクトリを起点 ~foo/test.txt ~foo/work work test.txt ディレクトリに関するコマンド • cd ▫ ディレクトリを移動する • pwd ▫ 現在のディレクトリの場所を絶対パスで表示 • ls ▫ ディレクトリの中身や情報を表示 • tree ▫ ファイル・ディレクトリをツリー形式で表示 ▪ mkdir, rmdir ▫ ディレクトリを作成・削除 ▪ rm ▫ ファイル・ディレクトリを削除 詳しくは実習編で!! 3. Linux のアカウントシステム アカウントシステム • 権利者を事前に登録 (アカウント作成)するシステム • 登録しないと使えない/使わせない • アカウント情報 • • • • アカウント名 パスワード フルネーム 住所 等. • アカウントをもらうとログインができる Windows の場合 Windows の場合 Linux の場合 Linux の場合 Linux のログインとアカウントの種類 • 必要な入力事項はアカウント名とパスワードのみ • アカウントの種類 ▫ 計算機管理者(root) 計算機内での最高権限者 全権限を行使可能 例:新規アカウントの作成など ▫ 一般ユーザ root 以外のアカウント(さっきの画像では takashi) 計算機自体の運用については不可触 例:シャットダウンすらできない アカウントシステム • 安全・円滑に共用を可能にする利用方式 • 一つのマシンを複数のユーザで使うことができる • 他人のデータの操作を防止できる • アカウントを持つ人はパスワードを守る義務を負う ▫ 漏えいすると取り返しのつかないことに・・・ 自分だけでなく他人にまで迷惑がかかる ▫ クラッキング(計算機の不正使用) される 4. アカウントが盗まれたら アカウントクラック時の被害(1) : 本人 • 自分のアカウント情報書き換え ▫ • パスワードが変更されればログイン不可 データの盗難・破壊 ▫ • 自分が蓄積した経験が水泡に帰す… 将来にわたっての継続的な不安 ▫ ▫ 盗み見られたデータに基づく恐喝 ネットワークへのデータ流出に伴う半永久的な損害 一旦出てしまえば事実上回収は不可能 いつどこで悪用されるかわからない クラック時の被害(2) : 他のユーザ • 計算機の運用妨害 ▫ • 高負荷処理によるサービス妨害 他のアカウントへの被害波及 ▫ ▫ 一旦ログインできればあとは比較的簡単 特にルートクラック ≒ 計算機の運用停止につなが る ルートクラックの恐ろしさ • 計算機の全情報が自由に操作される ▫ 計算機管理者は絶対主権者なので計算機の全情報 を見られる・変更できる・消去できる • 一度でもルートクラックされると・・・ 1. クラッカー達の鴨リストに載り, そのマシン情報はす ぐにネットワークを通じて拡散する 2. 容易に暴けるクラック対象として世界中から集中攻 撃を受けるようになる 3. 数カ月おきにクラックされるようになる 4. 計算機の運用停止に追い込まれる ▫ こうして joho21 は・・・ クラック時の被害(3) : 世界 • 同一ネットワーク内の他の計算機へ侵入 ▫ • 「自分の手」を汚さずに「内側」からクラック インターネットを通じてより大規模なクラックへの踏 み台として悪用 ▫ クラックした複数のマシンをさらなるクラックのための 高速計算に転用 ▫ 多数のマシンを使っての大規模なサービス妨害 • 犯罪等への加担 ▫ フィッシング詐欺などに転用 ▫ 時には国際問題にも発展 • ネットワークにつながった計算機 = 凶器になりうる このような被害を 出さないためにも アカウントを持つ人は 良いパスワードをつけて 計算機を守る義務がある 5. 良いパスワードを付ける 良いパスワードとは何か • パスワードにも善し悪しがある ▫ 「弱い」パスワードはほとんど役に立たない • 必要な条件 ▫ なによりも頑丈さ (十分な長さ, 8文字以上) ▫ 他者にとっての使いにくさ(英数字, 大文字, 記号) • 理想 ▫ 自分にとっての使いやすさ (憶えやすさ, 忘れにくさ) 敵はどのように パスワードを狙うのか? クラッキングの手法 • Brute Force Attack(BFA, 総当たり攻撃) ▫ 考えられる全てのパスワードを片っ端から試す ▫ 解読に要する時間は字数に大きく依存 一文字増えるごとに指数関数的に長くなる 1 か月継続的に試すクラッカーは(現実的には)いない • Dictionary Attack (DA, 辞書攻撃) ▫ 様々な分野の単語を記録したクラッキング用辞書を使う ▫ BFA より極めて効率的 大文字,小文字,数字を組み合わせてクラックできる 例:o →O(小文字を大文字に),i → 1(英語を数字に) 具体的な良いパスワードの条件 • 8文字以上並べる • 可能な範囲でばらばらの文字・記号を使う ▫ 大文字, 小文字, 数字, 記号 • 推定しやすい文字列を用いない ▫ 辞書にある単語 ▫ 個人情報から連想できる言葉 • 簡単な規則のみで置き換えた文字列を用いない ▫ 逆つづり(yranoitcid), 繰り返し(dictionarydictionary) ▫ 小文字→大文字(YranoItcid), 小文字→数字 (yran01tc1d) パスワードの例 • 悪いパスワード ▫ Pneumonoultramicroscopicsilicovolcanoconiosis - 塵肺症(45文字) ▫ Flower,hokudai,mikataka etc... - 単語・固有名詞・個人情報から推定できるもの • 良いパスワード ▫ スリジャヤ・ワルダナ・プラコッテ(スリランカの首都)を少 しいじってみる srjywrdnprkt Srjy!Wrdn$Prkt# もちろんこのパスワードは すでに良いパスワードではない パスワードマナー • パスワード打鍵時は視線を逸らす ▫ 「ソーシャルクラッキング」と呼ばれる立派なクラック手 法 • アカウントの貸し借りはしない • パスワードは誰にも教えない • パスワードをメモしない(方がいい) ▫ やむを得ずメモする場合は 見せない・捨てない・失くさない • 同じパスワードを使いまわさない • パスワードは定期的に変更する • 初期パスワードは迅速にログインしたうえで変更す る 実習編では・・・ Linux をいじり倒す準備をする • アカウント作成 ▫ アカウント名 ▫ 良いパスワード • ログイン・ログアウト • 簡単なコマンドの実行 • ディレクトリ階層構造の理解 ▫ ディレクトリの移動 ▫ カレントディレクトリの把握 ▫ ファイルの指定 (絶対パス, 相対パス) まとめキーワード • OS 関係 ▫ ▫ ▫ • OS Linux Linux ディストリビューション, Debian データ管理 ▫ ▫ • ファイル, ディレクトリ 絶対パス, 相対パス, チルダ(~) アカウントシステム ▫ • root パスワード ▫ ▫ クラッキング, ルートクラック, ソーシャルクラッキング BFA, DA 参考文献(1) • 日本ネットワークセキュリティ協会教育部会, 2009 情報セキュリティプロフェッショナル教科書, アスキー・メ ディアワークス • 林晴比古, 2004, 改訂 新 Linux/Unix 入門, ソフトバンククリエイティブ • 橋本英勝, 2010, 基礎からのLinux 改訂版, ソフトバンククリエイティブ 参考文献(2) • LinuxとFreeBSD等の違いを使用感から述べてみました http://yatsute.s22.xrea.com/contents/article//everything/ pc/freebsd/etc/Linux%82%C6FreeBSD%81%95etc.pf • GUIとCUI - 南野 輝 http://www2s.biglobe.ne.jp/~chic/tron008.html • GUIとCUI(2) - 京都産業大学 http://www.cc.kyoto-su.ac.jp/~hirai/text/cui.html 参考文献(3) • 情報実験第 2 回講義資料 最低限UNIX(1) UNIX における パスワード - 高橋康人 http://www.ep.sci.hokudai.ac.jp/~inex/y2011/0422/lecture/ pub/ • 情報実験第 3 回講義資料 最低限UNIX(2) Linux 入門 山下 達也 http://www.ep.sci.hokudai.ac.jp/~inex/y2011/0506/lecture/ pub/ 付録:Linux 内のアカウント情報 • 他の情報と同じくファイルとして保存 ▫ 3つに分けて保存されている • /etc/passwd ▫ アカウントの基本情報。閲覧制限なし • /etc/shadow ▫ アカウントの暗号化済みパスワード情報。 root のみ 閲覧可。 • /etc/group ▫ グループの基本情報。閲覧制限なし ▫ グループについては最低限UNIX Ⅱ を参照 付録:ドットファイル(隠しファイル) • ドットファイルの例 ▫ .bashrc, .bash_profile, .emacs など • ユーザの環境設定用ファイル ▫ “ . ” で始まるファイル ▫ 各ユーザのホームディレクトリ直下に存在 ▫ ls (ファイル一覧表示コマンド) と打っただけでは表示 されない (ls –a と打つべし) ▫ 日本語環境の設定など ▫ 削除したり書き換えする際には慎重に ! ! ▫ 実習編でも紹介 付録:”/”以下のディレクトリの役割(一部) ▫ /home : ユーザ用ディレクトリ ▫ 各ユーザのホームディレクトリを格納 ▫ /usr : 各種プログラム用ディレクトリ ▫ カーネルソースや共有プログラムを格納 ▫ /etc : システム管理用の各種設定ファイルを格納 ▫ /proc : カーネルの動作情報を示す, 特殊なファイルを格納 その他にもたくさんあります 詳しくは実習編の発展のページで
© Copyright 2025 ExpyDoc