Ubuntu 18.04の初期セキュアサーバー構成

前書き

このチュートリアルでは、Ubuntu 18.04を実行する新しいVultr VC2仮想マシンで基本的なセキュリティレベルを構成する方法を学習します。

前提条件

ユーザーを作成および変更する

まず、VMへのログインに使用する新しいユーザーを作成します。

adduser porthorian

注: 推測が難しい一意のユーザー名を使用することをお勧めします。ほとんどのボットは、試してみデフォルト設定されますrootadminmoderator、および同様。

ここでパスワードの入力を求められます。強く、あなたが強力な英数字のパスワードを使用することをお勧めします。その後、画面のプロンプトに従い、情報が正しいかどうかを尋ねられたら、を押してくださいY

新しいユーザーを追加したら、そのユーザーにsudo権限を付与して、rootユーザーに代わってユーザーからコマンドを実行できるようにする必要があります。

usermod -aG sudo porthorian

ユーザーにsudo権限を付与したら、新しいユーザーに切り替えます。

su - porthorian

SSHキーを生成して構成する

SSHキーを生成するには、このドキュメントに従っください。

新しいSSHキーを生成したら、公開キーをコピーします。次のようになります。

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

ユーザーディレクトリを設定する

ユーザーのホームディレクトリに移動していない場合は、そこに移動します。

cd $HOME

$HOMEユーザーのホームディレクトリの環境変数です。これは、新しいユーザーの作成時に自動的に設定されます。

ホームディレクトリにいる間、その中に別のディレクトリを配置します。このディレクトリは、rootとディレクトリを所有するユーザーを除いて、マシン上の他のユーザーから隠されます。次のコマンドを使用して、新しいディレクトリを作成し、その権限を制限します。

mkdir ~/.ssh
chmod 700 ~/.ssh

今、私たちは、ファイルを開くしようとしている.sshと呼ばれますauthorized_keys。これは、OpenSSHが検索するユニバーサルファイルです。/etc/ssh/sshd_config必要に応じて、OpenSSH設定内でこの名前を変更できます。

お気に入りのエディターを使用してファイルを作成します。このチュートリアルではnanoを使用します。

nano ~/.ssh/authorized_keys

sshキーをコピーして、authorized_keys開いたファイルに貼り付けます。公開鍵が入ったら、CTRL+ を押してファイルを保存できますO

適切なファイルパスが表示されることを確認します。

/home/porthorian/.ssh/authorized_keys

正しいファイルパスの場合は、を押してくださいENTER。そうでない場合は、上記の例と一致するように必要な変更を加えてください。次に、CTRL+でファイルを終了しますX

次に、ファイルへのアクセスを制限します。

chmod 600 ~/.ssh/authorized_keys

作成したユーザーを終了し、rootユーザーに戻ります。

exit

パスワード認証を無効にする

サーバーへのパスワード認証を無効にできるようになりました。これにより、ログインにsshキーが必要になります。パスワード認証を無効にし、公開鍵が正しくインストールされていない場合、サーバーからロックアウトされることに注意することが重要です。rootユーザーからログアウトする前に、まずキーをテストすることをお勧めします。

現在rootユーザーにログインしているため、次のように編集しsshd_configます。

nano /etc/ssh/sshd_config

OpenSSHが正しく構成されていることを確認するために、3つの値を検索します。

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

CTRL+ を押すと、これらの値を見つけることができますW

値は次のように設定する必要があります。

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

値がコメント化されている場合#は、行の先頭にあるを削除し、これらの変数の値が上記のとおりであることを確認してください。あなたはそれらの変数を変更したら、保存して、エディタを終了CTRL+ OENTERついにおよびCTRL+ X

sshd次のコマンドでリロードします。

systemctl reload sshd

ログインをテストできます。ルートセッションからまだログアウトしていないことを確認し、新しいsshウィンドウを開いて、接続にリンクされているsshキーで接続します。

PuTTYでは、これはConnection-> SSH->の下にありAuthます。

認証用の秘密鍵を参照して見つけます。これは、ssh鍵の作成時に保存しておく必要があるためです。

認証として秘密鍵を使用してサーバーに接続します。Vultr VC2仮想マシンにログインします。

注: sshキーの生成中にパスフレーズを追加した場合は、パスフレーズの入力を求められます。これは、仮想マシン上の実際のユーザーのパスワードとは完全に異なります。

基本的なファイアウォールを設定する

UFWを構成する

まず、UFWがまだ仮想マシン上にない場合は、UFWのインストールから始めます。確認する良い方法は、次のコマンドを使用することです:

sudo ufw status

UFWがインストールされている場合は、が出力されますStatus:inactive。インストールされていない場合は、インストールするように指示されます。

次のコマンドでインストールできます。

sudo apt-get install ufw -y

次に22、ファイアウォールでSSHポートを許可します。

sudo ufw allow 22

または、OpenSSHを許可することもできます。

sudo ufw allow OpenSSH

上記のコマンドのいずれかが機能します。

ファイアウォールを通過するポートを許可したので、UFWを有効にできます。

sudo ufw enable

この操作を実行するかどうかを尋ねられます。y続いて入力ENTERすると、ファイアウォールが有効になります。

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

注: OpenSSHまたはポート22を許可しなかった場合は、仮想マシンからロックアウトされます。UFWを有効にする前に、これらのいずれかが許可されていることを確認してください。

ファイアウォールを有効にしても、インスタンスに接続したままになります。以前と同じコマンドでファイアウォールを再確認します。

sudo ufw status

次のような出力が表示されます。

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

Vultrファイアウォールの構成

サーバーをさらに保護するために、Vultrファイアウォールを使用します。アカウントにログインします。ログインすると、画面の上部にあるファイアウォールタブに移動します。

Ubuntu 18.04の初期セキュアサーバー構成

次に、新しいファイアウォールグループを追加します。これにより、UFWファイアウォールに到達できるポートを指定できるようになり、2層のセキュリティが提供されます。

Ubuntu 18.04の初期セキュアサーバー構成

Vultrは、[説明]フィールドを使用して、ファイアウォールの名前を尋ねます。今後の管理を容易にするために、このファイアウォールグループの下のサーバーが何を行うかを必ず説明してください。このチュートリアルのために、名前を付けますtest。必要に応じて、後でいつでも説明を変更できます。

最初に、IPアドレスを取得する必要があります。これを直接行う理由は、IPアドレスが静的ではなく、常に変化している場合は、単にVultrアカウントにログインしてIPアドレスを変更することができるためです。

これが、UFWファイアウォールでIPアドレスを必要としなかった理由でもあります。さらに、仮想マシンのファイアウォールの使用を制限して他のすべてのポートを除外し、Vultrファイアウォールで処理できるようにします。これにより、インスタンスの全体的なトラフィックフィルタリングの負担が制限されます。

Vultrのネットワーク鏡を使用して、IPアドレスを見つけます。

IPアドレスを取得したので、新しく作成したファイアウォールにIPV4ルールを追加します。

Ubuntu 18.04の初期セキュアサーバー構成

IPアドレスを入力したら、+記号をクリックしてIPアドレスをファイアウォールに追加します。

ファイアウォールグループは次のようになります。

Ubuntu 18.04の初期セキュアサーバー構成

ファイアウォールグループにIPが適切にバインドされたので、Vultrインスタンスをリンクする必要があります。左側には、「リンクされたインスタンス」というタブがあります。

Ubuntu 18.04の初期セキュアサーバー構成

ページにアクセスすると、サーバーインスタンスのリストを含むドロップダウンが表示されます。

Ubuntu 18.04の初期セキュアサーバー構成

ドロップダウンをクリックして、インスタンスを選択します。次に、インスタンスをファイアウォールグループに追加する準備ができたら、+記号をクリックします。

おめでとうございます。VultrVC2仮想マシンのセキュリティ保護に成功しました。これは、誰かがインスタンスをブルートフォースにしようとする心配をせずに、非常に基本的なセキュリティレイヤーの優れた基盤を提供します。



Leave a Comment

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

Ubuntu 14.10へのMcMyAdminのインストール

Ubuntu 14.10へのMcMyAdminのインストール

McMyAdminは、サーバーの管理に使用されるMinecraftサーバーコントロールパネルです。McMyAdminは無料ですが、複数のエディションがあり、一部はパイです

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ruby on Railsは、プログラマーの生産性を向上させるために開発されたRubyの人気のあるWebフレームワークです。ただし、さまざまな宝石と依存関係を取得する

Vultr VPSにアクセスする方法

Vultr VPSにアクセスする方法

Vultrは、VPSにアクセスして構成、インストール、および使用するためのいくつかの異なる方法を提供します。アクセス認証情報VPS arのデフォルトのアクセス認証情報

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

別のシステムを使用していますか?DokuWikiは、データベースを必要としないPHPで記述されたオープンソースのWikiプログラムです。データをテキストファイルに保存します。ドクウィク

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

PleskサーバーでHTTP / 2を有効にする方法

PleskサーバーでHTTP / 2を有効にする方法

PleskはネイティブのHTTP / 2サポートを備えています。PleskでのHTTP / 2のロールアウトは、他のコンポーネントに比べてはるかに簡単ですが、その導入プロセスには慎重な計画が必要です

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。