はじめに
どのサーバーでも、主な目標は常にセキュリティです。多くのユーザーは、最初から確立されたセキュリティ境界がないため、サーバーへの悪意のある侵入の犠牲になっています。セキュリティを備えた基盤を築くことから、正しい道を歩み始めましょう。このハウツーは、Fedora 21での初期セットアップに役立ち、サーバーが保護されていることを知って安心しながらサーバーを正常に保護できます。
何が必要ですか?
静的IPアドレスで構成されたFedora21サーバーが必要です。サーバーをまだお持ちでない場合は、Atlantic.Netの費用効果の高いサーバーを検討し、30秒で稼働します。
サーバーの準備
開始するには、SSHまたはここにあるVNCコンソールを介してFedora21サーバーにログインします。 Atlantic.Net Cloudサーバーは、不要なパッケージがインストールされて使用されないようにするために、最小限のインストールとしてセットアップされています。使い慣れたソフトウェアパッケージがデフォルトでインストールされていない場合は、必要に応じて自由にインストールしてください。
サーバーが完全に最新であることを確認しましょう。
yum update
プロセスを継続し、最新のサーバーでサーバーを保護できます。
Fedora21ルートパスワードを更新する
次のコマンドを入力してリクエストをアクティブにし、画面の指示に従ってrootパスワードを更新/確認します。
passwd
sudo権限を持つ新しいユーザーを作成します
パスワードが正常に更新されたら、sudo/root権限を持つ新しいユーザーを作成することをお勧めします。 Fedora 21のような多くのLinuxオペレーティングシステムの一般的な管理者ユーザーは「root」であるため、日常の管理タスクに使用される新しい管理者ユーザーを作成します。 root権限を持つ新しいユーザーを作成すると、サーバーへのアクセス方法のセキュリティが向上します。システムをターゲットにしようとしている個人は、デフォルトの管理者アカウントであることがわかっているため、rootユーザーをターゲットにします。 sudo / root権限を持つ新しいユーザーを作成し、rootユーザーを無効にすることで、まだ公開されていないユーザーを使用してセキュリティを強化しています。
次のコマンドを入力して、「user1」を自分のユーザー名に置き換えて新しいユーザーを作成し、確認します。
adduser user1
次のコマンドを入力してリクエストをアクティブにし、画面の指示に従って「user1」パスワードを更新/確認して、そのユーザーのパスワードを作成します。
passwd user1
新しいユーザーを作成し、そのユーザーのパスワードを作成したら、そのユーザーをsudowheelグループに追加します。 Fedora 21では、それらをsudoホイールグループに追加すると、自動的にsudo/root権限が割り当てられます。次のコマンドを実行して、ユーザーをsudowheelグループに追加します。
gpasswd -a user1 wheel
最後に、sudo / root権限を持つユーザーを作成したら、セッションを終了し、「user1」で再度ログインして、加えられた変更を確認できます。または、次のコマンドを実行して、ユーザーをrootから「user1」に切り替えると、そのユーザーのパスワードの入力を求められます。
su - user1
SSHアクセスの構成
ポート22は、LinuxシステムのSSHを介したリモート接続のデフォルトポートです。 sshポートを変更することで、ブルートフォース攻撃や不要なユーザーがデフォルトのポートを使用してサーバーに到達するのを防ぐために、サーバーのセキュリティを強化できます。このチュートリアルでは、例としてポート5022を使用します。
SSH構成ファイルを開き、ポート行を見つけ、#を削除して、22番号をカスタムポートに変更します。保存して終了します。
sudo vi /etc/ssh/sshd_config
#Port 22 Port 5022
システムがSSH構成ファイルから設定を更新するには、sshdサービスを再起動する必要があります。
sudo systemctl restart sshd.service
これで、SSHはポート5022を使用するように構成されました。ポート22を使用してログインしようとすると、ログインは失敗します。ただし、最初にファイアウォール構成部分でカスタムポートを構成する必要があるため、セッションを終了しないでください。これは、次の手順で構成します。
ルートアクセスを制限する
root権限を持つ新しいユーザーを作成し、カスタムsshポートを作成したため、サーバー上で実際のrootユーザーをSSH経由で利用可能で脆弱な状態に保つ必要はありません。 rootユーザーのローカルサーバーへのアクセスを制限し、SSH経由でのみ新しいユーザーに権限を付与しましょう。
SSH構成ファイルを開き、PermitRootLogin行を見つけて、#を削除し、yesからnoに変更します。
sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes PermitRootLogin no
システムでSSH構成ファイルの新しい設定を更新するには、sshdサービスを再起動する必要があります。
sudo systemctl restart sshd.service
注:これで、これらの変更を行う際にrootユーザーが無効になるため、作成した「user1」を使用してサーバーにログインする必要があります。ただし、セッションを終了しないでください。次の手順で、ファイアウォールのカスタムポートを構成する必要があります。
プライベートSSHキーを作成する
プライベート/パブリックSSHキー サーバーのメソッドのセキュリティを強化する優れた追加機能です。ただし、設定にはもう少し手間がかかります。問題は、サーバーにセキュリティを強化する価値があるかどうかです。次のセキュリティ機能を実装する場合は、次の手順に進むことができます。先に進み、SSHキーを生成しましょう。
ssh-keygen
SSHキーを保存する場所を変更する場合は、ここで指定できます。ただし、保存されるデフォルトの場所は問題ありません。次の質問が表示されたらEnterキーを押してから、不要な場合を除いてパスフレーズを入力します。
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
これは、SSHキーをFedora21サーバーにインストールするときのデフォルトのWebページです
SSHキーの設定は非常に重要です。キー文字列全体をWord/メモ帳ドキュメントにコピーする必要があります。キーは、catコマンドを使用して次の場所で表示できます。
cat ~/.ssh/id_rsa.pub
ssh-rsaで始まり[email protected]で終わるSSHキーをWord/メモ帳ドキュメントにコピーして、後で構成ファイルに追加します。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbFd5OZFm8qDh21f28igkEVVb0rwkvyvxpH+LX9FBIgLfXTYZRz8PhCUi6NtugZMJ3F9vwq4Cq3zTYuwqhdb4Nt8z8MiS6sKX8JpgLyKreEwaxfK9IKBskyAkpln7zc7bHVCYsTJsvr/1B7kTvX4jIa0/EJQS7xvCTGdMDOD+Ux7bGJiA8ohc4DfELfJnlcURfNwB3PZ5ukdoul7/+yeabRsj18rc0yZfJ3/MgaipdSTwK/2mpaR0xlKGQhj47FsERKu6rztBL5lIQXWWZK71L8O2aprgsBBP+G2lKVKNNXeBfd+4Kx+4D980mWZlEdZ8KfgOZqCMXF3Jfjqcpvf0D [email protected]
SSHキーが安全に保存されると、SSHキーのディレクトリには、所有者のみがファイルの読み取り、書き込み、および実行を行うことができる制限付きのアクセス許可が必要になります。
chmod 700 .ssh
SSHディレクトリ内に、次の場所でエディタ(この場合はVI)を使用して、SSHキーを含むファイルを追加する必要があります。
vi .ssh/authorized_keys
SSHキーを貼り付けてから、VI形式を使用して保存して終了します。
最後に、作成したばかりのauthorized_keysファイルのアクセス許可を制限して、所有者だけが読み取りと書き込みを行えるようにする必要があります。
chmod 600 .ssh/authorized_keys
これで、セッションを閉じて、SSHコンソールに[email protected]またはサーバーのホスト名を入力することで、キーが機能していることを確認できました。さらに、「ここをクリック」をクリックして、SSHキーを生成および使用する方法の記事で詳細を確認できます。
基本的なファイアウォールルール
sudo systemctl start firewalld
次に、以前に作成したカスタムSSHポート5022がサーバーにパブリックにアクセスできるようにするルールを追加します。同時に、TCP/22でのSSHアクセスを許可する以前のデフォルトルールを削除します。
sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh
Webサーバーを使用している場合は、次のルールがインターネット経由でサイトにアクセスすることを許可することをお勧めします。
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
これは、一般にアクセス可能にしたいシステムに関連する同様のルールに使用できます。このテストサーバーは、ウェブサイトとメールサービスをホストするように設定されているため、更新されたSSHとHTTP(S)のルールに加えて、安全なPOP3、IMAP、SMTPのルールが追加されています。
sudo firewall-cmd --permanent --add-service=pop3s sudo firewall-cmd --permanent --add-service=imaps sudo firewall-cmd --permanent --add-service=smtp
Firewalldがこれらの設定を受け入れるには、ファイアウォールを再起動する必要があります。
sudo firewall-cmd --reload
設定が保存され、続行する準備が整います。
利用可能なすべてのサービス/ポートを確認するには、次の手順を実行します。
sudo firewall-cmd --permanent --list-all
これは、Fedora21serverでFirewalldルールを完了した後のデフォルトのWebページです
NTP Time Sync
NTP(Network Time Protocol)は、ネットワークを介してコンピューターの時刻と日付を同期し、正確で最新の状態に保つために使用されます。まず、NTPをインストールし(インストールされていない場合)、サーバーと同期するようにサービスを構成します。
sudo yum install ntp
NTPサービスをインストールしたら、サービスがオンになっていることを確認する必要があります。
sudo systemctl start ntpd
サービスが開始されたので、NTPサーバーがNTPサーバーからサーバーの時刻を常に更新できるようにします。
sudo systemctl enable ntpd
スワップファイルの追加
スワップファイルは、RAMをシミュレートするためにサーバーのハードドライブ上に作成されるごくわずかなスペースです。サーバーのメモリが不足している場合、サーバーはハードドライブを調べて、システムをだましてメモリが多いと思わせる負荷を軽減します。サーバーのパフォーマンスをもう少し向上させるために、ハードドライブにスワップファイルを設定します。
まず、リソースをチェックして、ファイルを追加できることを確認します。次のコマンドを実行すると、現在使用されているハードドライブのスペースの割合が表示されます。
df -h
スワップファイルを作成するときは、通常、既存のRAMの半分を最大4GBまで追加する必要があります(実際のRAMが1GBの場合は、512MBのファイルを追加します)。このパートでは、512MBのスワップファイルをドライブに追加します。これを計算する方法は、1024 x 512MB=524288ブロックサイズです。
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
スワップファイルを追加したので、続行するにはエリアを作成する必要があります。
sudo mkswap /swapfile
スワップファイルが作成され、スワップファイル、領域が追加されたら、先に進んでファイルにアクセス許可を追加し、所有者のみが読み取りと書き込みを行えるようにすることができます。
sudo chown root:root /swapfile sudo chmod 0600 /swapfile
スワップファイルに適切な権限が設定されたので、先に進んでアクティブ化できます。
sudo swapon /swapfile
新しく追加したスワップファイルは、次の方法で確認できます。
sudo swapon -s
再起動後もスワップファイルを常にアクティブにするには、それに応じて構成する必要があります。
sudo vi /etc/fstab
次のコマンドをファイルの最後に貼り付け、作業内容を保存して終了します。
/swapfile swap swap defaults 0 0
最後に、次のコマンドを入力して、スワップファイルがアクティブ化されているかどうかを確認します。
free -m
これは、Fedora21サーバーでスワップファイルを作成した後のデフォルトページです
次は?
これで、サーバーが保護されていることを知って安心できる強力なセキュリティ基盤を備えたサーバーができました。これで、必要に応じてプラットフォームの構築に進むことができます。フォローしていただきありがとうございます。今後の更新については、お気軽にご確認ください。
VPSホスティングサービスとVPSホスティング価格の詳細をご覧ください。