1.4 レッスン 1
Certificate: |
Linux Essentials |
---|---|
Version: |
1.6 |
Topic: |
1 Linuxコミュニティとオープンソースのキャリア |
Objective: |
1.4 ICTスキルとLinuxの操作 |
Lesson: |
1 of 1 |
はじめに
洗練されたデスクトップアプリケーションや、他のオペレーティングシステムに備わっているような設定ツールが欠けていたため、デスクトップでLinuxを使用するのは難しいと考えられていた時期がありました。その理由のいくつかは、Linuxが他の多くのオペレーティングシステムよりもはるかに若いことです。より本質的なコマンドラインアプリケーションから初めて、より複雑なグラフィックツールは後回しにすると言われたものです。初期のLinuxは、上級ユーザーを対象としていたので、それが問題となることはありませんでした。しかし、それらは既に過去のものです。今日、Linuxのデスクトップ環境は非常に成熟しており、機能や使いやすさに不足はありません。とはいえ、今でもコマンドラインは、上級ユーザーが毎日使用する強力なツールです。このレッスンでは、コマンドラインへのアクセスや、作業に最適なツールを選択するために必要な、基本的なデスクトップスキルを紹介していきます。
Linuxのユーザーインターフェイス
Linuxシステムを使用する場合は、コマンドラインないしはグラフィカルユーザーインターフェイスを操作します。どちらの方法でも、多数のアプリケーションにアクセスすることができ、コンピューターで行えるほとんどすべてのタスクが実行できます。既にレッスン1.2でポピュラーなアプリケーションを紹介しましたが、このレッスンでは、デスクトップ環境の紹介、ターミナルへのアクセス方法、プレゼンテーションやプロジェクト管理に使用するツールになどを見ていきます。
デスクトップ環境
Linuxには、システムのさまざまなパーツを、ニーズや目的に応じてさまざまなプロジェクトや開発者が開発してゆくという、モジュール式のアプローチがあります。ディストリビューションごとにデフォルトのデスクトップ環境が異なりますが、さらに、パッケージマネージャーで選択できるオプションのデスクトップ環境があります。ユーザーが自分のデスクトップ環境をOSに付属するものから変更できないWindowsやmacOSなどのプロプライエタリなオペレーティングシステムとは異なり、(Linuxでは)複数のデスクトップ環境をインストールして、ニーズに最もあった環境を選択できるのです。
Linuxの世界には、基本となる2つの主要なデスクトップ環境があります: Gnome (グノーム)と KDE です。どちらも非常に完成度が高く、大きなユーザーコミュニティを持ち、同じ目標を目指していますが、アプローチが少し異なります。簡単に言うと、GnomeはKISS( “keep it simple stupid”/シンプルにしておけ! このマヌケ)の原則に従い、合理的でクリーンなアプリケーションを使用します。対するKDEには別の視点があり、アプリケーションに対する多くの選択肢を持ち、環境の設定を柔軟に変更できます。
GnomeアプリケーションはGTKツールキット(C言語で記述)を利用しますが、KDEアプリケーションはQtライブラリ(C++で記述)を利用します。グラフィカルツールキットを使用してアプリケーションを作成する最も実用的な側面の1つは、同じツールキットを使用するアプリケーションが、同じルックアンドフィールを共有することです。これにより、ユーザーの体験に統一感を与えられます。また、頻繁に使用される多くのアプリケーションが同じ共有グラフィックライブラリを使用することで、メモリ領域を節約すると同時に、ライブラリが読み込まれる際の読み込み時間が短縮できることも、重要な特徴です。
コマンドラインへのアクセス
Linuxユーザーにとって、最も重要なアプリケーションの1つは、グラフィカル端末エミュレーターです。これらはターミナルエミュレーターと呼ばれます。実際に、グラフィカル環境において、古いスタイルのシリアル端末(テレタイプとも呼ばれます)をエミュレートするからです。これは、コンピュータを使用するときに、クライアントがリモートマシンに接続するために実際に使用していた方法です。これらのマシンは、Unixの最初のバージョンで使用されていた、グラフィックがまったくない極めてシンプルなコンピューターでした。
このようなアプリケーションは、Gnomeでは Gnome Terminal(グノーム・ターミナル)と呼ばれるもので、KDEでは Konsole (コンソール)と呼ばれるものです。他にも Xterm など、多くの選択肢があります。これらのアプリケーションを使い、シェルと対話するコマンドライン環境にアクセスします。
まず、自分のディストリビューションのアプリケーションメニューを見て、ターミナルアプリケーションを探します。違いはありますが、それぞれのアプリケーションは、コマンドラインの利用に必要なすべてのものを提供します。
端末に入る別の方法は、仮想TTYを使用することです(訳注: この方法が使えるのはPCアーキテクチャに限られます)。キーボードで Ctrl+Alt+F# を押します( F# は、ファンクションキー1〜7)。(ディストリビューションによって異なりますが)最も若いファンクションキーとの組み合わせは、セッション・マネージャーもしくはグラフィカル環境を実行しているでしょう。他の番号は、ログイン名を要求するプロンプトを、次のように表示します:
Ubuntu 18.10 arrelia tty3 arrelia login:
ここで、arrelia
はマシンのホスト名、 tty3
は端末名で、上記のキーの組み合わせと F3 キー(すなわち Ctrl+Alt+F3 )を押した後に利用できる端末を示します。
ログイン名とパスワードを入力すると、ターミナルに入ります。ここ(tty3)にはグラフィカル環境がないため、最初にXまたはWaylandセッションを開始しないと、マウスを使用したり、グラフィカルアプリケーションを実行することができません。その方法はこのレッスンの範囲を超えています。
プレゼンテーションとプロジェクト管理
Linuxでのプレゼンテーションに最も重要なツールは、LibreOffice Impress です。これは、 LibreOffice と呼ばれるオープンソースオフィススイートの一部です。LibreOfficeは、 Microsoft Office を代替えするオープンソースの同等品です。 Powerpoint 用のPPTおよびPPTXファイルを開いて保存することもできます。とはいえ、ネイティブのODP Impressフォーマットを使用することがお勧めです。 ODPは、この種のファイルの国際標準である、より大きな Open Documentフォーマット の一部です。互換性の問題をさほど気にせずに、ドキュメントを何年もアクセスできる状態に保ちたい場合には、特に重要です。オープンな規格ですから、ロイヤリティやライセンスに支払うことなく、誰でもこのフォーマットを実装できます。また、新しいソフトウェアでもこのフォーマットと互換性がある可能性が高いので、好きなプレゼンテーションソフトウェアを自由に試してみることができます。
グラフィカルインターフェイスよりもコードを好む場合でも、いくつかのツールを選択できます。 Beamer は、 LaTeX コードからスライドプレゼンテーションを作成するLaTeXクラスです。 LaTeXとは、主に学術分野で科学的な文書を書くために使われる植字システム(タイプセッター)で、他のソフトウェアでは難しい複雑な数学記号を処理する能力が備わっています。大学にいて数式や数学に関わりがあるならば、Beamerを使用すると多くの時間を節約できます。
Webを使用して美しいプレゼンテーションを作成するには、 Reveal.js という素晴らしいNPMパッケージ(NPMはNodeJSにデフォルトのパッケージマネージャーです)も選択肢になります。Reveal.jsは、あらゆる解像度と画面サイズにうまく適応する、見栄えのよい対話的なプレゼンテーションを作成するために必要なJavaScriptのほとんどを提供しますので、自分でHTMLとCSSを記述できる場合には有用です。
最後に、 Microsoft Project の代わりが必要な場合は、 GanttProject または ProjectLibre を試すとよいでしょう。どちらもMicrosoft Projectとよく似ており、プロジェクトファイルには互換性があります。
産業界でのLinux利用
Linuxは、ソフトウェアおよびインターネット業界で頻繁に使用されています。 W3Techs の調査によると、インターネット上のWebサイトサーバーの約68%がUnixを搭載しており、その大部分がLinuxであると言われています。 (訳注: 2020年5月のレポートでは、UNIX系OSが70.6%とされています。)
この大規模な採用は、Linuxの自由な性質(無料のビールと言論の自由の両方)だけでなく、安定性、柔軟性、およびパフォーマンスによるものです。これらの特徴により、ベンダーはより低コストで拡張性の高いサービスを提供できます。現在、かなりの割合のLinuxシステムが、クラウド上の、IaaS(サービスとしてのインフラストラクチャー)、PaaS(サービスとしてのプラットフォーム)、またはSaaS(サービスとしてのソフトウェア)モデルのいずれかで実行されています。
IaaSは、仮想サーバーへのアクセスを提供することにより、大規模サーバーのリソースを共有する方法です。仮想マシンは、実際には、ハイパーバイザー(hypervisor)と呼ばれるソフトウェアが動いているホストマシン上で、ゲストとして実行されている複数のオペレーティングシステムです。ハイパーバイザーは、ホストマシンで利用可能なリソースをゲスト毎に分割して管理することで、これらのゲストOSを実行します。これを 仮想化 (virtualization)と呼びます。IaaSモデルでは、インフラストラクチャが使用する、わずかなリソースに対してのみ料金を支払います。
Linuxには、よく知られている3つのオープンソースハイパーバイザー( Xen (ゼン)、KVM 、および VirtualBox (バーチャルボックス))があります。 Xenは最も古いものです。KVMはXenを追い越して、最も有名なLinuxハイパーバイザーになりました。RedHatによって開発が支援されており、Red Hat自身や他のプレイヤー達が、パブリッククラウドサービスとプライベートクラウド構築の両方で使用しています。VirtualBoxは、Sun Microsystemsを買収したOracleの所有物で、利用と管理が簡単なことから、主にエンドユーザーが使用しています。
PaaSとSaaSは、技術的にも概念的にもIaaSモデルの上に構築されるものです。PaaSでは、ユーザーは仮想マシンではなく、アプリケーションをデプロイして実行するためのプラットフォームにアクセスします。PaaSの目標は、システム管理作業や、オペレーティングシステムの更新作業の負担を軽減することです。 HerokuはPaaSの一般的な例であり、基盤となるコンテナーや仮想マシンを気にすることなくプログラムコードを実行できます。
最後に、SaaSは、他のことを心配することなくソフトウェアを使用するために、通常はサブスクリプション(購読)の料金を支払うモデルです。 Dropbox や Salesforce は、SaaSの2つの良い例です。これらのサービスのほとんどは、Webブラウザーを介してアクセスします。
OpenStack などのプロジェクトは、完全なIaaSクラウド環境をオンプレミスで提供するために、さまざまなハイパーバイザーやその他のツールを組み合わせて自営データセンターのコンピュータークラスタのパワーを引き出すための、オープンソースソフトウェアのコレクションです。ただし、このようなインフラストラクチャのセットアップは簡単ではありません。
インターネットにおけるプライバシー
今日、Webブラウザーはデスクトップの基本的なソフトウェアですが、安全に使用するための知識がまだ不足している人もいます。 Webブラウザーからアクセスするサービスがますます増えていますが、ブラウザーを介して行うほとんどすべてのアクションは、さまざまな関係者によって追跡および分析されます。インターネットサービスへのアクセスを保護し、追跡を防止することは、インターネットを安全に使用するための重要な視点です。
クッキーによる追跡
eコマースのWebサイトを閲覧し、必要な商品を選択して、ショッピングカートに入れたとします。しかし、最後の瞬間に思い直して、本当に必要かどうかをもう少し考えてみることにしました。しばらくすると、同じ製品の広告をWebで見かけるようになります。広告をクリックすると、すぐに再びその店の商品ページに送られます。ショッピングカートに入れた商品がまだ残っていて、チェックアウトを待っていることも珍しくありません。なぜそうなるのかを不思議に思ったことはありませんか? どのようにして、別のWebページに適切な広告を表示するのでしょうか? これらの質問に対する答えは、クッキートラッキング(cookie tracking)と呼ばれます。
Cookie(クッキー)とは、Webサイトがコンピューターに保存する小さなファイルで、ナビゲーションに役立つある種の情報を保存および取得するために使われます。クライアント側にデータを保存する最も古い方法の1つで、長年にわたって使われています。使用例の1つは、一意のショッピングカードIDです。これにより、数日後に同じWebサイトに戻ってきた時に、ストアはユーザーと前回の訪問時にカートに入れた商品を思い出して、ユーザーがその商品を再度見つける時間を節約します。
クッキーによってWebサイトは便利な機能を提供しており、通常はデータを第三者と共有しないので問題ありません。しかし、Webページを閲覧しているときに表示される広告はどうでしょうか? そこに登場するのが広告ネットワークです。広告ネットワークとは、この例のようなeコマースサイトに広告を提供し、Webサイトに支払いを行う企業です。たとえば、ブロガーなどのコンテンツ作成者は、ブログ上の利用可能なスペースを広告ネットワークに提供し、その代わりにその広告によって発生した売り上げに関連する手数料を受け取ります。
それにしても、どうして見せるべき製品を知っているのでしょうか? eコマースのWebサイトで、ある製品にアクセスまたは検索した時に、広告ネットワークからのCookieも保存されます。これにより、広告が掲載されているページであればどこでも、そのCookieに書き込まれた情報を取得できるので、興味のある製品との関連付けが可能になります。これは、インターネット上で誰かを追跡する際の、最も一般的な方法の1つです。この例では、eコマースサイトを取り上げて具体的に説明しましたが、ソーシャルメディアプラットフォームでも、“いいね” や “共有” ボタンとソーシャルメディアへのログインを使用して、同じことを行っています。
それを取り除く1つの方法は、サードパーティのウェブサイトがブラウザにクッキーを保存することを禁止することです。そうすると、アクセスしたWebサイトのみがCookieを保存できます。ただし、現在の多くのサイトはサードパーティのサービスに依存しているため、“正当な” 機能の一部が機能しない場合があることに注意してください。(問題を回避するために)ブラウザーのアドオンリポジトリでクッキーマネージャーを探し、マシンに保存するクッキーをきめ細かく制御することができます。
追跡禁止(Do Not Track/DNT)
もう1つの一般的な誤解は、 DNT、すなわち “Do Not Track” の頭字語(訳注:追跡禁止の意)として知られているブラウザーの機能です。この機能は、現在のどの主要なブラウザーでもオンにすることができます。プライベートモードと同様に、この構成がオンになっている場合には追跡されないと信じている人が多いようですが、残念ながら、それは常に正しいとは限りません。現在、DNTはアクセスするWebサイトに追跡させたくないことを伝えるための手段にすぎません。そして、実際には、あなたの選択を尊重するかどうかを決めるのはWebサイト側です。言い換えれば、DNTはWebサイトの追跡をオプトアウトする方法ですが、その選択を保証するものではありません。
これは、技術的には、Webサーバーにデータを要求するときに、HTTP要求プロトコルのヘッダーに追加のフラグ(DNT: 1
)を送信するだけです。このトピックについて詳しく知りたい場合は、Webサイト https://allaboutdnt.com を参照してください。
“プライベート” ウィンドウ
強調する見出しを使っていますが、これは、これらのウィンドウがほとんどの人が考えるほどにはプライベートではないためです。名前は異なる場合があり、使用しているブラウザによって、“プライベートモード”(private mode)、“incognito”(お忍び)、“anonymous”(匿名)などと呼ばれます。
Firefoxでは、 Ctrl+Shift+P キーを押すことで簡単に使用できます。 Chromeでは、 Ctrl+Shift+N を押すだけです。(訳注: macOSでは、 Ctrl の代わりに Cmd を使います)。この操作によって実際に行われることは、標準プロファイルの設定やデータを共有しない、まったく新しいセッションを開くことです。プライベートウィンドウを閉じると、ブラウザはそのセッションで生成されたすべてのデータを自動的に削除し、使用されているコンピュータに痕跡を残しません。つまり、そのコンピューターには、履歴、パスワード、Cookieなどの個人データは保存されません。
つまり、多くの人がこの機能を、インターネットを匿名で閲覧できるものと思っていますが、誤解していると言えるでしょう。プライバシーモードまたはシークレットモードの機能の1つは、クッキートラッキングと呼ばれるものを回避することです。 Webサイトにアクセスすると、追跡に使用できるIDを含む小さなファイルがコンピューターに保存されます。サードパーティのクッキーを受け入れないようにブラウザを設定しない限り、広告ネットワークや他の企業はそのIDを保存および取得し、複数のWebサイトにまたがるブラウジングを追跡できます。ただし、プライベートモードセッションに保存されたクッキーは、セッションを閉じた直後に削除されるため、その情報は永久に失われます。
インターネット上のウェブサイトや他の通信相手は、他の多くの追跡テクニックを駆使します。つまり、プライベートモードはある程度の匿名性をもたらしますが、完全にプライベートになれるのは手元で使用しているコンピューターに対してのみです。空港やホテルなどの公共のコンピューターから、メールアカウントや銀行のウェブサイトにアクセスする場合は、必ずブラウザーのプライベートモードを使用してアクセスしましょう。他の状況では、回避できるリスクと効果のないリスクを正確に把握して、メリットがある方法を取りましょう。誰もが使えるコンピューターを使用する場合は常に、マルウェアやキーロガーなどの他のセキュリティ脅威が存在する可能性があることにも注意しましょう。そのようなコンピュータに、ユーザー名やパスワードなどの個人情報を入力するときや、機密データをダウンロードないしコピーするときは、常に注意が必要です。
正しいパスワードの選択
利用するサービスに安全なパスワードを選択することは、ユーザーが直面する困難な作業の1つです。 qwerty
や 123456
、 654321
などの一般的な組み合わせや、自分や家族の誕生日、郵便番号といった、簡単に推測できる数字を使用してはいけないと聞いたことがあるでしょう。その理由は、これらはすべて非常に明白な組み合わせであり、侵入者があなたのアカウントにアクセスするために最初に試行するものだからです。
安全なパスワードを作成するためのテクニックがいくつも知られています。最も有名なのは、そのサービスを思い出させる文章を作り、各単語の最初の文字を選ぶことです。たとえば、Facebookの適切なパスワードを作成したいとします。“I would be happy if I had a 1000 friends like Mike”(マイクのように1000人の友達がいたら幸せだ)などの文を思い付いたとしましょう。各単語の最初の文字を選択すると、最終的なパスワードは IwbhiIha1000flM
になり、結果的に、推測しにくくて覚えやすい15文字のパスワードが得られます。(パスワードの元となる文章と、その “アルゴリズム” を覚えていれば)。
文章はパスワードより覚えやすいのが普通ですが、この方法にも限界はあります。今日、非常に多くのサービス用にパスワードを作成する必要があり、それぞれを使用する頻度はバラバラですから、結局は、必要なときにすべての文章を思い出すことは非常に困難です。では、どうするのがよいでしょう? 適切なパスワードを何組か作成しておき、類似のサービス毎にそれらを使い回すことでしょうか?
残念ながら、それも良い考えではありません。異なるサービスで同じパスワードを再利用してはいけないと、聞いたことがあるでしょう。あるサービスがあなたのパスワードを漏洩した場合(いつでも起きていることです)に、それを手に入れた人は、同じメールとパスワードの組み合わせをインターネット上の他の人気のあるサービスでも使用します〜あなたがそうしていたのと同様に、パスワードをリサイクルするのです。これこそが問題です。そして、何が起きるでしょうか? この場合、ひとつのサービスだけではなく、複数のサービスにおいて、問題が発生することになります。信じて貰いたいのですが、我々は実際に手遅れになるまでは、そんなことは自分には起きないと考えがちなのです。
では、自分自身を守るために何ができるでしょうか? 今日利用できる最も安全なアプローチの1つは、 パスワードマネージャー と呼ばれるものを使用することです。パスワードマネージャーとは、すべてのユーザー名とパスワードを、マスターパスワードで復号化できる暗号化形式で保存するソフトウェアです。パスワードマネージャーを使うと、ユーザーは1つの適切なパスワードを覚えておけばよく、マネージャが他のすべてを安全に保ちます。
KeePass は、最も有名で機能豊富なオープンソースのパスワードマネージャーです。パスワードは、ファイルシステム内の暗号化されたファイルに保存されます。オープンソースであるという事実は、この種のソフトウェアにとって重要です。他の開発者達がコードを監査して、コードがどのように機能するかを正確に把握できるため、いかなるデータも不適切に使用されないことが保証されます。つまり、プロプライエタリなコードでは達成できないレベルの透明性がもたらされます。KeePassは、Windows、Linux、macOSなど、ほとんどのオペレーティングシステム用に移植されています。 iOSやAndroidなどのモバイルデバイスも同様です。また、デフォルトでは提供されていない機能を拡張するためのプラグインシステムも含まれています。
Bitwarden も同様のアプローチを持つ別のオープンソースソリューションですが、データをファイルに保存する代わりに、クラウドサーバーを利用します。これにより、デバイス間の同期が簡単で、Web経由でパスワードにアクセスできるます。 Bitwarden は、クライアントだけではなくクラウドサーバーもオープンソースソフトウェアとして利用できる、数少ないプロジェクトの1つです。つまり、専用バージョンのBitwardenをホストして、家族や会社の従業員など、誰にでも利用させることができます。これにより、柔軟性を得ると共に、パスワードの保存方法と使用方法を完全に制御することができます。
パスワードマネージャを使用する際に覚えておくべき最も重要なことの1つは、もう覚えておく必要が無いのですから、サービスごとにランダムなパスワードを作成することです。パスワードマネージャーを使用しながら、簡単に推測できるパスワードやリサイクルしたパスワードを保存することには意味がありません。したがって、ほとんどのパスワードマネージャには、ランダムなパスワード生成する機能が備わっています。
暗号化
データを転送または保存するときは常に、第三者がデータにアクセスできないように予防策を講じる必要があります。インターネットを介して転送されるデータは、誰かがネットワークトラフィックにアクセスできる可能性があるルーターとネットワークを通過します。同様に、物理メディアに格納されたデータは、そのメディアを入手したユーザーが読み取る可能性があります。この種のアクセスを回避するには、機密情報が手元のデバイスを離れる前に暗号化する必要があります。
TLS
TLS(Transport Layer Security/テイーエルエス)は、暗号化を利用してネットワーク接続のセキュリティを提供するプロトコルです。 TLSは、深刻な欠陥のため廃止された SSL(Secure Sockets Layer/エスエスエル)の後継です。 TLSはまた、適合性と安全性を増すために数回バージョンアップしており、現在のバージョンは1.3です。公開鍵暗号と対称暗号の両方を利用することで、プライバシーと真正性の両方を提供します。つまり、TLSを使用すると、そのセッション中にそのサーバーとの通信を盗聴したり変更したりできないことを意味します。
ここでWebサイトが信頼できることを確認してみましょう。ブラウザのアドレスバーで “鍵” アイコンを探してみましょう。それをクリックすれば、HTTPSプロトコルで重要な役割を果たす証明書を検査できます。
HTTPSプロトコル(HTTP over TLS/訳注: 語源は HyperText Transfer Protocol Secureと言われている)は、TLSを使用してWebを通じてクレジットカード番号などの機密データを送受信します。 TLSの仕組みの説明はこのレッスンの範囲をはるかに超えていますが、詳細については Wikipedia (訳注: 日本語版Wikipedia )や Mozilla wiki を参照してください。
GnuPGによるファイルと電子メールの暗号化
メールを保護するためのツールはたくさんありますが、それらの中で最も重要なものの1つは間違いなく GnuPG です。 GnuPGは GNU Privacy Guard (グヌー・プライバシー・ガード)の略で、RFC 4880で規定されている国際規格である OpenPGP を実装したものです。
GnuPGは、テキスト、電子メール、ファイル、ディレクトリ、さらにはディスクパーティション全体の、暗号化と復号化、ならびに電子署名に使用できます。公開鍵暗号系に基づいており、広く利用可能です。簡単に言えば、GnuPGは公開鍵と秘密鍵を含むファイルのペアを作成します。名前が示すように、公開鍵は広く配布するものであり、秘密鍵は秘密にしておくものです。通信相手があなたの公開鍵を使ってデータを暗号化すると、あなたの秘密鍵だけがデータを復号化できます。
秘密鍵を使用してファイルまたは電子メールに署名すると、対応する公開鍵と照合することで、有効性を確認することもできます。このデジタルサイネージは、実際の署名と同様に機能します。秘密鍵を知っているのがあなただけである限り、受信者はそれを作成したのがあなたであると確信できます。ハッシュ機能と暗号化を組み合わせた電子署名では、コンテンツに変更を加えると署名が無効になるため、変更が行われていないことも保証できます。
GnuPGは非常に強力なツールですが、かなり複雑なツールでもあります。詳細については、 公式サイト や ArchLinuxのwiki を参照してください(Archlinuxを使用していない場合でも、そのWikiは非常に優れた情報源です)。
ディスクの暗号化
ディスク全体またはパーティションを暗号化することは、データを保護する良い方法です。このような目的を達成するために、多くのオープンソースソフトウェアがあります。動作方法と暗号化レベルによって、バラエティに富んでいますが、基本的な方法として、スタック(stacked)ファイルシステムと、 ブロック デバイスの2つの方法があります。
スタックファイルシステムは、既存のファイルシステムの上に実装されます。この方法では、ファイルやディレクトリがファイルシステムに保存される前に暗号化され、それらを読み取る際に復号化されます。これは、ファイルが暗号化された形式でホストファイルシステムに格納されていることを意味します。つまり、ファイルの内容やファイル/フォルダー名が、ランダムに見えるデータに置き換えられますが、暗号化しない場合と同様に、通常のファイル、シンボリックリンク、ハードリンクなどがファイルシステムには存在します。
もう一つのブロックデバイスの暗号化は、ファイルシステムレイヤーの下で行われるため、ブロックデバイスに書き込まれるすべてのものが暗号化されます。オフラインのときにブロックを見ると、ランダムなデータの大きな塊に見え、復号化しないとそこにあるファイルシステムの種類を知ることさえできません。これは、ファイルまたはディレクトリが何であるかを判別できないことを意味します。メタデータ、ディレクトリ構造、アクセス許可なども暗号化されているため、ファイルの大きさやデータの種類も知ることができません。
どちらの方法にも、長所と短所があります。さまざな選択肢がありますが、カーネルに組み込まれているので、Linuxシステムにおけるブロック暗号化の事実上の標準である dm-crypt を見ておくとよいでしょう。プラットフォームに依存しない(ディスク暗号化の)標準仕様である LUKS (Linux Unified Key Setup/ラックス)拡張から使用できます。
スタック方式を試してみたい場合は、 EncFS を見ておくとよいでしょう。実行にroot権限を必要とせず、既存のファイルシステムを変更する必要も無いため、Linuxでデータを保護する最も簡単な方法です
最後に、さまざまなプラットフォームのデータにアクセスする必要がある場合は、Veracrypt(ベラクリプト)を見ておくとよいでしょう。これは、TrueCryptの後継であり、Linux、macOS、Windows上で、暗号化されたファイルやメディアを作成できます。
演習
-
ブラウザの “プライベートウィンドウ” を使うべき場面はどれでしょう?
インターネット上で、完全に匿名でプラウズしたい
使用中のコンピューターに痕跡を残したくない
クッキー追跡を避けるためにTLSを使いたい
DNT機能を使いたい
データ伝送の際に暗号化を行いたい
-
OpenStackとは何ですか?
プライベートなIaaSを作るためのプロジェクト
プライベートなPaaSを作るためのプロジェクト
プライベートなSaaSを作るためのプロジェクト
ハイパーバイザーの一種
オープンソースのパスワードマネージャー
-
ディスク暗号化のソフトウェアはどれですか?
RevealJS と EncFS、dm-crypt
dm-crypt と KeePass
EncFS と Bitwarden
EncFS と dm-crypt
TLS と dm-crypt
-
以下の dm-cryptデバイス暗号化に関する記述が正しいか正しくないかを答えてみましょう。
ファイルはディスクに書き込む前に暗号化される
ファイルシステム全体は、暗号化されたblob(バイナリデータ)である
ファイルとディレクトリだけが暗号化されて、シンボリックリンクは暗号化されない
root権限は必要ない
ブロックデバイス暗号化方式である
-
Beamer とは何ですか?
暗号化の仕組み
ハイパーバイザー
仮想化ソフトウェア
OpenStackの構成要素
LaTeXのプレゼンテーションツール
発展演習
-
ほとんどのディストリビューションには、Firefoxがデフォルトでインストールされています(インストールされていない場合は、まずインストールする必要があります)。 Lightbeam というFirefox拡張機能をインストールするには、 Ctrl+Shift+A を押して、開いたタブに表示される検索フィールドで “Lightbeam” を検索するか、Firefoxでアドオンページ https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/ にアクセスして “インストール” ボタンをクリックします。その後、Lightbeamのアイコンをクリックして拡張機能を開始し、開いたタブでいくつかのWebページにアクセスして、何が起こるかを確認しましょう。
-
パスワードマネージャーを使用する際に、最も重要なことは何でしょうか?
-
Webブラウザで https://haveibeenpwned.com/ にアクセスして、このWebサイトの目的を調べて、自分のメールアドレスが漏洩しているかどうかを確認してみましょう。
まとめ
ターミナルはシステムと対話するための強力な方法であり、ここから使用できる便利で非常に成熟したツールがたくさんあります。ターミナルにアクセスするには、デスクトップ環境のメニューからターミナルエミュレータを探すか、Ctrl+Alt+F# を押します。
Linuxは主にテクノロジー業界で、IaaS、PaaS、SaaSのサービスを提供するために使用されています。それらをサポートする上で重要な役割を果たす3つの主要なハイパーバイザーがあります。Xen、KVM、Virtualboxです。
ブラウザは、今日のコンピューティングに不可欠なソフトウェアですが、安全に使用するにはいくつかのことを理解する必要があります。 DNTは追跡されたくないことをWebサイトに伝えるにすぎず、追跡されないことを保証するものではありません。プライベートウィンドウは、使用中のコンピューターに対してのみプライベートですが、クッキーの追跡を回避できます。
TLSはインターネット上の通信を暗号化できますが、使用していることを確認する必要があります。安全を維持するために、強力なパスワードを使用することも非常に重要です。パスワードマネージャにサイト毎のランダムなパスワードを生成させて、管理を任せてしまうことがお勧めです。
通信を保護するもう1つの方法は、GnuPGを用いて、ファイルやフォルダーを暗号化したり、メールに署名することです。 dm-cyptとEncFSは、それぞれ、ブロック暗号化方式とスタック暗号化方式を使用して、ディスクまたはパーティション全体を暗号化する2つの方法です。
最後に、LibreOffice Impressは、Microsoft Powerpointにとって代わる、完全なオープンソースです。GUIではなくコードを使用してプレゼンテーションを作成したい場合は、BeamerとRevealJSがあります。Microsoft Projectを置き換えたい時は、ProjectLibreとGanttProjectなどが使えます。
演習の解答
-
ブラウザの “プライベートウィンドウ” を使うべき場面はどれでしょう?
インターネット上で、完全に匿名でプラウズしたい
使用中のコンピューターに痕跡を残したくない
○
クッキー追跡を避けるためにTLSを使いたい
DNT機能を使いたい
データ伝送の際に暗号化を行いたい
-
OpenStackとは何ですか?
プライベートなIaaSを作るためのプロジェクト
○
プライベートなPaaSを作るためのプロジェクト
プライベートなSaaSを作るためのプロジェクト
ハイパーバイザーの一種
オープンソースのパスワードマネージャー
-
ディスク暗号化のソフトウェアはどれですか?
RevealJS と EncFS、dm-crypt
dm-crypt と KeePass
EncFS と Bitwarden
EncFS と dm-crypt
○
TLS と dm-crypt
-
以下の dm-cryptデバイス暗号化に関する記述が正しいか正しくないかを答えてみましょう。
ファイルはディスクに書き込む前に暗号化される
○
ファイルシステム全体は、暗号化されたblob(バイナリデータ)である
○
ファイルとディレクトリだけが暗号化されて、シンボリックリンクは暗号化されない
×
root権限は必要ない
×
ブロックデバイス暗号化方式である
○
-
Beamer とは何ですか?
暗号化の仕組み
ハイパーバイザー
仮想化ソフトウェア
OpenStackの構成要素
LaTeXのプレゼンテーションツール
○
発展演習の解答
-
ほとんどのディストリビューションには、Firefoxがデフォルトでインストールされています(インストールされていない場合は、まずインストールする必要があります)。 Lightbeam というFirefox拡張機能をインストールするには、 Ctrl+Shift+A を押して、開いたタブに表示される検索フィールドで “Lightbeam” を検索するか、Firefoxでアドオンページ https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/ にアクセスして “インストール” ボタンをクリックします。その後、Lightbeamのアイコンをクリックして拡張機能を開始し、開いたタブでいくつかのWebページにアクセスして、何が起こるかを確認しましょう。
クッキーを使うと、ユーザーがWebサイトにアクセスしたときに、個人データをさまざまなサービスと共有できると言ったことを覚えていますか? この拡張機能は、まさにそれを示します。Lightbeamは、1つのURLにアクセスしたときにまずやり取りするファーストパーティサイトと、(そこから呼び出される)サードパーティサイトを明らかにするMozillaの実験です。このコンテンツは平均的なユーザーには表示されませんが、1つのWebサイトから数十以上のサービスとやり取りしていることもあります。
-
パスワードマネージャーを使用する際に、最も重要なことは何でしょうか?
パスワードマネージャーを使用する場合に最も重要なことは、マスターパスワードを記憶し、サービスごとにユニークなのランダムパスワードを使用することです。
-
Webブラウザで https://haveibeenpwned.com/ にアクセスして、このWebサイトの目的を調べて、自分のメールアドレスが漏洩しているかどうかを確認してみましょう。
このWebサイトは、パスワード漏洩の影響を受けたログイン情報のデータベースを保守しています。メールアドレスを検索すると、そのメールアドレスが、盗まれた認証情報の公開データベースに含まれていたかどうかを示します。おそらく、あなたのメールアドレスも、1つ以上の漏洩の影響を受けているでしょう。漏洩していた場合は、パスワードを最近更新したことを確認しましょう。もし、まだパスワードマネージャーを使用していなければ、このレッスンで推奨されているものの利用を検討してください。