CentOS 7でのサーバーの初期設定と構成


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

  1. CentOS 7 Minimal Installation

<強いスタイル=色:赤

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

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

CentOS 7 システムを完全にアップデートするには、root権限で次のコマンドを発行します。

# yum check-update
# yum upgrade

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

# yum clean all

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

次のユーティリティパッケージは日々のシステム管理に役立ちます: nano (viエディタに代わるテキストエディタ)、wget、 curl (ダウンロードに使用されるユーティリティ)主にネットワーク上のパッケージ)ある[ネットツールの、lsof(ローカルネットワークを管理するためのユーティリティ)とbashの補完(コマンドラインオートコンプリート)。

下記のコマンドを実行して、それらをまとめてインストールします。

# 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

速度の管理、状態のリンク付け、またはマシンのネットワークインターフェースに関する情報の取得に使用できるその他の便利なユーティリティには、 ethtool および mii-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でファイアウォールを有効にする

CentOS 7でファイアウォールを有効にして起動および検証するには、次のコマンドを実行します。

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld

着信接続に対して特定のサービスを開くには、最初に firewalld ルールにアプリケーションが既に存在するかどうかを確認してから、次の例に示すようにを許可するサービスのルールを追加します。 > SSH 着信接続。ルールを恒久的に追加するには、 --permanent スイッチを使用します。

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

サービスがすでにファイアウォールルールで定義されている場合は、次の例に示すように手動でサービスポートを追加できます。

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

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

通常のユーザーにroot権限を付与するには、まずadduserコマンドを発行してユーザーを作成し、そのユーザーのパスワードを設定して、新しいユーザーを管理ホイールグループに追加するbelowコマンドを実行してユーザーに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 [email protected]_SERVER_IP

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

# ssh [email protected]_SERVER_IP

最後に、SSHサーバーを保護するために、rootとしてテキストエディタで設定用SSHファイル/etc/ssh/sshd_config を開いてrootアカウントへのリモートSSHアクセスを許可しないようにし、 はいからいいえまで。

PermitRootLogin no

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

# systemctl restart sshd

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

CentOS 7サーバーを安全にし、強化するために、以下の記事をチェックしてください。

  1. The Mega Guide To Harden and Secure CentOS 7 – Part 1
  2. The Mega Guide To Harden and Secure CentOS 7 – Part 2

このCentOS 7システムにWebサイトを展開する予定の場合は、LAMPスタックまたはLEMPスタックを設定および構成する方法を学びます。