LinuC 1.10 セキュリティと 1.11 オープンソースの文化 問題

ゆめさくが作った練習問題です。本試験の問題ではありません。

1.1⁠0 セキュリティと 1.1⁠1 オープンソースの文化の問題を1⁠0問、小分野ごとにまとめました。選ぶと、その場で正誤と解説が出ます。

ログインなしで解けます。答えはこのブラウザの中だけに残り、どこにも送りません。

この分野の小分野

  • 1.1⁠0.1 セキュリティ管理業務の実施(2問)
  • 1.1⁠0.2 ホストのセキュリティ設定(2問)
  • 1.1⁠0.3 暗号化によるデータの保護(2問)
  • 1.1⁠0.4 クラウドセキュリティの基礎(1問)
  • 1.1⁠1.1 オープンソースの概念とライセンス(2問)
  • 1.1⁠1.2 オープンソースのコミュニティとエコシステム(1問)

1.10 セキュリティと 1.11 オープンソースの文化の問題

10 問

選ぶと、すぐに正誤と解説が出ます。選んだ答えは変えられません。

  1. 1.10.1 セキュリティ管理業務の実施

    問 1監査のため、システム全体から SUID のビットが立った通常のファイルを探したい。適切なコマンドはどれですか。

  2. 問 2利用者 kato のパスワードを、最後に変えてから 90 日で期限切れにしたい。適切なコマンドはどれですか。

  3. 1.10.2 ホストのセキュリティ設定

    問 3保守の作業の間、root 以外の利用者の新しいログインを一時的に止めたい。手軽な方法はどれですか。

  4. 問 4パスワードのハッシュを /etc/passwd ではなく /etc/shadow に置く理由として、最も適切なものはどれですか。

  5. 1.10.3 暗号化によるデータの保護

    問 5SSH で使う Ed25519 の鍵の組 (秘密鍵と公開鍵) を新しく作りたい。適切なコマンドはどれですか。

  6. 問 6report.pdf を、受け取る人 sato@example.com の GnuPG の公開鍵で暗号化して渡したい。適切なコマンドはどれですか。

  7. 1.10.4 クラウドセキュリティの基礎

    問 7パブリッククラウドの仮想マシンで Linux を動かすとき、セキュリティの受け持ちの分け方として最も適切なものはどれですか。

  8. 1.11.1 オープンソースの概念とライセンス

    問 8Open Source Initiative のオープンソースの定義に照らして、オープンソースのライセンスと言えない条件はどれですか。

  9. 問 9GPL (GNU General Public License) のソフトウェアを改変し、その実行ファイルをほかの人に配る。求められることとして正しいものはどれですか。

  10. 1.11.2 オープンソースのコミュニティとエコシステム

    問 10使っているオープンソースのソフトウェアに不具合を見つけた。コミュニティへの関わり方として、最初にすることとして最も適切なものはどれですか。

10 問中 0 問に答えました

解説の一覧

解いたあとに読み返せるよう、全問の解説を並べています。問いを開くと解説が出ます。

1.1⁠0.1 セキュリティ管理業務の実施

問1監査のため、システム全体から SUID のビットが立った通常のファイルを探したい。適切なコマンドはどれですか。

正解は find / -type f -perm -4⁠0⁠0⁠0 です。-perm の前に - を付けると、指定したビットがすべて立っていれば (ほかのビットが何であっても) 当たり、4⁠0⁠0⁠0 は SUID のビットです。- の無い 4⁠0⁠0⁠0 は権限がちょうど 4⁠0⁠0⁠0 のものだけに当たって rwsr-⁠xr-⁠x などを逃し、2⁠0⁠0⁠0 は SGID のビット、-user root は所有者で探すだけです。

問2利用者 kato のパスワードを、最後に変えてから 9⁠0 日で期限切れにしたい。適切なコマンドはどれですか。

正解は chage -M 9⁠0 kato です。chage -M はパスワードを変えずに使える最長の日数を決めます (chage -l kato で確かめられる)。-d は最後にパスワードを変えた日を設定する指定、passwd -l はパスワードをロックするもの、usermod -e はアカウントそのものの期限の日付を決める指定です。

1.1⁠0.2 ホストのセキュリティ設定

問3保守の作業の間、root 以外の利用者の新しいログインを一時的に止めたい。手軽な方法はどれですか。

正解は /etc/nologin というファイルを作ることです。/etc/nologin があると、PAM の pam_nologin が root 以外のログインを断り、ファイルに書いた文を表示します (保守が終わったら消す)。/etc/passwd を空にするとシステムが壊れ、/etc/shadow を誰でも読める形にするのは危険で、ホームを消すとデータを失います。

問4パスワードのハッシュを /etc/passwd ではなく /etc/shadow に置く理由として、最も適切なものはどれですか。

正解は /etc/passwd は全員が読めるため、ハッシュを root だけが読める /etc/shadow に分け、総当たりで解かれにくくすることです。/etc/passwd は ls や ps が利用者名を引くため誰でも読める必要があり、そこにハッシュがあると手元で総当たりをかけられます。そのためハッシュと期限の情報は、root だけが読める /etc/shadow に分けます。速さや書ける文字の都合ではなく、/etc/shadow でもパスワードは平文ではなくハッシュで持ちます。

1.1⁠0.3 暗号化によるデータの保護

問5SSH で使う Ed2⁠5⁠5⁠1⁠9 の鍵の組 (秘密鍵と公開鍵) を新しく作りたい。適切なコマンドはどれですか。

正解は ssh-⁠keygen -t ed2⁠5⁠5⁠1⁠9 です。ssh-⁠keygen の -t で鍵の種類を選び、~/.ssh/id_ed2⁠5⁠5⁠1⁠9 と id_ed2⁠5⁠5⁠1⁠9.pub を作ります。ssh-⁠add は作ってある鍵を ssh-⁠agent に預けるもの (-t は預ける時間)、ssh-⁠agent は鍵を預かる常駐のプログラム、gpg --gen-⁠key は GnuPG の鍵を作るもので SSH の鍵ではありません。

問6report.pdf を、受け取る人 sato@example.com の GnuPG の公開鍵で暗号化して渡したい。適切なコマンドはどれですか。

正解は gpg -e -r sato@example.com report.pdf です。gpg の -e は公開鍵での暗号化、-r は受け取る人の鍵の指定で、受け取る人だけが自分の秘密鍵で開けます。-s は自分の秘密鍵で署名するだけで暗号化はせず、-c はパスフレーズで暗号化する共通鍵の方式、--import は鍵を取り込むものです。

1.1⁠0.4 クラウドセキュリティの基礎

問7パブリッククラウドの仮想マシンで Linux を動かすとき、セキュリティの受け持ちの分け方として最も適切なものはどれですか。

正解は OS の更新やどのポートを開けるかの設定は利用者が受け持ち、建物や物理の機器の守りは事業者が受け持つことです。仮想マシン (IaaS) では、データセンターと物理の機器は事業者が、ゲストの OS より上 (更新、アカウント、開けるポート) は利用者が守るという分担になります。事業者は利用者の OS を更新せず、クラウドのファイアウォール (セキュリティグループなど) も利用者が決め、管理コンソールには多要素認証を使うのが基本です。

1.1⁠1.1 オープンソースの概念とライセンス

問8Open Source Initiative のオープンソースの定義に照らして、オープンソースのライセンスと言えない条件はどれですか。

正解は営利の目的での利用を禁止することです。オープンソースの定義は、利用する人や分野 (営利の事業を含む) を差別しないことを求めるので、営利の利用を禁じる条件は当てはまりません。ソースコードを手に入れられること、改変と派生物の配布を認めること、再配布を自由にすることは、どれも定義が求める条件です。

問9GPL (GNU General Public License) のソフトウェアを改変し、その実行ファイルをほかの人に配る。求められることとして正しいものはどれですか。

正解は受け取った人に、改変した部分を含むソースコードを同じ GPL の条件で手に入れられるようにすることです。GPL はコピーレフトのライセンスで、配布する派生物にも GPL を適用し、受け取った人がソースコードを得られるようにすることを求めます。著作権の表示だけでよいのは MIT や BSD のような許可の広いライセンスの特徴で、改変部分だけ別のライセンスにはできず、配布しない社内の利用なら公開の義務は生じません。

1.1⁠1.2 オープンソースのコミュニティとエコシステム

問10使っているオープンソースのソフトウェアに不具合を見つけた。コミュニティへの関わり方として、最初にすることとして最も適切なものはどれですか。

正解は公開の課題の管理 (issue) で同じ報告が無いか調べ、無ければ再現の手順と版を添えて報告することです。多くのプロジェクトは課題の管理やメーリングリストで報告を受けるので、重なりを調べ、再現の手順と版と環境を添えて報告すると直してもらいやすくなります。個人に直すよう迫るのは開発の体制に沿わず、SNS に書くだけでは直す人に届かず、元の名前のまま売るのはライセンスや商標の決まりに触れることがあります。

ほかの分野

  • LinuC レベル1 101試験対策(LPIC-1対応)

    1.01 インストールと仮想マシン・コンテナ

    1.0⁠1.1 Linuxのインストール、起動、接続、切断と停止、1.0⁠1.2 仮想マシン・コンテナの概念と利用、1.0⁠1.3 ブートプロセスとsystemd、1.0⁠1.4 プロセスの生成、監視、終了、1.0⁠1.5 デスクトップ環境の利用

    10問解く
  • 1.02 ファイル・ディレクトリの操作と管理

    1.0⁠2.1 ファイルの所有者とパーミッション、1.0⁠2.2 基本的なファイル管理の実行、1.0⁠2.3 ハードリンクとシンボリックリンク、1.0⁠2.4 ファイルの配置と検索

    10問解く
  • 1.03 GNUとUnixのコマンド

    1.0⁠3.1 コマンドラインの操作、1.0⁠3.2 フィルタを使ったテキストストリームの処理、1.0⁠3.3 ストリーム、パイプ、リダイレクトの使用、1.0⁠3.4 正規表現を使用したテキストファイルの検索、1.0⁠3.5 エディタを使った基本的なファイル編集の実行

    10問解く
  • 1.04 リポジトリとパッケージ管理

    1.0⁠4.1 apt コマンドによるパッケージ管理、1.0⁠4.2 Debianパッケージ管理、1.0⁠4.3 yumコマンドによるパッケージ管理、1.0⁠4.4 RPMパッケージ管理

    10問解く
  • 1.05 ハードウェア、ディスク、ファイルシステム

    1.0⁠5.1 ハードウェアの基礎知識と設定、1.0⁠5.2 ハードディスクのレイアウトとパーティション、1.0⁠5.3 ファイルシステムの作成と管理、マウント

    10問解く
  • 1.06 シェルおよびスクリプト

    1.0⁠6.1 シェル環境のカスタマイズ、1.0⁠6.2 シェルスクリプト

    10問解く
  • 1.07 ネットワークの基礎

    1.0⁠7.1 インターネットプロトコルの基礎、1.0⁠7.2 基本的なネットワーク構成、1.0⁠7.3 基本的なネットワークの問題解決、1.0⁠7.4 クライアント側のDNS設定

    10問解く
  • 1.08 システム管理

    1.0⁠8.1 アカウント管理、1.0⁠8.2 ジョブスケジューリング、1.0⁠8.3 ローカライゼーションと国際化

    10問解く
  • 1.09 重要なシステムサービス

    1.0⁠9.1 システム時刻の管理、1.0⁠9.2 システムのログ、1.0⁠9.3 メール配送エージェント(MTA)の基本

    10問解く

LinuCの頁に、1⁠0分野の入口と試験の案内があります。

続きはゆめさくで

試験の知識を仕事につなげる一歩を、ここにまとめています。