490 likes | 687 Views
最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2013/04/19). 北海道大学大学院 理学院 宇宙理学専攻 三上 峻. 目次. Linux とは Linux のデータ管理 Linux のアカウントシステム アカウントが盗まれたら 良いパスワードを付ける. 1. Linux とは. はじめに. 貴方の周り ( 家 ) のパソコンを思い浮かべてください そのパソコンで使っている OS は何でしょう ? Windows Mac OS Linux その他
E N D
最低限 Unix (Linux) I~ Linux 入門 ~情報実験 第 2 回 (2013/04/19) 北海道大学大学院 理学院 宇宙理学専攻 三上 峻
目次 • Linux とは • Linux のデータ管理 • 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 • フリー = 無料 + オープンソース • 堅牢なパッケージ管理システム • 安心の三段階審査 • 最初にパッケージ管理システムを導入 • サーバの構築・管理に便利 • 必要最小限のシステム構成にすることが比較的容易 • セキュリティを高める上で重要
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 • 相対パスを用いた指定 • カレントディレクトリ “ . ” を起点 • ../foo/test.txt • ../foo/work • “~” を用いた指定 • ホームディレクトリを起点 • ~foo/test.txt • ~foo/work ・・・・ home etc foo bar work test.txt
ディレクトリに関するコマンド • cd • ディレクトリを移動する • pwd • 現在のディレクトリの場所を絶対パスで表示 • ls • ディレクトリの中身や情報を表示 • tree • ファイル・ディレクトリをツリー形式で表示 • mkdir, rmdir • ディレクトリを作成・削除 • rm • ファイル・ディレクトリを削除 詳しくは実習編で!!
アカウントシステム • 利用者を事前に登録 (アカウント登録)するシステム • アカウントとは利用権限のことを指す • 登録しないと使えない/使わせない • アカウント情報 • アカウント名 • パスワード • フルネーム • 住所 等. • アカウントをもらうとログインができる • アカウントの貸し借りは絶対にしない
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) • 例外 • システム管理者( root )はパーミッション設定に関係なくあらゆる権限を持つ • コマンド • chmod (ファイルの権限の変更) • chgrp (ファイルのファイル所有グループの変更) • chown (ファイル所有ユーザの変更) 詳しくは実習編で!!
アカウントクラック時の被害(1) : 本人 • 自分のアカウント情報書き換え • パスワードが変更されればログイン不可 • データの盗難・破壊 • 自分が蓄積した経験が水の泡… • 将来にわたっての継続的な不安 • 盗み見られたデータに基づく恐喝 • ネットワークへのデータ流出に伴う半永久的な損害 • 一旦出てしまえば事実上回収は不可能
クラック時の被害(2) : 他のユーザ • 計算機の運用妨害 • 高負荷処理によるサービス妨害 • 他のアカウントへの被害波及 • 一旦ログインできればあとは比較的簡単 • ルートクラック ≒ 計算機の運用停止
ルートクラックの恐ろしさ • 計算機の全情報が自由に操作される • 計算機管理者は絶対主権者なので計算機の全情報を見られる・変更できる・消去できる • 一度でもルートクラックされると・・・ • クラッカー達の鴨リストに載り, そのマシン情報はすぐにネットワークを通じて拡散する • 容易に暴けるクラック対象として世界中から集中攻撃を受けるようになる • 数カ月おきにクラックされるようになる • 計算機の運用停止に追い込まれる • こうして joho21 は・・・
クラック時の被害(3) : 世界 • 同一ネットワーク内の他の計算機へ侵入 • 「自分の手」を汚さずに「内側」からクラック • インターネットを通じてより大規模なクラックへの踏み台として悪用 • クラックした複数のマシンをさらなるクラックのための高速計算に転用 • 多数のマシンを使っての大規模なサービス妨害 • 犯罪等への加担 • 時には国際問題にも発展 • ネットワークにつながった計算機 = 凶器になりうる
このような被害を 出さないためにも アカウントを持つ人は 良いパスワードをつけて 計算機を守る義務がある
まずは敵を知る(クラッキング手法) • 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 : カーネルの動作情報を示す, 特殊なファイルを格納 • その他にもたくさんあります • 詳しくは実習編の発展のページで