Centos7サーバーの基本的なセキュリティ設定手順

Centos7サーバーの基本的なセキュリティ設定手順

pingスキャンをオフにする(役に立たないが)

まずルートに切り替える

エコー 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

1はオフを意味します

0はオンを意味します

iptablesの使用

iptables -I 入力 -p icmp -j ドロップ

基本的なセキュリティ設定を簡単に紹介します

1.共通ユーザーを作成し、rootログインを禁止し、共通ユーザーのみがsuコマンドを使用してrootに切り替えることを許可する

これの利点は、パスワード保護が二重になっていることです。ハッカーが一般ユーザーのパスワードを知っていても、ルートパスワードを持っていなければ、サーバーへの攻撃は比較的制限されます。

具体的な手順は次のとおりです(ルート権限が必要です)

通常ユーザーの追加

ユーザー追加 xxx

パスワードを設定する

パスワード xxx

これにより、通常のユーザーが作成されます

ルートログインを無効にする

vi /etc/ssh/sshd_config

PermitRootLogin いいえ

Systemctl sshd を再起動する

これで最初のステップは完了です。その後、rootはサーバーにログインできなくなり、通常のユーザーsuを介してのみ切り替えることができます。

2. ssh のデフォルト ポート 22 を変更します。ssh のポートは 22 なので、ポートを変更するとスキャンに少し時間がかかり、難易度が少し上がります。

次のようにすると、ポートが 51866 に変更されます。必要に応じて変更できます。10000 ~ 65535 の範囲内のポートを選択するのが最適です。

ステップ1 /etc/ssh/sshd_configを変更する

vi /etc/ssh/sshd_config

#ポート22 //この行から#記号を削除します

ポート 51866 //以下の行を追加

最初にポート22を削除してみてはいかがでしょうか。他のポートが正常に構成されていない場合、ポート22が削除されると、サーバーに再度アクセスできなくなります。

ステップ2 SELinuxを変更する

semanageをインストールする

$ yumはsemanageを提供します
$ yum -y ポリシーコアユーティリティ-pythonをインストールします

SElinux によって現在許可されている ssh ポートを表示するには、次のコマンドを使用します。

semanage ポート -l | grep ssh

SELinuxにポート51866を追加する

semanage ポート -a -t ssh_port_t -p tcp 51866

注: 操作が失敗した場合は、https://sebastianblade.com/how-to-modify-ssh-port-in-centos7/ を参照してください。

失敗した場合は、selinuxが有効になっていないことが原因であると考えられます。

追加されたかどうかを確認します

semanage ポート -l | grep ssh

成功した場合は、次のように出力されます。

ssh_port_t tcp 51866, 22

ステップ3 sshを再起動する

systemctl sshd.service を再起動します。

SSHがポート51866でリッスンしているかどうかを確認する

ネットスタット -tuln

ステップ4 ファイアウォールのポート51866を開く

ファイアウォールコマンド --permanent --zone=public --add-port=51866/tcp

ファイアウォール-cmd --reload

次に、51866 経由でログインできるかどうかをテストします。ログインできる場合は成功です。次に、ポート 22 を削除します。

vi /etc/ssh/sshd_config

ポート22 wqを削除

systemctl sshd.service を再起動します。

同時に、ファイアウォールはポート22も閉じます

ファイアウォールコマンド --permanent --zone=public --remove-port=22/tcp

Alibabaのサーバーを使用している場合は、Alibabaのセキュリティグループに新しい受信ルールを追加する必要があることに注意してください(おそらく、Alibabaのサーバーはイントラネットを使用しており、ポートマッピングが必要であるためです)。

3. DenyHosts などのソフトウェアを使用して SSH ブルートフォース クラッキングを防ぐ (詳細は説明しません)

実はこれは不正ログインをチェックするPythonスクリプトです。不正ログインの回数が設定回数を超えると、そのIPアドレスは自動的にブラックリストに追加されます。

4. クラウドロックを使用する(詳細は説明しません)

参考: http://tim-fly.iteye.com/blog/2308234

一般的に、最初の 2 つの手順を完了すると、侵入を少なくとも 50% 削減できます。3 番目の手順を完了すると、侵入の 80% 以上を基本的に排除できます。もちろん、最も重要なことは、セキュリティ意識を持ち、セキュリティと Linux の知識をさらに学ぶことです。

3つ目と4つ目については簡単に触れておきますので、ご興味があればご覧ください。

以下もご興味があるかもしれません:
  • Centos8 でローカル Web サーバーを構築するための実装手順
  • CentOS 8 に Postfix メール サーバーをインストールして設定する方法
  • Linux および CentOS (サーバー) に zip および unzip コマンド機能をインストールする
  • CentOS サーバーのセキュリティ構成戦略
  • CentOS8.0 で FTP サーバーをインストールして設定する方法
  • CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します
  • NodeJsプロジェクトCentOs Linuxサーバーのオンライン展開の詳細な説明
  • CentOS8.1 で Gitlab サーバーを構築するための詳細なチュートリアル

<<:  MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル

>>:  TypeScript をインストール、使用、自動コンパイルする方法に関するチュートリアル

推薦する

Firefox で Flash を再生するためのオブジェクトとパラメータの書き方

コードをコピーコードは次のとおりです。 <object classid="clsid...

ページリファクタリングスキル - コンテンツ

雑談はここまでにして、インターネット上で見つかる高性能な Yahoo ウェブサイトを構築するための数...

Docker で複数のアプリケーション サイトをプロキシするために Nginx を使用する方法

序文エージェントの役割は何ですか? - 複数のドメイン名が同じサーバーに解決される- 1つのサーバー...

HTML テーブル タグ チュートリアル (34): 行スパン属性 ROWSPAN

複雑なテーブル構造では、一部のセルが水平方向に複数のセルにまたがるため、行間属性 ROWSPAN を...

Keepalived は Nginx の負荷分散と高可用性のサンプル コードを実装します

第1章: keepalivedの紹介VRRP プロトコルの目的は、静的ルーティングの単一点障害問題を...

Vueプロジェクトのパッケージングと展開の実際のプロセスの記録

目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...

docker を使用してコード サーバーをデプロイする方法

画像をプルする # docker pull codercom/code-server # Docke...

Ubuntu 20.04 に Python 3 仮想環境をインストールする詳細なチュートリアル

以下はすべて仮想マシン上で実行されます1. pip3をインストールするsudo apt で pyth...

SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)

最近友人からDockerを触ったことがあるかと聞かれました。あまり自信がなかったので答えられませんで...

MySQLのデッドロックとログに関する詳細な説明

最近、MySQL オンラインでいくつかのデータ異常が発生しましたが、すべて早朝に発生しました。ビジネ...

MySQL 5.7.18 インストーラーのインストール ダウンロード グラフィック チュートリアル

この記事では、MySQL 5.7.18インストーラーの詳細なインストールチュートリアルを参考までに記...

Docker パッケージング ノード プロジェクトのプロセスの説明

バックエンド プログラマーとして、フロントエンドのものをいじらなければならないこともあります。そこで...

ウェブデザインにおける円形要素の使用例 25 選

本日の投稿では、Web デザインで使用される円形要素の優れた例をいくつか挙げ、美しい丸いボタン、メニ...

WeChatアプレットトラック再生の実装と遭遇した落とし穴の詳細な説明

WeChat アプレットの軌跡再生では、主に線描画操作にポリラインを使用し、車の移動操作にマーカーを...

シンプルなショッピングカートの最も完全なコード分析を実装する JavaScript (ES6 オブジェクト指向)

この記事では、シンプルなショッピングカートを実装するためのJavaScriptの具体的なコードを参考...