システムの設定を変更してみよう基礎から理解するLinuxサーバー[Cent OS 7.0編](4)(2/2 ページ)

» 2017年03月09日 05時00分 公開
[中島能和]
前のページへ 1|2       

SELinuxを管理する

 どれだけ厳重にセキュリティ対策を行ったとしても、サーバーへの不正侵入を100%防ぐことは不可能です。だからといってセキュリティ対策をなおざりにしてよいわけではありませんが、万が一サーバーに不正侵入されたとしても被害を最小限度に食い止めるよう対策しておくことは無駄ではありません。

 そのための仕組みがSELinuxです。SELinuxはLinuxカーネルに内蔵された機能で、CentOSではデフォルトで有効になっています。

 ただし、SELinuxを有効にした場合、トラブル発生時の切り分けが難しいため、本稿では無効に設定しています。SELinuxが有効か無効かは、次のコマンドで確認できます。

SELinuxが有効か確認

 ここで「Enforcing」と表示されれば、SELinuxは有効になっています。「Permissive」または「Disabled」となっていれば無効になっています。

 SELinuxの有効無効を切り替えるには、setenforceコマンドを使います。有効にする場合は引数に「1」を、無効にする場合は「0」を指定します。次の例では、SELinuxを無効にしています。

SELinuxを無効化

 ただし、この設定は、システムを再起動すると元に戻ってしまいます。恒久的に設定するには、/etc/sysconfig/selinuxファイルで「SELINUX=disabled」と指定します。

/etc/sysconfig/selinux(抜粋)
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コマンドで管理します

たった2日でわかる Linuxサーバー Cent OS 7.0対応

たった2日でわかる Linuxサーバー Cent OS 7.0対応

中島能和著
秀和システム 2500円(税別)
Linuxサーバーの学習をしたいがマシンは1台しかない……。覚えることが多すぎる……。あなたは、そんな理由でLinuxサーバーの学習をあきらめていませんか? 本書は、WindowsやMac上で動くLinuxを使って、サーバー構築のノウハウを解説します。初心者を対象としているので、あれもこれもと欲張ってたくさんの説明をするのではなく、まずは2日間で基礎部分だけをしっかり解説します。サーバ構築の基本スキルが身につきます。

注文ページへ


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。