最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2013/04/19) 北海道大学大学院 理学院 宇宙理学専攻 三上 峻 目次 1. 2. 3. 4. 5. Linux とは Linux のデータ管理 Linux のアカウントシステム アカウントが盗まれたら 良いパスワードを付ける 1. Linux とは はじめに • 貴方の周り(家)のパソコンを思い浮かべてください そのパソコンで使っている OS は何でしょう? ▫ ▫ ▫ ▫ Windows Mac OS Linux その他 • この授業では Linux を使います そもそも OS とは何? OS (Operating System) • 計算機を管理・操作するための基本ソフトウェア • OS がないとアプリケーションソフトは動作しない ▫ アプリケーションソフトとは特定の目的の為に作られた ソフトウェアのこと(例 : Excel, Internet Explorer など) ▫ アプリケーションソフトとハードウェアとの仲介を務める OSはえらい http://crew-lab.sfc.keio.ac.jp/projects/2001ipl-text/info-2002-9/04/index.html この授業で用いる 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 カーネル(OSの中核,第3回)に各種アプリケーション を加えたもの •例 ▫ Debian系 Debian GNU/Linux Ubuntu ▫ Red Hat 系 Fedora CentOS Vine Linux(日本), Red Flag Linux(中国), Red Star OS(北朝鮮) INEX ではなぜ Debian GNU/Linux か • フリーOS ▫ フリー = 無料 + オープンソース • 堅牢なパッケージ管理システム ▫ 安心の三段階審査 ▫ 最初にパッケージ管理システムを導入 • サーバの構築・管理に便利 ▫ 必要最小限のシステム構成にすることが比較的容易 セキュリティを高める上で重要 2. Linux のデータ管理 Linux のデータ管理 • 全てファイルとして扱われる ▫ アプリケーションソフト, 周辺機器さえもファイル マウス, キーボード, ハードディスク… • ファイルはディレクトリにより階層的に管理 ▫ ディレクトリ とはファイルを格納するためのファイル Windows で言えばフォルダ ▫ ディレクトリの中にディレクトリを格納することも可能 Linux のディレクトリ階層構造 • ルートディレクトリ “/” を起点とするツリー構造 / (root) ・・・・ home etc usr proc ・・・・ foo bar bin lib ディレクトリの呼び方 • ホームディレクトリ ▫ 各ユーザ用ディレクトリ / (root) ▫ home ディレクトリとは異なる ▫ “~” (チルダ)で表す • カレントディレクトリ ▫ 現在いるディレクトリ ▫ “.” (ドット)で表す • 親ディレクトリ ▫ 一段上のディレクトリ ▫ “..” (ドットドット)で表す • 子ディレクトリ ▫ 一段下のディレクトリ ・・・・ 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 の場合 右のアカウントでログインしたい!! Windows の場合 アカウント名 パスワード入力[Enter] Linux の場合 ホスト名 (計算機の名前) アカウント名入力 [Enter] Linux の場合 パスワード入力(出力されない) [Enter] ログイン完了!! Linux のログインとアカウントの種類 • 必要な入力事項はアカウント名とパスワードのみ • アカウントの種類 ▫ 計算機管理者(root) 計算機内での最高権限者 全権限を行使可能 例:アカウントの新規作成・削除・システムファイルの編集 ▫ 一般ユーザ root 以外のアカウント(さっきの画像では mikataka) 計算機自体の運用については不可触 例:シャットダウンすら不可能 アカウントシステム • 安全・円滑に共用を可能にする利用方式 • 一つのマシンを複数のユーザで使うことができる • プライバシー • 他人からのデータの操作はパーミッション設定を適切にす ることで防止できる • アカウントを持つ人はパスワードを守る責務を負う ▫ 漏えいするとクラッキング(計算機の不正使用)される 恐れがある 自分だけでなく他人にまで迷惑がかかる(詳細は後述) パーミッション • ファイル・ディレクトリの利用権限 ▫ ファイル・ディレクトリに対して「誰が」「何を」していい のか ▫ すべてのファイル・ディレクトリにそれぞれパーミッショ ンが設定されている パーミッションはなぜ必要か? • 大事なものを守る ▫ プライバシーの保持 他者に見られたくないファイル メール・未発表の研究データ・ムフフなあいつ… 勝手に改変されると困るファイル 公開データ・自作プログラム・自分のウェブページ… ▫ システム管理等の重要ファイルの保護 /etc/shadow 等のシステムファイル(実技編発展 参照) 計算機を共同利用する上で,目的に応じた適切なパー ミッション設定が必要となる パーミッション具体例 chappy@joho38:/home/chappy/test$ ls -l 合計 28 -rwx-w-r-x 1 chappy epnetfan 17082 2011-12-11 12:22 ichigo.txt • 「誰が」 ▫ ファイル所有ユーザ(User) ▫ ファイル所有グループ(Group) ▫ その他(Others) • 「何を」 ▫ 読み取り(Read) ▫ 書き込み(Write) ▫ 実行(eXecute) • コマンド ▫ chmod (ファイルの権限の変更) ▫ chgrp (ファイルのファイル所有グループの変更) ▫ chown (ファイル所有ユーザの変更) • 例外 ▫ システム管理者( root )はパーミッション設定に関係なくあら ゆる権限を持つ 詳しくは実習編で!! 4. アカウントが盗まれたら アカウントクラック時の被害(1) : 本人 • 自分のアカウント情報書き換え ▫ • パスワードが変更されればログイン不可 データの盗難・破壊 ▫ • 自分が蓄積した経験が水の泡… 将来にわたっての継続的な不安 ▫ ▫ 盗み見られたデータに基づく恐喝 ネットワークへのデータ流出に伴う半永久的な損害 一旦出てしまえば事実上回収は不可能 クラック時の被害(2) : 他のユーザ • 計算機の運用妨害 ▫ • 高負荷処理によるサービス妨害 他のアカウントへの被害波及 ▫ ▫ 一旦ログインできればあとは比較的簡単 ルートクラック ≒ 計算機の運用停止 ルートクラックの恐ろしさ • 計算機の全情報が自由に操作される ▫ 計算機管理者は絶対主権者なので計算機の全情報 を見られる・変更できる・消去できる • 一度でもルートクラックされると・・・ 1. クラッカー達の鴨リストに載り, そのマシン情報はす ぐにネットワークを通じて拡散する 2. 容易に暴けるクラック対象として世界中から集中攻 撃を受けるようになる 3. 数カ月おきにクラックされるようになる 4. 計算機の運用停止に追い込まれる ▫ こうして joho21 は・・・ クラック時の被害(3) : 世界 • 同一ネットワーク内の他の計算機へ侵入 ▫ • 「自分の手」を汚さずに「内側」からクラック インターネットを通じてより大規模なクラックへの踏 み台として悪用 ▫ クラックした複数のマシンをさらなるクラックのための 高速計算に転用 ▫ 多数のマシンを使っての大規模なサービス妨害 • 犯罪等への加担 ▫ 時には国際問題にも発展 • ネットワークにつながった計算機 = 凶器になりうる このような被害を 出さないためにも アカウントを持つ人は 良いパスワードをつけて 計算機を守る義務がある 5. 良いパスワードを付ける まずは敵を知る(クラッキング手法) • Brute Force Attack(BFA, 総当たり攻撃) ▫ 考えられる全てのパスワードを片っ端から試す ▫ 解読に要する時間は字数に大きく依存 一文字増えるごとに指数関数的に長くなる 1 か月継続的に試すクラッカーは(現実的には)いない • Dictionary Attack (DA, 辞書攻撃) ▫ 様々な分野の単語を記録したクラッキング用辞書を使う ▫ BFA より極めて効率的 大文字,小文字,数字を組み合わせてクラックできる 例:o →O(小文字を大文字に),i → 1(英語を数字に) 良いパスワードとは • パスワードにも善し悪しがある ▫ 「弱い」パスワードはほとんど役に立たない • 必要条件 ▫ なによりも頑丈さ (十分な長さ, 様々な記号の使用) ▫ 他者にとっての使いにくさ(予想しにくい) • 理想 ▫ 自分にとっての使いやすさ (憶えやすい) 良いパスワードの必要条件 • 8文字以上並べる • 可能な範囲でばらばらの文字・記号を使う ▫ 大文字, 小文字, 数字, 記号 • 推定しやすい文字列を用いない ▫ 辞書にある単語 ▫ 個人情報から推定できる言葉 • 簡単な規則のみで置き換えた文字列を用いない ▫ 逆つづり(yranoitcid), 繰り返し(dictionarydictionary) ▫ 小文字→大文字(YranoItcid), 小文字→数字 (yran01tc1d) パスワード例 • 悪いパスワード ▫ 単語・固有名詞・個人情報から推定できるもの Flower,hokudai,mikataka … ▫ 専門用語 Pneumonoultramicroscopicsilicovolcanoconiosis (塵肺症) • 良いパスワード ▫ スリジャヤ・ワルダナ・プラコッテ(スリランカの首都)を少し いじってみる srjywrdnprkt Srjy!Wrdn$Prkt# もちろんこのパスワードは すでに良いパスワードではない パスワードマナー • パスワード打鍵時は視線を逸らす ▫ 「ソーシャルクラッキング」と呼ばれる立派なクラック手 法 • パスワードは誰にも教えない • パスワードはメモしない(方がいい) ▫ やむを得ずメモする場合は 見せない・捨てない・失くさない • 同じパスワードを使いまわさない • パスワードは定期的に変更する • 初期パスワードは迅速にログインしたうえで変更す る 実習編では・・・ Linux をいじり倒す準備を整える • アカウント作成 ▫ アカウント名 ▫ 良いパスワード • ログイン・ログアウト • 簡単なコマンドの実行 • ディレクトリ階層構造の理解 ▫ ディレクトリの移動 ▫ カレントディレクトリの把握 ▫ ファイルの指定 (絶対パス, 相対パス) • パーミッション設定 まとめキーワード • 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 2024 ExpyDoc