コース一覧
LinuC レベル1(LPIC-1対応)対策
ホストのセキュリティ

LinuC レベル1(LPIC-1対応)対策

ブートとsystemd、パッケージ管理(APT/RPM両系統)、コマンドとviの操作、ファイルシステム、シェルスクリプト、ユーザー管理とセキュリティ、ネットワークまで、LinuC レベル1(LPIC-1対応)の全出題範囲を、毎レッスン実際にコマンドを打って確かめながら学べる対策コースです。ブラウザの中で本物の Debian 12 が動いていて、62レッスンのうち36本は読むだけで終わらず、自分の手でコマンドを打った結果で採点されます。Linux入門を修了した方を対象としています。101・102それぞれの模試60問で分野別の弱点を洗い出し、直前チェックで暗記事項を固めてから本番に臨めます。

1
試験ガイダンス
01. LinuC/LPICとは15分
02. LinuCとLPICの選び方15分
03. 学習計画15分
04. 出題形式を体験15分
2
101 ブートとアーキテクチャ
01. ブートの流れ18分
02. GRUB15分
03. systemdとターゲット18分
04. ハードウェア情報18分
05. カーネルモジュール18分
06. 過去問 アーキテクチャ15分
3
101 パッケージ管理
01. Debian系パッケージ18分
02. RPM系パッケージ15分
03. 両系統の対応表15分
04. リポジトリ管理18分
05. 共有ライブラリ18分
06. 過去問 パッケージ管理15分
4
101 GNU/Unixコマンド
01. ファイル操作の試験オプション18分
02. テキスト処理18分
03. ストリームとリダイレクト18分
04. プロセス監視18分
05. 優先度18分
06. grepと正規表現18分
07. viの操作15分
08. 過去問 コマンド15分
5
101 ファイルシステム
01. パーティション15分
02. 作成とマウント18分
03. fstabとUUID18分
04. パーミッションとリンク18分
05. 容量とクォータ18分
06. findとlocate18分
07. 過去問 ファイルシステム15分
6
102 シェルとスクリプト
01. シェル環境18分
02. testと条件式18分
03. スクリプトの制御18分
04. cronとat15分
05. systemdタイマー18分
06. 過去問 シェル15分
7
102 ユーザーとセキュリティ
01. passwdとshadow18分
02. ユーザー管理コマンド18分
03. suとsudo18分
04. 特殊パーミッション18分
05. ホストのセキュリティ18分
06. SSHとGPG18分
07. 過去問 ユーザーとセキュリティ15分
8
102 ネットワーク
01. TCP/IPとウェルノウンポート18分
02. アドレス設定18分
03. ルーティング18分
04. 名前解決の設定18分
05. 疎通トラブルシュート18分
06. 過去問 ネットワーク15分
9
102 システム管理
01. 時刻とNTP15分
02. ロケールと文字コード18分
03. ログ管理18分
04. サービス管理の試験形式18分
05. メールと印刷のきほん15分
06. 過去問 システム管理15分
10
模試と直前対策
01. 模試 10190分
02. 101弱点復習15分
03. 模試 10290分
04. 102弱点復習15分
05. 直前チェック15分
06. 受験と次のステップ15分

ホストのセキュリティ

「サービスを止めた」と言うとき、それが今動いているプロセスの話なのか、次に起動したときの話なのかで、必要なコマンドが変わります。片方だけでは止まりません。

まず、このマシンが何を晒しているかを見る

ターミナル

ss -tuln
オプション意味
-tTCP を表示
-uUDP を表示
-l待ち受け (LISTEN) 中のものだけ
-nサービス名に変換せず番号のまま表示
-p待ち受けているプロセス名と PID を表示。root 権限が要る
-a全ソケットを表示

ss は旧来の netstat を置き換えるコマンドで、オプションの体系はほぼ同じです。netstat -tuln と ss -tuln は同じ意味になります。netstat は net-tools パッケージの古いコマンドで、現代の環境では ss が推奨されます。試験ではこの対応を知っているかが問われます。

stop だけでは、次の起動でまた上がる

コマンド効果
systemctl stop <unit>今動いているプロセスを止める。次回起動時には再び立ち上がる
systemctl disable <unit>自動起動の設定を外す。今動いているプロセスはそのまま
systemctl mask <unit>ユニットを /dev/null へのリンクで覆い隠し、起動そのものを不可能にする

サービスを完全に止めるには stop と disable の両方が要ります。片方だけでは不十分だ、というのが試験の狙いどころです。

mask はさらに強い措置です。disable は自動起動を止めるだけなので、他のユニットが依存関係として要求すれば起動してしまいます。それも防ぎたいときに mask を使い、解除は unmask です。

ターミナル

systemctl is-active <unit> systemctl is-enabled <unit> systemctl list-unit-files --state=enabled

list-unit-files --state=enabled は自動起動が有効なユニットを一覧します。棚卸しの出発点として便利です。

誰が入っていたのかを見る

コマンド意味
lastログインの履歴を新しい順に表示
lastlog各ユーザーの最終ログイン日時を一覧表示
wログイン中のユーザーと実行中のプロセスを表示
whoログイン中のユーザーを表示

接続元による古典的なアクセス制御が TCP Wrapper で、/etc/hosts.allow と /etc/hosts.deny の2つのファイルで制御します。判定は hosts.allow が先で、そこで許可されればそれ以上見ません。両方に書かれていれば allow が勝ちます。

一時的に締める

/etc/nologin というファイルを作ると、root 以外のログインが拒否されます。ファイルの中身がログイン試行者へのメッセージとして表示されます。メンテナンス時に使い、終わったら削除します。

ulimit はシェルからプロセスに与えるリソース制限です。ulimit -a で現在の設定を一覧、-n でオープンできるファイル数、-u でプロセス数、-f でファイルサイズを制限します。恒久的な設定は /etc/security/limits.conf に書きます。

パスワードポリシーの既定値は /etc/login.defs にあり、PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE で有効期限の初期値を決めます。既存ユーザーの変更は chage で行います。

試験で狙われるところ

stop は今のプロセス、disable は次回以降の自動起動で、両方必要です。mask は /dev/null へのリンクで、依存関係経由の起動も防ぎます。hosts.allow と hosts.deny は allow が優先されます。ss -tuln の -n は名前解決をしない指定です。そして /etc/nologin があっても root はログインできます。

ヒント

まず ss -tuln を素で打って、どのポートが開いているかを目で見てください。80 と 22 が並んでいるはずです

記録はリダイレクトで残します。ss -tuln > /root/ports.txt です。止めてから記録すると80番が消えてしまうので順番に注意してください

systemctl stop nginx と systemctl disable nginx の2つが必要です。片方だけでは条件を満たしません

  • 1. ss -tuln で現在待ち受けているポートを一覧する
  • 2. ss -tulnp でどのプロセスが待ち受けているかまで確認する
  • 3. ss -tuln の出力を /root/ports.txt に保存する
  • 4. systemctl stop nginx で nginx を停止する
  • 5. systemctl disable nginx で自動起動を無効化する
  • 6. systemctl is-active nginx と systemctl is-enabled nginx で結果を確かめる

5 項目で採点します