システムの設定を変更してみよう:基礎から理解するLinuxサーバー[Cent OS 7.0編](4)(2/2 ページ)
本連載は、Linuxサーバーに初めて触れる人、基本から学習したい人に向けて、「CentOS 7」をベースにLinuxサーバーの基礎を解説していきます。今回は、システムの設定を変更してみましょう。
SELinuxを管理する
どれだけ厳重にセキュリティ対策を行ったとしても、サーバーへの不正侵入を100%防ぐことは不可能です。だからといってセキュリティ対策をなおざりにしてよいわけではありませんが、万が一サーバーに不正侵入されたとしても被害を最小限度に食い止めるよう対策しておくことは無駄ではありません。
そのための仕組みがSELinuxです。SELinuxはLinuxカーネルに内蔵された機能で、CentOSではデフォルトで有効になっています。
ただし、SELinuxを有効にした場合、トラブル発生時の切り分けが難しいため、本稿では無効に設定しています。SELinuxが有効か無効かは、次のコマンドで確認できます。
ここで「Enforcing」と表示されれば、SELinuxは有効になっています。「Permissive」または「Disabled」となっていれば無効になっています。
SELinuxの有効無効を切り替えるには、setenforceコマンドを使います。有効にする場合は引数に「1」を、無効にする場合は「0」を指定します。次の例では、SELinuxを無効にしています。
ただし、この設定は、システムを再起動すると元に戻ってしまいます。恒久的に設定するには、/etc/sysconfig/selinuxファイルで「SELINUX=disabled」と指定します。
SELINUX=disabled
「SELINUX=enforcing」とすればSELinuxは有効になります。「SELINUX=permissive」とすれば、警告のみ出力されますが、実際の機能は無効となります。
ONEPOINT
実際のサーバーでは、SELinuxは無効にしないようにしてください。
サービス管理を理解しよう
サービスとは、独立した役割を持ち、OS本体から切り離し可能なサブシステムのことです。ネットワークサービスはネットワーク接続機能を提供し、システムログサービスはシステムの挙動をログに保存する役割を持ちます。サーバー・プログラムもサービスの一種です。
システムのサービスやサーバー・プログラムなどは、systemdという機能によって管理されています。systemdでサービスを管理するには、systemctlコマンドを使います。systemctlコマンドに「start」「stop」「restart」といった引数を付けて実行することで、サービスを起動したり、終了させたり、再起動したりすることができるようになっています。
ONEPOINT
systemdは、CentOSではバージョン7から搭載された機能です。CentOS 6までは別の仕組みを使っていました。現在でも、systemdを採用していないディストリビューションもあります。
ONEPOINT
systemctlコマンドの実行にはrootユーザーの権限が必要です。
例えば、ネットワークセキュリティを高めるファイアウォールサービス(firewalld.service)を起動するには、次のようにします★。
参考情報
CentOSでは、ファイアウォールサービスサービスは標準的に起動していますが、本書では停止させてあります。
設定の変更など、何らかの理由でサービスを再起動するには「restart」を使います★。
参考情報
サービスによっては「reload」で設定の再読み込みができるものもあります。
ファイアウォールサービスを停止するには「stop」を使います。
システムサービスやサーバープログラムの設定を変更した場合は、多くのケースでサービスの再起動が必要になります。システム全体の再起動が必要になることはほとんどありません。
ところで、システム全体を起動した際に、サービスをいちいち手動で起動するのは面倒です。「システム起動時に有効」にしておくと、システムを起動したときに自動的にサービスが開始されます。自動的に起動するようにするには「enable」を使います。
反対に、システム起動時に自動的に起動しないようにするには「disable」を使います。
次のコマンドを実行すると、各サービスが自動的に起動するようになっているかどうかを確認できます。「enabled」となっているのが自動的に起動されるサービス、「disabled」となっているのが自動的に起動しないサービスです。
1ページごとに表示され、スペースキーで次のページに進みます。表示を終了するには[Q]キーを押します。
最後に、主なサービスをまとめておきます。
サービス名 | 説明 |
---|---|
firewalld.service | ファイアウォールサービス |
crond.service | 定期的な処理をするcronサービス |
cups.service | 印刷サービス |
postfix.service | Posfixメールサーバー |
rsyslog.service | シスログサービス |
sshd.service | SSHサーバー |
httpd.service | Apache Webサーバー |
vsftpd.service | vsftpd FTPサーバー |
ONEPOINT
どのサービスが必要か不要かわからないうちは、むやみにサービスを停止させたり起動させたりしないようにしてください。システムが正常に動作しなくなることがあります。
まとめ
- サーバーの設定はrootユーザーのみが変更できます
- サーバーのホスト名は/etc/hostnameファイルで設定します
- SELinuxはサーバーへの不正侵入時の被害を軽減するための仕組みです
- サービスはsystemctlコマンドで管理します
Copyright © ITmedia, Inc. All Rights Reserved.