Presentation is loading. Please wait.

Presentation is loading. Please wait.

最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2012/04/20)

Similar presentations


Presentation on theme: "最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2012/04/20)"— Presentation transcript:

1 最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2012/04/20)
北海道大学大学院 理学院 宇宙理学専攻 三上 峻

2 目次 Linux とは Linux のデータ管理 Linux のアカウントシステム アカウントが盗まれたら 良いパスワードを付ける

3 1. Linux とは

4 そもそも OS とは何? はじめに 貴方の周りのパソコンを思い浮かべてください そのパソコンで使っている OS は何でしょう?
Windows Mac OS Unix 系(Linux, FreeBSD など) その他 この授業で使うのは Linux そもそも OS とは何? UNIX と類似のオペレーティングシステム全体を指して「Unix系」と表現することもある。 BSD(ビーエスディー)は、Berkeley Software Distribution の略語で、 カリフォルニア大学バークレー校 (University of California, Berkeley, UCB) において開発・配布が行われたソフトウェア群 Linux とBSD の大きな違い BSD は特定の限られた人しか開発に加われない Linux はプログラムを読めて書ける人ならば開発に加われる Linux は目玉の数が多いのでバグを見つけやすい

5 OS (Operating System) 計算機を管理・操作するための基本的なソフトウェア
アプリケーションソフトとは特定の目的の為に作られた ソフトのこと(例 : Excel, Internet Explorer など) OS の中核はカーネルと呼ばれる アプリケーションソフトとハードウェアとの仲介を務める Windows Macでもカーネルは存在する OS(と呼ばれるソフトウェア)によって計算機ハードウェアが管理されている カーネル: 階層型に設計されたオペレーティングシステム (OS) の中核となる部分である。システムのリソースを管理し、ハードウェアとソフトウェアコンポーネントのやりとりを管理する。 BIOS(),シェル(プログラムの起動や制御を行うプログラム)ときちんと区別できるように OS はアプリケーションを動かす土台 ハードウェアの説明: メモリやプロセッサのように実体のあるもの

6 この授業で用いる OS: Linux Linus Torvalds 氏が開発 (1991) フリーソフトウェア
Unix の勉強の為にゼロから開発 Linus + Unix = Linux (諸説あり) フリーソフトウェア 無料 オープンソース 異常を示した時に対処しやすい システムを自分好みにカスタマイズ可能 ソフトウェアの脆弱性にメーカーではなくユーザ間で 対応 ウェブ上のフリーのマニュアルも充実 ただし,無保証!! 脆弱(ぜいじゃく) Linux = Linux Is Not UniX オープンソース とは中身が見れる ⇔ ブラックボックス フリーの意味:誰でも自由に複製, 変更, 配布可能.単純に無料という意味ではない. フリーソフトウェアとオープンソース: 基本的には同じもの.オープンソースはフリーソフトウェアのマーケティング用語. 無保証, 即ち自己責任.

7 INEX では なぜ Debian を使うのか Linux ディストリビューション Linux ディストリビューション
インストーラやパッケージ管理システムも含む システム管理が便利に行える Linux ディストリビューションの例 Debian GNU/Linux, Ubuntu Linux, Red Hat Linux(商用) INEX では なぜ Debian を使うのか * カーネルだけだとコマンドも実行できないし, ブラウザもテキストエディタも使えない * パッケージとは各種アプリケーションを組み合わせたもののこと(口頭で説明).

8 INEX ではなぜ Debian GNU/Linux か
フリーOS フリー = 無料 + オープンソース 堅牢なパッケージ管理システム 最初にパッケージ管理システムを導入 安心の三段階審査 サーバの構築・管理に便利 必要最小限のシステム構成にすることが比較的容易 セキュリティを高める上で重要 歴史的背景と身内的事情 差別化 (Debian のパッケージ管理システムは出来がいい→他のディストリビューションも真似している) 一般的なパッケージ管理システムとは何かを口頭で説明するべき Unstable test release * Debian は安定性を優先, Fedora は安定性よりも実験的要素を優先する傾向. * 少なくとも debian は 1994 年の時点でパッケージ管理システムを備えていたようだ. * * Fedora は今も余計なアプリケーションがデフォルトで入ってしまったりするのだろうか?

9 2. Linux のデータ管理

10 Linux のデータ管理 全てファイルとして扱われる ファイルはディレクトリにより階層的に管理
アプリケーションソフト, 周辺機器さえもファイル マウス, キーボード, ハードディスク ファイルはディレクトリにより階層的に管理 ディレクトリ とはファイルを格納するためのファイル Windows で言えばフォルダ ディレクトリの中にディレクトリを格納することも可能 アプリケーション パワポとかもそう 周辺機器: マウス,キーボード,ハードディスク

11 Linux のディレクトリ階層構造 ルートディレクトリ “/” を起点とするツリー構造 / (root) home etc usr proc
foo bar bin lib ・・・・

12 ディレクトリの呼び方 ホームディレクトリ home ディレクトリとは異なる 各ユーザ用ディレクトリ “~” (チルダ)で表す
/ (root) home etc foo bar work ・・・・ test.txt ホームディレクトリ home ディレクトリとは異なる 各ユーザ用ディレクトリ “~” (チルダ)で表す カレントディレクトリ 現在いるディレクトリ “.” (ドット)で表す 親ディレクトリ 一段上のディレクトリ “..” (ドットドット)で表す 子ディレクトリ 一段下のディレクトリ

13 ファイルの指定方法 パス 絶対パスを用いた指定 相対パスを用いた指定 “~” を用いた指定 目的のファイルにたどり着くた めの道順
/ (root) home etc foo bar work ・・・・ test.txt パス 目的のファイルにたどり着くた めの道順 絶対パスを用いた指定 ルートディレクトリ “/” を起点 /home/foo/test.txt /home/foo/work 相対パスを用いた指定 カレントディレクトリ “ . ” を起点 ../foo/test.txt ../foo/work “~” を用いた指定 ホームディレクトリを起点 ~foo/test.txt ~foo/work ~を使う指定法は絶対パスを用いる指定の一種だろう.

14 ディレクトリに関するコマンド cd pwd ls tree mkdir, rmdir rm ディレクトリを移動する
現在のディレクトリの場所を絶対パスで表示 ls ディレクトリの中身や情報を表示 tree ファイル・ディレクトリをツリー形式で表示 mkdir, rmdir ディレクトリを作成・削除 rm ファイル・ディレクトリを削除 詳しくは実習編で!! ~を使う指定法は絶対パスを用いる指定の一種だろう.

15 3. Linux のアカウントシステム

16 アカウントシステム 権利者を事前に登録 (アカウント作成)するシステム アカウント情報 アカウントをもらうとログインができる
登録しないと使えない/使わせない アカウント情報 アカウント名 パスワード フルネーム 住所     等. アカウントをもらうとログインができる 一文目の書き方を工夫する? 昔Win はアカウントシステムを使っていなかった.(2000からアカウントシステムを導入 ) みんなで使っていた(例:お父さんのフォルダ,お母さんのフォルダ)

17 Windows の場合

18 Windows の場合

19 Linux の場合

20 Linux の場合

21 Linux のログインとアカウントの種類 必要な入力事項はアカウント名とパスワードのみ アカウントの種類 計算機管理者(root)
計算機内での最高権限者 全権限を行使可能 例:新規アカウントの作成など 一般ユーザ root 以外のアカウント(さっきの画像では takashi) 計算機自体の運用については不可触 例:シャットダウンすらできない Win だとゲストでもroot みたいな振る舞いができる guest と administrator 明確な区別をする

22 アカウントシステム 安全・円滑に共用を可能にする利用方式 アカウントを持つ人はパスワードを守る義務を負う
一つのマシンを複数のユーザで使うことができる 他人のデータの操作を防止できる アカウントを持つ人はパスワードを守る義務を負う 漏えいすると取り返しのつかないことに・・・ 自分だけでなく他人にまで迷惑がかかる クラッキング(計算機の不正使用) される ハッキングは誤用であることを伝える ハッキングはコンピュータの隅々まで熟知したものが行うハードウェア・ソフトウェアのエンジニアリングを意味する 要するに,コンピュータのスペシャリスト全般をハッカーという. ハッキング全国大会なるものが存在

23 4. アカウントが盗まれたら

24 アカウントクラック時の被害(1) : 本人 自分のアカウント情報書き換え データの盗難・破壊 将来にわたっての継続的な不安
パスワードが変更されればログイン不可 データの盗難・破壊 自分が蓄積した経験が水泡に帰す… 将来にわたっての継続的な不安 盗み見られたデータに基づく恐喝 ネットワークへのデータ流出に伴う半永久的な損害 一旦出てしまえば事実上回収は不可能 いつどこで悪用されるかわからない 世界とつながっているので,誰が回収したか特定不能

25 クラック時の被害(2) : 他のユーザ 計算機の運用妨害 他のアカウントへの被害波及 高負荷処理によるサービス妨害
一旦ログインできればあとは比較的簡単 特にルートクラック ≒ 計算機の運用停止につなが る

26 ルートクラックの恐ろしさ 計算機の全情報が自由に操作される 一度でもルートクラックされると・・・
計算機管理者は絶対主権者なので計算機の全情報 を見られる・変更できる・消去できる 一度でもルートクラックされると・・・ クラッカー達の鴨リストに載り, そのマシン情報はす ぐにネットワークを通じて拡散する 容易に暴けるクラック対象として世界中から集中攻 撃を受けるようになる 数カ月おきにクラックされるようになる 計算機の運用停止に追い込まれる こうして joho21 は・・・ Joho21 はたぶん2000年代

27 クラック時の被害(3) : 世界 同一ネットワーク内の他の計算機へ侵入 インターネットを通じてより大規模なクラックへの踏 み台として悪用
「自分の手」を汚さずに「内側」からクラック インターネットを通じてより大規模なクラックへの踏 み台として悪用 クラックした複数のマシンをさらなるクラックのための 高速計算に転用 多数のマシンを使っての大規模なサービス妨害 犯罪等への加担 フィッシング詐欺などに転用 時には国際問題にも発展 ネットワークにつながった計算機 = 凶器になりうる じゅんきむさんが院生時代某T大のお方もこのようなことで退学処分になった サイバー戦争について調べる (エストニア 官庁のホームページの改ざん 国内のパソコンが踏み台にされる)

28 このような被害を 出さないためにも アカウントを持つ人は 良いパスワードをつけて 計算機を守る義務がある
このような被害を 出さないためにも アカウントを持つ人は 良いパスワードをつけて 計算機を守る義務がある

29 5. 良いパスワードを付ける

30 敵はどのように パスワードを狙うのか? 良いパスワードとは何か パスワードにも善し悪しがある 必要な条件 理想
「弱い」パスワードはほとんど役に立たない 必要な条件 なによりも頑丈さ (十分な長さ, 8文字以上) 他者にとっての使いにくさ(英数字, 大文字, 記号) 理想 自分にとっての使いやすさ (憶えやすさ, 忘れにくさ) 敵はどのように パスワードを狙うのか? クラックの方法を把握することでどんなパスワードがよくて,悪いかを具体的にみる 8文字以上も最近では微妙 強くても悪いパスワードがある 覚えられないパスワード等

31 クラッキングの手法 Brute Force Attack(BFA, 総当たり攻撃) Dictionary Attack (DA, 辞書攻撃)
考えられる全てのパスワードを片っ端から試す 解読に要する時間は字数に大きく依存 一文字増えるごとに指数関数的に長くなる 1 か月継続的に試すクラッカーは(現実的には)いない Dictionary Attack (DA, 辞書攻撃) 様々な分野の単語を記録したクラッキング用辞書を使う BFA より極めて効率的 大文字,小文字,数字を組み合わせてクラックできる 例:o →O(小文字を大文字に),i → 1(英語を数字に) 総当たり攻撃 a b c d とか順番にやる

32 具体的な良いパスワードの条件 8文字以上並べる 可能な範囲でばらばらの文字・記号を使う 推定しやすい文字列を用いない
大文字, 小文字, 数字, 記号 推定しやすい文字列を用いない 辞書にある単語 個人情報から連想できる言葉 簡単な規則のみで置き換えた文字列を用いない 逆つづり(yranoitcid), 繰り返し(dictionarydictionary) 小文字→大文字(YranoItcid), 小文字→数字 (yran01tc1d) 今は8文字でも危ないかもしれない クラックに使う計算機にもよるが,7文字から8文字に変えるだけで日から年にかわる 400万アタック / sec 7文字 : 129 日 8 文字 : 31 年

33 パスワードの例 悪いパスワード 良いパスワード もちろんこのパスワードは すでに良いパスワードではない
Pneumonoultramicroscopicsilicovolcanoconiosis - 塵肺症(45文字) Flower,hokudai,mikataka etc... - 単語・固有名詞・個人情報から推定できるもの 良いパスワード スリジャヤ・ワルダナ・プラコッテ(スリランカの首都)を少 しいじってみる srjywrdnprkt Srjy!Wrdn$Prkt# もちろんこのパスワードは すでに良いパスワードではない 今は8文字でも危ないかもしれない クラックに使う計算機にもよるが,7文字から8文字に変えるだけで日から年にかわる 400万アタック / sec 7文字 : 129 日 8 文字 : 31 年 スリジャヤワルダナプラコッテ Srjywrdnprkt

34 パスワードマナー パスワード打鍵時は視線を逸らす アカウントの貸し借りはしない パスワードは誰にも教えない
「ソーシャルクラッキング」と呼ばれる立派なクラック手 法 アカウントの貸し借りはしない パスワードは誰にも教えない パスワードをメモしない(方がいい) やむを得ずメモする場合は 見せない・捨てない・失くさない 同じパスワードを使いまわさない パスワードは定期的に変更する 初期パスワードは迅速にログインしたうえで変更す る 初期パスの話はRPS の話とも併せて説明

35 Linux をいじり倒す準備をする 実習編では・・・ アカウント作成 ログイン・ログアウト 簡単なコマンドの実行 ディレクトリ階層構造の理解
アカウント名 良いパスワード ログイン・ログアウト 簡単なコマンドの実行 ディレクトリ階層構造の理解 ディレクトリの移動 カレントディレクトリの把握 ファイルの指定 (絶対パス, 相対パス)

36 まとめキーワード OS 関係 データ管理 アカウントシステム パスワード OS Linux
Linux ディストリビューション, Debian データ管理 ファイル, ディレクトリ 絶対パス, 相対パス, チルダ(~) アカウントシステム root パスワード クラッキング, ルートクラック, ソーシャルクラッキング BFA, DA

37 参考文献(1) 日本ネットワークセキュリティ協会教育部会, 2009 情報セキュリティプロフェッショナル教科書, アスキー・メ
  ディアワークス 林晴比古, 2004, 改訂 新 Linux/Unix 入門, ソフトバンククリエイティブ 橋本英勝, 2010, 基礎からのLinux 改訂版, ソフトバンククリエイティブ

38 参考文献(2) LinuxとFreeBSD等の違いを使用感から述べてみました
pc/freebsd/etc/Linux%82%C6FreeBSD%81%95etc.pf GUIとCUI - 南野 輝 GUIとCUI(2) - 京都産業大学

39 参考文献(3) 情報実験第 2 回講義資料 最低限UNIX(1) UNIX における パスワード - 高橋康人
pub/ 情報実験第 3 回講義資料 最低限UNIX(2) Linux 入門 - 山下 達也 pub/

40 付録:Linux 内のアカウント情報 他の情報と同じくファイルとして保存 /etc/passwd /etc/shadow
3つに分けて保存されている /etc/passwd アカウントの基本情報。閲覧制限なし /etc/shadow アカウントの暗号化済みパスワード情報。 root のみ 閲覧可。 /etc/group グループの基本情報。閲覧制限なし グループについては最低限UNIX Ⅱ を参照

41 付録:ドットファイル(隠しファイル) ドットファイルの例 ユーザの環境設定用ファイル
.bashrc, .bash_profile, .emacs など ユーザの環境設定用ファイル “ . ” で始まるファイル 各ユーザのホームディレクトリ直下に存在 ls (ファイル一覧表示コマンド) と打っただけでは表示 されない (ls –a と打つべし) 日本語環境の設定など 削除したり書き換えする際には慎重に ! ! 実習編でも紹介 コマンドとは Unix に対してプログラムを動かすように指令を出す時に用いるもの

42 付録:”/”以下のディレクトリの役割(一部)
/home : ユーザ用ディレクトリ 各ユーザのホームディレクトリを格納 /usr : 各種プログラム用ディレクトリ カーネルソースや共有プログラムを格納 /etc : システム管理用の各種設定ファイルを格納 /proc : カーネルの動作情報を示す, 特殊なファイルを格納 その他にもたくさんあります 詳しくは実習編の発展のページで * ホームディレクトリ: ログイン時に最初にいるディレクトリ * /usr 以下に共有のプログラムを置くのはまさにフリーソフトウェアの思想の象徴


Download ppt "最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2012/04/20)"

Similar presentations


Ads by Google