【ローカル管理】
Lesson5では、ローカルでのセキュリティ管理方法をお伝えします。通常のパーミッション
での管理方法の他に、ACLやSELinuxでのセキュリティに関して学んでいきます。
faclコマンドや、SELinuxのコンテキスト情報などに関してご説明いたします。
| <各章へはこちらから> | |
| ・Lesson1 | 基本的な操作 |
|---|---|
| ・Lesson2 | カーネル |
| ・Lesson3 | ファイルシステム |
| ・Lesson4 | ユーザ管理 |
| ・Lesson5 | ローカルセキュリティ |
| ・Lesson6 | 高度なパーティショニング |
| ・Lesson7 | システムの初期化 |
| ・Lesson8 | パッケージ管理 |
| ・Lesson9 | 印刷とオートマウント |
| ・Lesson10 | ネットワーク設定 |
| ・Lesson11 | ネットワークセキュリティ |
| ・Lesson12 | ファイル共有 |
| ・Lesson13 | WEBサーバ |
| ・Lesson14 | メールサーバ |
| ・Lesson15 | トラブルシュート |
【ACL】
Linuxでは、一般ユーザがファイルに対してchownの実行を許可していません。
そのため、通常のファイルパーミッションの他にACL(アクセスコントロールリスト)
を利用してファイルにアクセス制限をかけることが出来ます。

図1
図1の例では、「hoge.txt」に対して、所有者とグループには読み書き権限がありますが
その他のユーザには権限がありません。そこでACLを利用してその他の
ユーザ"maru"に読み書き権限を与えます。
下記のコマンドでACL情報を確認したり、権限を与えたりする
ことが出来ます。
| acl | |
|---|---|
| getfacl |
ファイルのACL情報を確認する。 例)hoge.txtのACL情報を確認する。 getfacl hoge.txt |
| setfacl |
ACLを設定する。 例)ユーザmaruに読み書き権限を追加 setfacl -m u:maru:rw hoge.txt |
| 確認項目 | ACLが設定されたファイルにはパーミッションの最後に『+』記号が 付加されます。 |
ACLを設定するにはパーティションにACLの設定が必要ですが、インストール時に 設定したパーティションにはデフォルトでACL設定が可能となっています。
【SELinux】
以前までのLinuxでは、悪意のあるユーザにソフトやデーモンのバグをつかれ、
スーパーユーザ(以降root)権限を奪取されてしまうと、全ての機能を破壊される
恐れがありました。

図2 SELinux
それを改善する目的で開発されたのがSELinuxという機能です。SELinuxでは図2のイメージ のように、仮にHTTPサーバのバグをつかれroot権限が奪取されたとしても、各セクション毎に セキュリティを分散しているため、全ての機能を破壊されるという最悪の事態は回避する事 が可能になります。
SELinuxを起動させるかどうかは、インストール時に選択可能ですが、OS起動後でも 変更が可能になっています。SELinuxは3つのモードに分かれています。
・Enforcing・・・有効
・Permissive・・・ログのみ出力し機能は無効
・Disabled・・・無効
SElinuxのモードは下記コマンドで、確認および変更できます。
| SELinux | |
|---|---|
| getenforcing | SELinuxのモード確認。『0』なら無効、『1』なら有効。 |
| setenforcing [番号] |
コマンドの引数に数値を入力すれば有効・無効の切替が可能です。 例)SELinuxを有効にする。 setenforcing 1 |
【SELinux セキュリティコンテキスト】
SELinuxでは、各サービス毎のファイルにセキュリティコンテキスト情報という
SELinux個別の情報を持たせ、各サービス毎に管理しています。
ファイルのコンテキスト情報を確認するにはlsコマンドに『-Z』オプションを追加します。
例)/var/log/messagesのコンテキスト情報を確認する。
ls -Z /var/log/messages
-rw- --- --- root root system_u:object_r:var_log_t ←コンテキスト情報
コンテキストの変更は下記コマンドで実行します。
| コンテキスト変更 | |
|---|---|
| restorecon [ファイル名] | コンテキストをファイルが配置してあるディレクトリと同じデフォルトの設定にする。 |
| chcon -t [タイプ] [ファイル名] | コンテキストを明示的に変更する。 |
| 参考 | デフォルトのコンテキスト情報は、system-config-selinux→File Labeling 部に情報があります。 |
当講座はRedHatEnterpriseLinuxの資格取得に向けた講座ですが、試験に関する内容 に関しては一切記載しておりませんので、予めご了承下さい。
当サイトは、ネットワーク・サーバ系のエンジニアの技術向上と、業界未経験者が
IT系のエンジニアを目指す時の参考になることを願ったサイトです。
システムエンジニアやネットワークエンジニアといった業種は、とても忙しい方が
多く、なかなか技術の開示がままならないのが現状ですが、出来るだけ多くの技術
情報を開示していきたいと思っています。