和毅Tweetはじめに今回から、実際のセキュリティ運用に必須な「パッチ」の管理と「ログ」の監視について解説します。昨今、特にセキュリティに関してはパッチ適用の必要性が再認識されてきています。ログはインシデント対応やインシデント予兆の確認のために活用されています。これらのパッチが適用できているか、ログから何か予兆は出ていないかなどを集中して管理・監視するためのツールについて、それぞれ触れていきます。パッチの集中管理を行うツールログの集中監視を行うツール今回は、1.の「パッチの集中管理を行うツール」について簡単に紹介します。パッチ管理ツールとはシステムのパッチを管理するツールは、大きく分けて次の2種類に分けられます。ディストリビューション等に付属のパッケージ管理ツールCUIやWeb-UI等で複数のシステムのパッケージ・パッチを統合管理するものここでは、2番めのパッチを統合管理するツールについて解説します。OSSで提供されている代表的なパッチ統合管理ツールには、次の2つがあります。Foreman+KatelloSpacewalk今回は、Foreman+KatelloとSpacewalkの概略を解説し、それぞれの基本的な機能を比較してみます。6.0」の中核となるOSSのツールです。様々なプラグインを用いて拡張でき、「Katello」もその中の1つです。6.0は、下記の4つのツールを組み合わせて構成されています。Foreman:プロビジョニングと構成管理Pulp:プロビジョニングと構成管理Candlepin:プロビジョニングと構成管理Katello:ソフトウェアライフサイクル管理Foreman+KatelloをセットアップしてみるForeman+Katelloの構成は、既存のForemanにKatelloのプラグインをインストールすることでも実現できますが、まっさらな状態でインストールする場合はKatelloのインストーラを使用したほうが簡単です。Katelloをインストールする際のハードウェア要件は、下記のとおりです。CPU:2CPU(x64)Memory:8GB(推奨は12GB)HDD:容量が大きければ大きいほど良い・/var/lib/pulp以下に管理するOSの更新パッケージが格納されます。一つのOSにつき、30GB以上が必要です。・/var/spool/squid以下がテンポラリディレクトリとして使用されます。/var/lib/pulp以下と同じサイズ(一つのOSにつき、30GB以上)を用意しておいたほうが良いです。・/var/lib/mongodbは4GB以上必要になります。目安として、/var/lib/pulpの40%程度が最小限になります。・/ファイルシステムは20GB以上が必要になります。Katelloのインストール自体はKatelloのインストールマニュアルに従えば簡単に完了できるので、詳しい手順は割愛します。Katelloを使ってOSを管理してみるそれでは、Katelloを使って実際にCentOS(7.4)を管理してみましょう。KatelloではWeb-UIからシステムを管理します。図1のようにWeb-UIのアカウントでログインすると、図2のようなDashboard形式で管理しているシステムの状況が表示されます。Katelloでは管理組織(Organization)と位置(Location)でシステムのグループを作ることができ、それぞれのシステムでDashboardを確認できます。今回の例では、Organizationとして「JSOSUG」、Locationとして「TOKYO」「Osaka」「Nagoya」等を登録しています(図3、図4)。図1:Web-UIのアカウントでログイン図2:Dashboard形式で管理しているシステムの状況が表示される図3:Organizationとして「JSOSUG」が登録されている図4:Locationとして「TOKYO」「Osaka」「Nagoya」等が登録されている管理するプロダクトの登録Productとそのレポジトリを登録しておくことで、複数の種類のディストリビューション等の更新パッケージを管理できます。CentOS/RHELの各バージョンやDockerイメージ等です。ちなみに、2018年4月時点ではKatelloでDebianのパッケージを管理するための機能拡張は開発中となっています。今後の機能拡張が待たれるところです。Productとレポジトリの登録方法も、前出のインストールガイドに詳しく書かれています。7.4のbaseレポジトリとupdateレポジトリを「CentOS_7」というProduct名で登録して管理しています(図5)。Plan」として設定できます(図6)。「Katello-Agent」をインストールして、既存のサーバを管理対象として登録します。Katello-Agentのインストール方法については、こちらのドキュメントを参照してください。Host」をクリックするとホストを登録する手順が表示されるので、その手順に従います(図7、図8)。OSの登録などを行えます。Host」をクリック図8:ホストを登録する手順が表示されるパッケージの更新Katelloに登録して管理されているホストは、Katello内にダウンロードしたレポジトリと比較して、バージョンが古い場合はパッケージを更新できます。これにより、パッケージの更新を一括して集中監視できます。更新は一括/個別を選択して行うことができます(図9、図10)。5.x」のOSS版です。Satelliteのバージョンとしては若干古めですが、その分Web等で参考になる情報が多くあります。他のディストリビューション等にも対応済みで、DebianやSuSE等も管理対象に含めることができます。開発自体も積極的に続けられており、2018年4月時点の最新バージョンは2.7です。SpacewalkをセットアップしてみるSpacewalkをインストールする際のハードウェア要件は、下記のとおりです。Memory:2GB(推奨は4GB)HDD:容量が大きければ大きいほど良い・/var/satellite(パッケージがダウンロードされます)は、一つのchannel(前述のKatelloでのレポジトリと同様のものです)に対して6GBが推奨されています。Spacewalkもインストール自体はSpacewalkのインストールマニュアルに従えば簡単に完了できるので、詳しい手順は割愛します。Spacewalkを使ってOSを管理してみるそれでは、Spacewalkで実際にCentOS(7.4)を管理してみましょう。SpacewalkもWeb-UIからシステムを管理します。インストール直後にSpacewalkサーバにhttpsでアクセスすると、組織(Organization)の名前とSpacewalkのID・パスワードを設定する画面が出てきます(図11)。以降は、ここで設定したID・パスワードでログインすることになります(図12)。管理するChannelの登録ローカルでパッケージの「Channel」を登録し、インターネット上に公開されているレポジトリと同期を取ることで、ローカルでパッケージを管理できます。CentOS/RHEL/Fedoraの各バージョン、SuSE、Debian等が登録可能です。Channelの登録方法は、前出のインストールガイドを参照してください。Channelを「CentOS_7_x86_64_Update」というProduct名で登録して管理しています(図13)。ここではChannelの更新頻度も設定できます。「Spacewalk-Client」をインストールして、既存のサーバを管理対象として登録できます。Spacewalk-Clientのインストール方法とホストの登録方法については、こちらのドキュメントを参考にしてください。Keyを作成し(図14)、管理するホストに手動でspacewalk-client/rhnのRPMパッケージをインストールします。Keyを作成また、登録したホスト情報をEditすることで、ホストの管理(Manage)などを行えます。パッケージの更新Spacewalkに登録して管理しているホストは、Spacewalkにダウンロードしたレポジトリと比較して、バージョンが古い場合はパッケージを更新できます。一括もしくは個別で更新することもできます(図15)。最後に、Foreman+KatelloとSpacewalkの機能比較を図16にまとめました。Spacewalkの方が成熟度や対応するディストリビューションも多く、ドキュメントも多めです。Satelliteとして実装されていることから、不足している機能等の補完・開発は今後も継続されていくと思われます。サポートしたいシステムが対応しており、英語で情報をキャッチできる方であればForeman+Katelloを使用すると良いでしょう。構築には少し時間がかかると思われます。一方で、Spacewalkは簡単にインストールと設定ができるので、「手軽にパッチ管理を導入したい」といった場合にはSpacewalkを使用すると良いでしょう。OSS/セキュリティエバンジェリストOSSのセキュリティ専門家として20年近くの経験があり、主にOS系のセキュリティに関しての執筆や講演を行う。大手ベンダや外資系、ユーザ企業などで様々な立場を経験。2015年からサイオステクノロジーのOSS/セキュリティエバンジェリストとして活躍し、同社でSIOSセキュリティブログ(http://security.sios.com)を連載中。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。誠にありがとうございます。下記日程にて、メンテナンスを行います。ご理解いただけますよう、お願い申し上げます。状況により前後する場合がございます。※上記以外の会員機能(サイトへのログインなど)はご利用いただけます。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。