Ubuntu 14.04でのSSHの保護

新しいサーバーを作成した後、サーバーのセキュリティを強化するために行う必要がある構成上の微調整がいくつかあります。

新しいユーザーを作成する

rootユーザーとして、サーバーで必要なすべてのことを実行する特権があり、制限はありません。このため、サーバー上のすべてのタスクでrootユーザーアカウント使用ないことをお勧めします。新しいユーザーを作ることから始めましょう。をusername目的のユーザー名に置き換えます。

adduser username

新しい安全なパスワードを選択し、それに応じて質問に回答します(または単にEnterキーを押してデフォルト値を使用します)。

ユーザーにroot権限を与える

新しいユーザーアカウントは、自分のホームフォルダの権限の外を持っていないと、サーバーを変更するコマンドを実行することはできません(のようなinstallupdateまたはupgrade)。rootアカウントの使用を回避するために、ユーザーにroot権限を付与します。これには2つの方法があります。

sudoグループへのユーザーの追加

簡単な方法は、ユーザーをsudoグループに追加することです。をusername目的のユーザー名に置き換えます。

adduser username sudo

これにより、ユーザーがグループに追加されますsudo。このグループには、sudoアクセスでコマンドを実行する特権があります。

sudoersファイルの変更

もう1つの方法は、ユーザーをsudoersファイルに入れることです。サーバーにroot特権を持つ複数のユーザーがいる場合、誰かがsudoグループを操作しても、root特権でコマンドを実行してサーバーで作業できるため、このアプローチは多少優れています。

まず、次のコマンドを実行します。

visudo

これでsudoersファイルが開きます。このファイルには、root権限でコマンドを実行できるグループとユーザーの定義が含まれています。

root    ALL=(ALL:ALL) ALL

この行の後に、ユーザー名を書き込んで、完全なroot権限を付与します。username適宜交換してください:

username    ALL=(ALL:ALL) ALL

ファイルを保存して閉じます(ナノではCtrl + OおよびCtrl + X)。

新しいユーザーをテストする

logoutand なしで新しいユーザーアカウントにログインするにはlogin、次を呼び出します。

su username

次のコマンドを使用して、sudo権限をテストします。

sudo apt-get update

シェルがパスワードを要求します。sudoが適切に設定されている場合は、リポジトリを更新する必要があります。それ以外の場合は、前の手順を確認してください。

次に、新しいユーザーからログアウトします。

exit

Sudoのセットアップが完了しました。

SSHの保護

このガイドの次の部分では、サーバーへのsshログインをセキュリティで保護する必要があります。まず、rootパスワードを変更します。

passwd root

推測しにくいが、覚えやすいものを選択してください。

SSHキー

SSHキーは、より安全なログイン方法です。SSHキーに関心がない場合は、チュートリアルの次の部分に進んでください。

次のVultr Docを使用してSSHキーを作成します。SSHキーを生成するにはどうすればよいですか?

公開鍵を取得したら、新しいユーザーで再度ログインします。

su username

次に、そのユーザーアカウントのホームディレクトリに.sshディレクトリとauthorized_keysファイルを作成します。

cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys

他のチュートリアルで生成した公開鍵をauthorized_keysファイルに追加します。

 nano .ssh/authorized_keys

ファイルを保存してから、そのファイルの権限を変更します。

chmod 600 .ssh/authorized_keys

rootユーザーに戻ります。

exit

SSH設定

次に、SSHデーモンをより安全にします。設定ファイルから始めましょう:

nano /etc/ssh/sshd_config
SSH受信ポートを変更する

この手順により、サーバーへのアクセスに使用されるポートが変更されます。これは完全にオプションですが、推奨されます。

Portconfig の行を見つけます。次のようになります。

Port 22

このポートを任意のポートに変更します。1024より大きい必要があります。

Port 4422
root sshログインを無効にする

この手順では、SSH経由のrootログインを無効にしますこれは完全にオプションですが、強くお勧めします。

この行を見つけます:

PermitRootLogin yes

...そしてそれを次のように変更します:

PermitRootLogin no

これにより、ユーザーとポート22を使ってブルートフォースや一般的なパスワードを試行するボットからサーバーがより安全にrootなります。

X11転送を無効にする

この手順ではX11転送を無効にします。リモートデスクトッププログラムを使用してサーバーにアクセスする場合は、これを行わないでください。

X11行を見つけます。

X11Forwarding yes

...そして次のように変わります:

X11Forwarding no
SSHデーモンを再起動します

SSHログインを保護するための変更を行ったので、SSHサービスを再起動します。

service ssh restart

これにより、サーバー設定が再起動して再ロードされます。

変更のテスト

現在のsshセッションを切断せずに、新しいターミナルまたはPuTTYウィンドウを開き、別のSSHログインをテストします。

ssh -p 4422 username@SERVER_IP_OR_DOMAIN

すべてが確認されれば、サーバーのセキュリティは正常に強化されています。楽しい!



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の未来は、日々成長を続けています。