GNU/Linux >> Linux の 問題 >  >> Linux

CentOS7サーバーのセットアップを初期化する方法

はじめに

System CentOS 7は、以前のバージョンとは大きく異なります。どのサーバーでも、主な目標は常にセキュリティです。多くのユーザーは、最初から確立されたセキュリティ境界がないため、サーバーへの悪意のある侵入の犠牲になっています。セキュリティを備えた基盤を築くことから、正しい道を歩み始めましょう。このハウツーは、CentOS 7での初期設定に役立ち、サーバーが保護されていることを確認しながら、サーバーを正常に保護できます。

何が必要ですか?

静的IPアドレスで構成されたCentOS7サーバーが必要です。サーバーをまだお持ちでない場合は、Atlantic.netの最高品質のサーバーを検討し、30秒以内に稼働してください。

サーバーの準備

開始するには、SSHまたはここにあるVNCコンソールを介してCentOS7サーバーにログインします。 Atlantic.Net Cloudサーバーは、不要なパッケージがインストールされて使用されないようにするために、最小限のインストールとしてセットアップされています。使い慣れたソフトウェアパッケージがデフォルトでインストールされていない場合は、必要に応じて自由にインストールしてください。

サーバーが完全に最新であることを確認しましょう。

yum update

プロセスを継続し、最新のサーバーでサーバーを保護できます。

CentOS7のルートパスワードを更新する

次のコマンドを入力してリクエストをアクティブにし、画面の指示に従ってrootパスワードを更新/確認します。

passwd

sudo権限を持つ新しいユーザーを作成します

パスワードが正常に更新されたら、sudo/root権限を持つ新しいユーザーを作成することをお勧めします。 CentOS 7などの多くのLinuxオペレーティングシステムの一般的な管理者ユーザーは「root」であるため、日常の管理タスクに使用される新しい管理者ユーザーを作成します。 root権限を持つ新しいユーザーを作成すると、アクセスされるサーバーのセキュリティが向上します。不要なユーザーは、rootユーザーがデフォルトの管理者ユーザーであることを知っているため、rootユーザーをターゲットにします。それでも、sudo / root権限を持つ新しいユーザーを作成してから、デフォルトのrootユーザーを無効にすると、どのユーザーでログインするかがわかりません。

次のコマンドを入力して、「user1」を自分のユーザー名に置き換えて新しいユーザーを作成し、確認します。

adduser user1

次のコマンドを入力してリクエストをアクティブにし、画面の指示に従って「user1」パスワードを更新/確認して、そのユーザーのパスワードを作成します。

passwd user1

新しいユーザーとパスワードを作成したら、そのユーザーをsudowheelグループに追加します。 CentOS 7では、それらを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ユーザーが無効になるため、作成した「ユーザー「ハット」を使用してサーバーにログインする必要があります。ただし、セッションを終了しないでください。次の手順で、ファイアウォールのカスタムポートを構成する必要があります。

プライベートSSHキーを作成する

プライベート/パブリックSSHキー サーバーのメソッドのセキュリティを強化する優れた追加機能です。ただし、設定にはもう少し手間がかかります。問題は、サーバーにセキュリティを強化する価値があるかどうかです。次のセキュリティ機能を実装する場合は、次の手順に進むことができます。先に進み、SSHキーを生成しましょう。

ssh-keygen

SSHキーを保存する場所を変更する場合は、ここで指定できます。ただし、保存されるデフォルトの場所は問題ありません。次の質問が表示されたらEnterキーを押してから、不要な場合を除いてパスフレーズを入力します。

Enter file in which to save the key (/home/user1/.ssh/id_rsa):

これは、CentOS7サーバーにSSHキーをインストールするときのデフォルトページです

SSHキーの設定は非常に重要です。キー文字列全体をWord/メモ帳ドキュメントにコピーする必要があります。キーは、catコマンドを使用して次の場所で表示できます。

cat ~/.ssh/id_rsa.pub

ssh-rsaで始まり[email protected]で終わるSSHキーをWord/メモ帳ドキュメントにコピーして、後で構成ファイルに追加します。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L [email protected]

SSHキーが安全に保存されると、SSHキーのディレクトリには制限付きの権限が必要になります。この権限は、所有者のみがファイルの読み取り、書き込み、および実行を行うことができます。

chmod 700 .ssh

SSHディレクトリ内に、次の場所でエディタ(この場合はVI)を使用して、SSHキーを含むファイルを追加する必要があります。

vi .ssh/authorized_keys

SSHキーを貼り付けてから、VI形式を使用して保存して終了します。

最後に、作成したばかりのauthorized_keysファイルのアクセス許可を制限して、所有者だけが読み取りと書き込みを行えるようにする必要があります。

chmod 600 .ssh/authorized_keys

これで、セッションを閉じて[email protected]またはSSHコンソールでホストされているサーバーと入力することで、キーが機能していることを確認できました。さらに、「ここをクリック」をクリックして、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

これは、CentOS7サーバーでFirewalldルールを構成した後のデフォルトページです

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の半分を最大4 GBまで追加する必要があります(実際のRAMが1 GBの場合は、512 MBのファイルを追加します)。このパートでは、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

これは、CentOS7サーバーでスワップファイルを作成した後のデフォルトページです

次は?

これで、強力なセキュリティ基盤を備えたサーバーができ、サーバーが保護されていることを安心して確認できます。これで、必要に応じてプラットフォームの構築を進めることができます。フォローしていただきありがとうございます。今後の更新については、お気軽にご確認ください。

VPSホスティングサービスとVPSホスティング価格の詳細をご覧ください。


Linux
  1. CentOSでSFTPサーバーをセットアップする方法

  2. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  3. CentOSクラウドサーバーにVSFTPDをインストールする方法

  1. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  2. CentOSでMySQLレプリケーションを設定する方法

  3. CentOS/RHEL 5 で新規ユーザー用に VNC サーバーをセットアップする方法

  1. CentOS7でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. CentOSでNTPサーバーをセットアップする方法は?

  3. CentOS 7.xでVSFTPDを設定するにはどうすればよいですか?