ウェブサイト検索

CentOS 7 でのサーバーの初期セットアップと構成


このチュートリアルでは、グラフィカル環境のない最小限のCentOS 7 システムをインストールした後、インストールされているシステム、システムを実行するハードウェアに関する情報を取得するために実行する必要がある最初の基本手順について説明します。ネットワーク、root 権限、ソフトウェア、サービスなどの他の特定のシステム タスクを構成します。

要件

  1. CentOS 7 の最小インストール

重要: RHEL 7 ユーザーは、この記事に従って RHEL 7 での初期サーバー セットアップを実行できます。

CentOS 7 システムをアップデートする

新しくインストールした CentOS システムで実行する必要がある最初のステップは、最新のカーネルとシステム セキュリティ パッチ、ソフトウェア リポジトリとパッケージを使用してシステムが最新であることを確認することです。

CentOS 7 システムを完全に更新するには、root 権限で次のコマンドを実行します。


yum check-update
yum upgrade

アップグレード プロセスの完了後、ディスク領域を解放するために、次のコマンドを実行して、アップグレードのプロセスで使用されたすべてのダウンロード パッケージを、キャッシュされたすべてのリポジトリ情報とともに削除できます。


yum clean all

CentOS 7 にシステム ユーティリティをインストールする

次のユーティリティ パッケージは、日々のシステム管理に役立つことがわかります: nano (vi エディタに代わるテキスト エディタ)、wget、curl (ダウンロードに使用されるユーティリティ)主にネットワーク経由のパッケージ)ネットツール、lsof(ローカルネットワーク管理用ユーティリティ)、bash-completion(コマンドラインオートコンプリート)。

以下のコマンドを実行して、すべてをワンショットでインストールします。


yum install nano wget curl net-tools lsof bash-completion

CentOS 7 でネットワークをセットアップする

CentOS 7 には、ネットワーク構成ファイルの手動編集から ip、ifconfig、nmtui、 nmcli またはルート

初心者がネットワーク構成の管理と変更に使用できる最も簡単なユーティリティは、nmtui グラフィカル コマンド ラインです。

nmtui ユーティリティを介してシステムのホスト名を変更するには、図に示すように、nmtui-hostname コマンドを実行し、マシンのホスト名を設定し、OK を押して終了します。以下のスクリーンショットで。


nmtui-hostname

ネットワーク インターフェイスを操作するには、以下のスクリーンショットに示すように、nmtui-edit コマンドを実行し、編集するインターフェイスを選択して、右側のメニューから [編集] を選択します。


nmtui-edit

nmtui ユーティリティが提供するグラフィカル インターフェイスにアクセスすると、以下のスクリーンショットに示すように、ネットワーク インターフェイスの IP 設定をセットアップできます。終了したら、[tab] キーを使用して [OK] に移動し、構成を保存して終了します。

ネットワーク インターフェイスの新しい構成を適用するには、nmtui-connect コマンドを実行し、管理するインターフェイスを選択して、非アクティブ化/ アクティブ化 オプションをクリックして、デコミッションと立ち上がりを行います。以下のスクリーンショットに示すように、IP 設定のインターフェイス。


nmtui-connect

ネットワーク インターフェイスの設定を表示するには、インターフェイス ファイルの内容を検査するか、以下のコマンドを実行します。


ifconfig enp0s3
ip a
ping -c2 google.com

速度、リンク状態の管理、またはマシンのネットワーク インターフェイスに関する情報の取得に使用できるその他の便利なユーティリティには、ethtoolmii-tool があります。


ethtool enp0s3
mii-tool enp0s3

マシンのネットワークの重要な側面は、どのプログラムがどのポートでリッスンしているか、確立されたネットワーク接続の状態を確認するために、開いているネットワーク ソケットをすべてリストすることです。

リスニング状態でTCP または UDP ソケットを開いているすべてのサーバーを一覧表示するには、次のコマンドを発行します。ただし、UDP サーバーはソケットの状態をリストしません。これは、UDP がネットワーク上でパケットを送信するだけで接続を確立しないコネクションレス型プロトコルであるためです。


netstat -tulpn
ss -tulpn
lsof -i4 -6

CentOS 7 でのサービスの管理

CentOS 7 は、systemctl ユーティリティを介してデーモンまたはサービスを管理します。すべてのサービスの状態を一覧表示するには、次のコマンドを実行します。


systemctl list-units

システムの起動時にデーモンまたはサービスが自動的に起動するように有効になっているかどうかを確認するには、次のコマンドを実行します。


systemctl list-unit-files -t service

システムに存在する古いSysV サービスを一覧表示して無効にするには、次の chkconfig コマンドを発行します。


chkconfig --list
chkconfig service_name off

5. CentOS 7 で不要なサービスを無効にする

CentOS 7 をインストールした後、システムに対する攻撃ベクトルを減らすために、上記のコマンドを実行してシステムで実行されているサービスを一覧表示し、それらのサービスを無効にして削除することをお勧めします。

たとえば、CentOS 7 ではPostfix デーモンがインストールされ、デフォルトで有効になっています。システムでメール サーバーを実行する必要がない場合は、以下のコマンドを発行して Postfix サービスを停止、無効化、削除することをお勧めします。 。


systemctl stop postfix
systemctl disable postfix
yum remove postfix

netstat、ss、lsof、または systemctl コマンドに加えて、ps、top、またはpstree コマンドを実行して、システム内で実行されている不要なサービスを検出して特定することもできます。そしてそれらを無効にするか削除します。

デフォルトでは、pstree ユーティリティは CentOS 7 にインストールされていません。インストールするには、次のコマンドを実行します。


yum install psmisc
pstree -p

CentOs 7 でファイアウォールを有効にする

Firewalld は、iptables ルールを管理するために対話を使用する主要なファイアウォール ユーティリティです。
CentOS 7 でファイアウォールを有効にして起動し、検証するには、次のコマンドを実行します。


systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

受信接続に対して特定のサービスを開くには、まずアプリケーションがファイアウォールルールにすでに存在するかどうかを確認し、次に、次の例に示すようにサービスのルールを追加します。 > SSH 受信接続。ルールを永続的に追加するには、--permanent スイッチを使用します。


firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

サービスが既に firewalld ルールで定義されている場合は、以下の例に示すように、サービス ポートを手動で追加できます。


firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload     #Apply the rule on-fly

ユーザーアカウントで Sudo 権限を有効にする

一般ユーザーに root 権限を付与するには、まず adduser コマンドを発行してユーザーを作成し、そのユーザーのパスワードを設定し、次のコマンドを実行して新しいユーザーを管理ホイール グループに追加してユーザーに root 権限を付与します。


adduser tecmint
passwd tecmint
usermod -aG wheel tecmint

新しいユーザーに root 権限があるかどうかをテストするには、以下の抜粋に示すように、ユーザーの資格情報でシステムにログインし、sudo 権限で yum コマンドを実行します。


su - tecmint
sudo yum update

CentOS 7 で SSH 公開キー認証を構成する

サーバーの SSH を保護し、公開キー認証を設定してログイン用の秘密 SSH キーを使用してサーバーのセキュリティを強化するには、まず次のコマンドを使用して SSH キー ペアを生成します。

SSH 経由でサーバー管理を自動化する場合は、パスフレーズを入力しないでください。


ssh-keygen -t RSA

SSH キー ペアが生成されたら、以下のコマンドを実行して、接続するサーバーにキーをコピーします。最初に、公開キーをコピーするためにリモート SSH ユーザーのパスワードを入力します。


ssh-copy-id remote_user@SSH_SERVER_IP

SSH 公開キーがリモート サーバーにコピーされたら、次のコマンドを使用してリモート SSH サーバーにログインします。


ssh remote_user@SSH_SERVER_IP

最後に、SSH サーバーを保護するために、root としてテキスト エディタで構成 SSH ファイル /etc/ssh/sshd_config を開き、root アカウントへのリモート SSH アクセスを禁止していることを確認してください。 はいからいいえまで。


PermitRootLogin no

設定を適用するには、新しい構成が使用されるように SSH サービスを再起動する必要があります。


systemctl restart sshd

それだけです!これらは、すべてのシステム管理者が知っておく必要がある基本的な設定とコマンドのほんの一部であり、新しくインストールされた CentOS システムに適用したり、システム上で日常的なタスクを実行したりする必要があります。

CentOS 7 サーバーを保護して強化するには、次の記事を参照してください。

  1. CentOS 7 を強化して保護するためのメガガイド – パート 1
  2. CentOS 7 を強化して保護するためのメガガイド – パート 2

この CentOS 7 システムに Web サイトを展開する予定がある場合は、LAMP スタックまたは LEMP スタックをセットアップして構成する方法を学習してください。