前書き

新しいFedora 21またはRHELサーバーに最初にログインしたとき、本番システムとして使用する準備ができていません。 ファイアウォールを有効にするなど、カスタマイズして保護するために推奨される手順がいくつかあります。

このチュートリアルでは、Fedora 21サーバーの新規インストールでより良いセキュリティプロファイルを提供し、使用する準備をする方法を示します。

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • ルートSSHキーを持つFedora 21ドロップレット。

手順1-標準ユーザーアカウントの作成

まず、* root *としてサーバーにログインします。

rootとして動作することはセキュリティリスクであるため、この手順では、システムおよびその他のコンピューティングタスクに使用するsudo非rootユーザーアカウントを設定します。 このチュートリアルで使用するユーザー名は* sammy *ですが、好きな名前を使用できます。

ユーザーを追加するには、次を入力します。

adduser

以下のコマンドを使用して、ユーザーの強力なパスワードを指定します。 パスワードを2回入力するよう求められます。

passwd

次に、ユーザーをwheelグループに追加し、sudo特権を付与します。

gpasswd -a  wheel

サーバーからログアウトし、ローカルマシンで次のコマンドを実行して、新しいユーザーアカウントにSSHキーを追加します。

ssh-copy-id @

ローカルマシンからサーバーにSSHキーをコピーする方法の詳細については、https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-onを読むことができます-a-linux-server#how-to-copy-a-public-key-to-your-server [このセクション] SSHチュートリアルの。

最後に、新しいsudo非rootユーザーとして再度ログインします。 このアカウントにはSSHキーがあるため、パスワードの入力は求められません。

ssh @

手順2-ルートログインとパスワード認証の禁止

この手順では、ルートログインとパスワード認証を無効にすることで、SSHログインをより安全にします。

設定ファイルを編集するには、テキストエディターをインストールする必要があります。 「+ nano +」を使用しますが、好きな方を使用できます。

まず、以下を使用して利用可能な更新を適用します。

sudo yum update

次に、 `+ nano +`をインストールするには、次のように入力します。

sudo yum install -y nano

次に、SSHデーモンの構成ファイルを編集用に開きます。

sudo nano /etc/ssh/sshd_config

そのファイル内で、 `+ PermitRootLogin `ディレクティブを探します。 コメントを外し(つまり、開始 `#+`文字を削除する)、* no *に設定します。

PermitRootLogin no

同様に、 `+ PasswordAuthentication +`ディレクティブを探し、同様に* no *に設定します。

PasswordAuthentication no

ファイルを保存して終了し、構成を再読み込みして変更を有効にします。

sudo systemctl reload sshd

誰かが* root *としてログインしようとすると、応答は `+ Permission denied(publickey、gssapi-keyex、gssapi-with-mic)+`になります。

[[step-3-­–configuring-the-time-zone]]
=== ステップ3-タイムゾーンの設定

この手順では、システムクロックをローカルタイムゾーンに変更する方法について説明します。 デフォルトのクロックはUTCに設定されています。

すべての既知のタイムゾーンは `+ / usr / share / zoneinfo / `ディレクトリの下にあります。 ` / usr / share / zoneinfo / +`のファイルとディレクトリを見てください。

ls /usr/share/zoneinfo/

ローカルタイムゾーンを使用するようにクロックを設定するには、そのディレクトリで国または地理的領域を見つけ、その下のゾーンファイルを見つけ、そこから `+ / etc / localtime `ディレクトリへのシンボリックソフトリンクを作成します。 たとえば、タイムゾーンが* Central *または* CST *である米国の中央部にいる場合、ゾーンファイルは ` / usr / share / zoneinfo / US / Central +`になります。

ゾーンファイルから `+ / etc / localtime +`へのシンボリックソフトリンクを作成します。

sudo ln -sf /usr/share/zoneinfo/ /etc/localtime

`+ date +`コマンドの出力を表示して、時計が現地時間に設定されていることを確認します。

date

出力は次のようになります。

Wed Mar 25 14:41:20 CST 2015

その出力の* CST *は、中央時間であることを確認します。

ステップ4-ファイアウォールを有効にする

新しいFedora 21サーバーにはアクティブなファイアウォールアプリケーションがありません。 この手順では、IPTablesファイアウォールアプリケーションを有効にし、再起動後も実行時ルールが維持されるようにする方法を学習します。

IPTablesパッケージは既にインストールされていますが、有効にするには、 `+ iptables-services +`パッケージをインストールする必要があります。

sudo yum install -y iptables-services

その後、起動時に自動的に開始されるようにIPTablesを有効にすることができます。

sudo systemctl enable iptables

次に、IPTablesを起動します。

sudo systemctl start iptables

Fedora 21のIPTablesには、デフォルトのルールセットが付属しています。 これらのルールの1つはSSHトラフィックを許可します。 デフォルトのルールを表示するには、次を入力します。

sudo iptables -L

出力は次のようになります。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

これらのルールはランタイムルールであり、システムを再起動すると失われます。 現在のランタイムルールをファイルに保存して、再起動後も保持するには、次のように入力します。

sudo /usr/libexec/iptables/iptables.init save

これで、ルールは `+ / etc / sysconfig `ディレクトリの ` iptables +`というファイルに保存されます。

ステップ5(オプション)-HTTPおよびHTTPSトラフィックを許可する

このセクションでは、ファイアウォールルールを編集してポート80(HTTP)および443(HTTPS)のサービスを許可する方法について説明します。

デフォルトのIPTablesルールはデフォルトでSSHトラフィックを許可しますが、HTTPとその比較的安全な従兄弟であるHTTPSは多くのアプリケーションが使用するサービスであるため、ファイアウォールを通過させることもできます。

続行するには、次を入力してファイアウォールルールファイルを開きます。

sudo nano /etc/sysconfig/iptables

必要なのは、SSH(ポート22)トラフィックのルールの後に、ポート80用とポート443用の2つのルールを追加することだけです。 以下の赤の行は、追加する行です。新しいルールを追加する場所を見つけるのに役立つコンテキストの前後の行が含まれています。

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT


-A INPUT -j REJECT --reject-with icmp-host-prohibited

新しいルールセットをアクティブにするには、IPTablesを再起動します。

sudo systemctl restart iptables

ステップ6(オプション)-Mlocateのインストール

`+ locate +`コマンドは、システム内のファイルの場所を検索するための非常に便利なユーティリティです。 たとえば、* example *というファイルを見つけるには、次のように入力します。

locate example

これにより、ファイルシステムがスキャンされ、ファイルの場所が画面に印刷されます。 `+ locate +`を使用するより高度な方法もあります。

サーバーでコマンドを使用できるようにするには、最初に `+ mlocate +`パッケージをインストールする必要があります。

sudo yum install -y mlocate

次に、 `+ updatedb +`コマンドを実行して検索データベースを更新します。

sudo updatedb

その後、 `+ locate +`を使用して名前でファイルを検索できるようになります。

結論

最後の手順を完了したら、Fedora 21サーバーを設定し、適度に安全で、使用する準備ができているはずです!