LinuCレベル3 303試験の例題と解説
326.1ホストの堅牢化
303試験の試験範囲から「326.1 ホストの堅牢化」についての例題を解いてみます。
このテーマは、セキュアなLinuxシステムを構築するための設定や制限が含まれます。
システム構築などの際にも活用できるようしっかりと把握しておきましょう。
例題
以下のうち、Linuxシステムの堅牢化として正しいものを2つ選択せよ。
- 「systemctl is-enabled サービス名」を実施し、不要なサービスの自動起動を無効化した
- /etc/sysctl.confにおいて、「net.ipv4.tcp_syncookies = 1」を設定した
- ulimitコマンドで、ユーザーが利用可能なリソースを制限した
- chroot環境を導入し、スーパーユーザー(root)にスイッチできないようにした
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2./etc/sysctl.confにおいて、「net.ipv4.tcp_syncookies = 1」を設定した」および「3.ulimitコマンドで、ユーザーが利用可能なリソースを制限した」です。
/etc/sysctl.confでは、Linuxシステムのカーネルパラメータを変更することが出来ます。設定を有効化するには、「sysctl -p」を実施します。変更された値を確認するには、「sysctl -a」を実施します。
以下、操作例です。
[root@localhost ~]# sysctl -a | grep syncookies
net.ipv4.tcp_syncookies = 0
[root@localhost ~]# vi /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.tcp_syncookies = 1
[root@localhost ~]# sysctl -a | grep syncookies
net.ipv4.tcp_syncookies = 1
また、以下の例ではulimitコマンドを使ってユーザーが利用可能なリソース(max user processes)を制限しています。
[kujirai@localhost ~]$ ulimit -a ・・・リソース制限の確認
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7268
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[kujirai@localhost ~]$ ulimit -H -u ・・・ハードリミット確認
7268
[kujirai@localhost ~]$ ulimit -S -u ・・・ソフトリミット確認
4096
[kujirai@localhost ~]$ ulimit -S -u 1024 ・・・ソフトリミット変更
4096
[kujirai@localhost ~]$ ulimit -S -u
1024
[kujirai@localhost ~]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7268
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
なお、不正解の選択肢は正しくは以下となります。
- 「systemctl disable サービス名」を実施し、不要なサービスの自動起動を無効化した
*sysctl is-enabledは、サービスの自動起動設定の確認に使用する - chroot環境を導入し、指定ディレクトリをルートディレクトリであるように見せかけ、攻撃などの被害を受けた場合の影響を小さくした
例題作成者
鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 Zeus IT Camp)