LFCE: ネットワーク サービスのインストールと起動時の自動起動の構成 - パート 1
Linux Foundation 認定エンジニア (LFCE) は、Linux システムでのネットワーク サービスのインストール、構成、管理、トラブルシューティングを行う準備ができており、システム アーキテクチャの設計と実装を担当します。 。
Linux Foundation 認定プログラムの紹介。
LFCE (Linux Foundation Certified Engineer) 試験の準備というタイトルのこの 12 回の記事シリーズでは、Ubuntu、CentOS、openSUSE で必要なドメインとコンピテンシーについて説明します。
ネットワークサービスのインストール
あらゆる種類のネットワーク サービスを設定して使用する場合、Linux が関与できないシナリオを想像するのは困難です。この記事では、Linux に次のネットワーク サービスをインストールする方法を説明します (各構成については、今後の別の記事で説明します)。
- NFS (ネットワーク ファイル システム) サーバー
- Apache Webサーバー
- Squid プロキシ サーバー + SquidGuard
- 電子メールサーバー (Postfix + Dovecot)、および
- イプタブルス
さらに、これらのサービスがすべてブート時またはオンデマンドで自動的に開始されるようにする必要があります。
これらのネットワーク サービスをすべて同じ物理マシンまたは仮想プライベート サーバーで実行できる場合でも、ネットワーク セキュリティの最初のいわゆる「ルール」の 1 つが、システム管理者に次のことを避けるように指示していることに注意する必要があります。それで可能な範囲で。その発言を裏付ける判決は何ですか?それは非常に単純です。何らかの理由で、複数のネットワーク サービスを実行しているマシンでネットワーク サービスが侵害された場合、攻撃者は残りのサービスも同様に侵害することが比較的簡単になる可能性があります。
ここで、実際に同じマシン (テスト ラボなど) に複数のネットワーク サービスをインストールする必要がある場合は、特定の時点で必要なものだけを有効にし、後で無効にするようにしてください。
始める前に、現在の記事 (LFCS および LFCE シリーズの残りの記事も同様) はパフォーマンスベースの観点に焦点を当てているため、取り上げられたトピックに関するあらゆる理論的詳細を検討します。ただし、出発点として必要な情報を踏まえて各トピックを紹介します。
次のネットワーク サービスを使用するには、対応するトラフィックがファイアウォールを通過できるようにする方法がわかるまで、当面ファイアウォールを無効にする必要があります。
これは実稼働セットアップには推奨されないことに注意してください。学習目的のみに推奨します。
デフォルトの Ubuntu インストールでは、ファイアウォールはアクティブではありません。 openSUSE と CentOS では、これを明示的に無効にする必要があります。
systemctl stop firewalld
systemctl disable firewalld
or
or systemctl mask firewalld
ということで、始めましょう!
NFSv4サーバーのインストール
NFS 自体はネットワーク プロトコルであり、最新バージョンは NFSv4 です。これは、このシリーズ全体で使用するバージョンです。
NFS サーバーは、リモート Linux クライアントがその共有をネットワーク経由でマウントし、ローカルにマウントされているかのようにそれらのファイル システムと対話できるようにする従来のソリューションで、ネットワークのストレージ リソースを一元化できます。
CentOS 上
yum update && yum install nfs-utils
Ubuntu の場合
aptitude update && aptitude install nfs-kernel-server
OpenSUSE の場合
zypper refresh && zypper install nfsserver
詳しい手順については、Linux システムで NFS サーバーとクライアントを構成する方法を説明した記事を参照してください。
Apache Webサーバーのインストール
Apache Web サーバーは、HTTP サーバーの堅牢で信頼性の高い FOSS 実装です。 2014 年 10 月末の時点で、Apache は 3 億 8,500 万のサイトを支えており、 市場の37.45% のシェアを占めています。 Apache を使用すると、スタンドアロン Web サイトまたは 1 台のマシンで複数の仮想ホストを提供できます。
yum update && yum install httpd [On CentOS]
aptitude update && aptitude install apache2 [On Ubuntu]
zypper refresh && zypper install apache2 [On openSUSE]
詳しい手順については、IP ベースおよび名前ベースの Apache 仮想ホストを作成する方法と、Apache Web サーバーを保護する方法について説明した次の記事を参照してください。
- Apache IP ベースおよび名前ベースの仮想ホスティング
- Apache Web サーバーの強化とセキュリティのヒント
Squid と SquidGuard のインストール
Squid はプロキシ サーバーおよび Web キャッシュ デーモンであり、複数のクライアント コンピュータとインターネット (またはインターネットに接続されたルーター) の間の仲介者として機能し、Web コンテンツをキャッシュすることで頻繁なリクエストを高速化します。 DNS解決も同時に行います。また、ネットワーク セグメントごと、または禁止されたキーワードに基づいて、特定の URL へのアクセスを拒否 (または許可) するために使用することもでき、外部へのすべての接続のログ ファイルをユーザーごとに保存します。
Squidguard は、Squid を強化するブラックリストを実装し、Squid とシームレスに統合するリダイレクターです。
yum update && yum install squid squidGuard [On CentOS]
aptitude update && aptitude install squid3 squidguard [On Ubuntu]
zypper refresh && zypper install squid squidGuard [On openSUSE]
Postfix と Dovecot のインストール
Postfix はメール トランスポート エージェント (MTA) です。これは、送信元メール サーバーへの電子メール メッセージのルーティングと配信を担当するアプリケーションです。一方、dovecot は、MTA からメッセージを取得して適切なユーザー メールボックスに配信する、広く使用されている IMAP および POP3 電子メール サーバーです。
いくつかのリレーショナル データベース管理システム用の Dovecot プラグインも利用できます。
yum update && yum install postfix dovecot [On CentOS]
aptitude update && aptitude postfix dovecot-imapd dovecot-pop3d [On Ubuntu]
zypper refresh && zypper postfix dovecot [On openSUSE]
イプテーブルについて
簡単に言うと、ファイアウォール は、プライベート ネットワークへのアクセスまたはプライベート ネットワークからのアクセスを管理し、特定のルールに基づいて送受信トラフィックをリダイレクトするために使用されるネットワーク リソースです。
Iptables は Linux にデフォルトでインストールされるツールで、netfilter カーネル モジュールのフロントエンドとして機能します。このカーネル モジュールは、パケット フィルタリング/リダイレクトおよびネットワーク アドレス変換機能を実行するファイアウォールの実装を最終的に担当します。
iptables は Linux にデフォルトでインストールされているため、実際に実行されていることを確認するだけで済みます。そのためには、iptables モジュールがロードされていることを確認する必要があります。
lsmod | grep ip_tables
上記のコマンドが何も返さない場合は、ip_tables モジュールがロードされていないことを意味します。その場合は、次のコマンドを実行してモジュールをロードします。
modprobe -a ip_tables
こちらもお読みください: Linux iptables ファイアウォールの基本ガイド
起動時にサービスを自動開始するように構成する
「システム起動プロセスとサービスの管理 - LFCS 認定に関する 10 回の記事シリーズの第 7 回」で説明したように、Linux ではいくつかのシステム マネージャーとサービス マネージャーが利用できます。どちらを選択する場合でも、ネットワーク サービスをオンデマンドで開始、停止、再起動する方法と、起動時にネットワーク サービスを自動的に開始できるようにする方法を知っておく必要があります。
次のコマンドを実行して、システムおよびサービス マネージャーを確認できます。
ps --pid 1
上記のコマンドの出力に応じて、次のコマンドのいずれかを使用して、各サービスを起動時に自動的に開始するかどうかを構成します。
systemd ベースの場合
----------- Enable Service to Start at Boot -----------
systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
systemctl disable [service] # prevent [service] from starting at boot
sysvinit ベースの場合
----------- Start Service at Boot in Runlevels A and B -----------
chkconfig --level AB [service] on
----------- Don’t Start Service at boot in Runlevels C and D -----------
chkconfig --level CD service off
成り上がりベースで
/etc/init/[service].conf スクリプトが存在し、次のような最小限の設定が含まれていることを確認してください。
When to start the service
start on runlevel [2345]
When to stop the service
stop on runlevel [016]
Automatically restart process in case of crash
respawn
Specify the process/command (add arguments if needed) to run
exec /absolute/path/to/network/service/binary arg1 arg2
ネットワーク サービスをオンデマンドで管理するためのその他の便利なコマンドについては、LFCS シリーズのパート 7 (このセクションの冒頭で参照したばかり) を確認することもできます。
まとめ
これまでに、この記事で説明したすべてのネットワーク サービスがインストールされ、デフォルトの構成で実行されているはずです。後の記事では、ニーズに応じてそれらを構成する方法を検討しますので、ぜひご期待ください。以下のフォームを使用して、この記事に関するご意見 (または質問がある場合は投稿) をお気軽に共有してください。
参考リンク
- LFCEについて
- Linux Foundation 認定を取得する理由?
- LFCE 試験に登録する