Ubuntu16.04サーバーの初期設定

最近、サーバーのセキュリティの問題で少し苦しんだので、この落とし穴の結果を記録するために、Linuxサーバーの初期化に関連するいくつかの記事を書くことにしました。できるだけ早くセットアップすることで、サーバーの安全性が高まり、可用性が向上し、その後の展開手順の基盤が築かれます。

1つ、ルートログイン##

[クラウドサーバー](https://cloud.tencent.com/product/cvm?from=10680)を購入すると、コンソールからサーバーのIPとアカウントのパスワードを取得できます。この時点で合格できます

ssh root@SERVER_IP_ADDRESS

このコマンドは、サーバーに接続するために使用されます。ホストの信頼性を受け入れることについて警告がある場合は、同意することを選択します。パスワードを入力した後、ログインプロセスを完了することができます。

root ###とは

UnixおよびUnixに似たシステムでは、rootは、すべてのモード(シングル/マルチユーザー)のすべてのファイルおよびプログラムに対するすべての権限を持つユーザー(つまり、スーパーユーザー)の共通名です。

2つ目は、新しいユーザーを作成する##

ルートアカウントの権限は非常に大きいため、ルートアカウントに初めてログインした後、新しいアカウントを準備し、この新しいアカウントを使用して後でログインする必要があります。したがって、次のステップでは、新しいユーザーを作成します。

たとえば、「leon」という名前の新しいユーザーを作成したいとします。

adduser leon

確認後、まずアカウントのパスワードを設定する必要があります。その後、氏名、自宅の電話番号、職場の電話番号などの情報を求められます。可能であれば、アカウントに強力なパスワードを設定して覚えておいてください。オプションで他の情報を残すこともできます。

3、ルート権限を付与します##

作成したばかりのレオンは、通常のアカウント権限を持つアカウントですが、日常的に使用する場合はスーパー管理者権限が必要になる場合があります。この権限を使用する方法は、コマンドの前に「sudo」を追加することです。次に例を示します。

sudo vi /etc/hosts

不十分な権限を回避するために、必要に応じてroot権限を持つ信頼できるアカウントをいくつか与える必要があります。これはrootアカウントでログインするときに行われます。

usermod -aG sudo leon

これで、ユーザーleonにスーパーユーザー特権を実行するコマンドがあります。

4つ目は、sshを使用してサーバーにログインすることです##

sshキーを使用してサーバーにログインすると、サーバーのセキュリティを向上させることができます。この操作については以前のブログですでに書いているので、ここにリンクを投稿します。

[ ssh-keyを使用して、パスワードなしでサーバーにログインします](http://originalix.github.io/2018/04/25/%E5%9C%A8Mac%E4%B8%8A%E4%BD%BF%E7%94%A8ssh -key%E5%85%8D%E5%AF%86%E7%A0%81%E7%99%BB%E5%BD%95%E6%9C%8D%E5%8A%A1%E5%99%A8 /)

SSHログインサーバーの構成が完了したら、サーバーのセキュリティを向上させるためにパスワード認証方法を無効にする方法について説明しましょう。

5、パスワードログインを無効にするように設定します##

サーバーにパスワード認証によるログインを許可すると、アカウントパスワードを取得した悪意のあるユーザーがサーバーにログインして、破壊的な操作を実行する可能性があります。したがって、サーバーのセキュリティのために、サーバーへのログインにパスワード認証を使用することを禁止することをお勧めします。結局のところ、信頼できるコンピューターでssh-keyを構成済みです。

警告⚠️:この手順を実行する前に、サーバーにログインできるようにssh-keyを構成する必要があります。そうしないと、サーバーがログインできなくなり、再インストールと復元しかできなくなり、データが失われる可能性があります。

rootアカウントまたはsudoコマンドを使用して、ssh構成ファイルを開きます。

sudo vi /etc/ssh/sshd_config

Passwordauthenticationオプションを探し、彼の前にあるコメント#を削除してから、その値を noに変更します。

# sshd_configdisableパスワードログイン設定
PasswordAuthentication no

次に、次の2つの構成を見つけます。それらが私のものと一致している場合は変更しないでください。それ以外の場合は同じに変更してください。デフォルトの構成は次の値です。

PubkeyAuthentication yes

ChallengeResponseAuthentication no

これらの変更を完了したら、保存して使用し、 :wqを使用して保存して終了します。

sshプログラムを再起動します

sudo systemctl reload sshd

パスワード認証が終了しました。認証にはsshのみを使用できます。

このログイン接続からログアウトする前に、新しいウィンドウを開いて構成を確認し、sshが正常にログインできることを確認して、しばらくログインを待たないようにすることをお勧めします。パスワードアクセスが拒否された場合は、別のアカウントでサーバーにログインしてみてください。 、その後、構成は成功します。

6、ファイアウォールを設定します##

Ubuntu 16.04サーバーは、UFWファイアウォールを使用して、特定のサービスとの接続のみが許可されるようにすることができます。このアプリケーションを使用して、基本的なファイアウォールを簡単に設定できます。

さまざまなアプリケーションが、インストール中に構成ファイルをUFWに登録できます。これらの構成ファイルにより、UFWはこれらのアプリケーションを名前で管理できます。現在サーバーに接続できるサービスであるOpenSSHは、構成ファイルをUFWに登録しています。

次のように入力すると、これを表示できます。

sudo ufw app list

あなたは以下を見ることができます

Available applications:
 Apache
 Apache Full
 Apache Secure
 OpenSSH

ファイアウォールがssh接続を許可していることを確認する必要があるため、次のコマンドを使用してこれらの接続を許可します。

sudo ufw allow OpenSSH

次のコマンドを使用して、ファイアウォールを有効にします。

sudo ufw enable

ファイアウォールのステータスを自分で確認することもできます。

sudo ufw status

見られます:

Status: active

To                         Action      From
------------
Apache Full                ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
Apache Full(v6)           ALLOW       Anywhere(v6)OpenSSH(v6)               ALLOW       Anywhere(v6)

たとえば、iOSのapiインターフェイス、WeChatアップルトの構成ではhttpsプロトコルを使用する必要があります。次に、アクセスのためにポート443を開く必要があります。次のコマンドを使用して、ポートを開くことができます。

sudo ufw allow 443は、ポート443への外部アクセスを許可します

この時点で、サーバーの基本構成が完了しました。次に、データベースへの安全なアクセスのために別の構成を作成できます。

Recommended Posts

Ubuntu16.04サーバーの初期設定
サーバーの初期設定にはUbuntu16.04を使用します
UbuntuTouch環境のセットアップ
ubuntuの3D効果
ubuntuの使用法の概要
ubuntuの下にFTPサーバーをデプロイします
[Linux] Sambaサーバーのビルド(ubuntu16.04)
Ubuntu Server14.04にOpenSSL1.0.2をインストールします
Ubuntuサーバー第8章DNSサービス
ubuntu16.04ビルドpptpdV **サーバー
Ubuntuサーバー第3章パッケージ管理
UbuntuでのAnacondaの使用
Ubuntuサーバー第7章リモート管理
サーバーアップグレードUbuntu20.04LTSレコード
ubuntuファイアウォールルールのufw
Ubuntu12.04クロスコンパイルサーバーを構築する
ubuntuでのmediawikiの使用
サーバーアップグレードUbuntu20.04LTSレコード
UbuntuサーバーはJavaWebサーバーを構築します
UbuntuサーバーでPHPオペレーティング環境をセットアップする方法
さまざまなubuntu問題の要約
Ubuntuはsquidプロキシサーバーを展開します
ubuntuルートのデフォルトパスワード(初期パスワード)
Ubuntu16.04ビルドGitLabサーバーチュートリアル
ubuntuでのJenkinsのハッピーインストール
gpg2を使用したubuntuの詳細な説明
ChefサーバーワークステーションをUbuntu18.04にインストールします
Ubuntu16.04ビルドphp5.6Webサーバー環境
Ubuntuで一般的に使用されるコマンドの概要
Ubuntuファイルシステムの概要
リモートUbuntuサーバーに接続されたMySQL
kvm仮想化を使用してUbuntu18.04サーバーをインストールします
ubuntuでファイルサーバーを構築する
UbuntuでのDockerCEのインストール
Ubuntu16.04でのCUDA8.0とCUDA9.0の共存
Ubuntu Server12.4.0にOracle11gR2をインストールします