シェルスクリプトはアクセス制御を設定し、複数回のログイン失敗後にIPをブロックしてSSHのブルートフォースクラッキングを防止します。 ホストがサーバーに対して SSH リモート管理を実行していることが判明し、10 分以内に間違ったパスワードが 3 回入力されると、firewalld を使用して応答し、この IP の再接続を禁止し、6 時間後に再び接続が許可されます。 1. システム: Centos7.1 64 ビット 2. 方法: /var/log/secureを読み込んでキーワードFailedを検索する 1月4日 16:29:01 centos7 sshd[1718]: 192.168.120.1 ポート 2171 ssh2 からの root のパスワードに失敗しました 1月4日 16:29:02 centos7 sshd[1718]: pam_succeed_if(sshd:auth): 要件「uid >= 1000」はユーザー「root」によって満たされていません 1月4日 16:29:04 centos7 sshd[1718]: 192.168.120.1 ポート 2171 ssh2 からの root のパスワードに失敗しました 1月4日 16:29:06 centos7 sshd[1718]: エラー: 192.168.120.1 ポート 2171:0 から切断を受信しました: [preauth] 1月4日 16:45:53 centos7 sshd[1758]: 192.168.120.134 ポート 40026 ssh2 からの root のパスワードに失敗しました 3. シェルコード、test.shを作成する #!bin/bash #違法なIPアドレスを傍受する 月=$(LANG=C 日付 +"%b") day=$(LANG=C 日付 +"%e") now=$(LANG=C 日付 +"%T") ten=$(LANG=C date -d "10分前" +"%T") cat /var/log/secure |awk '$1=="'$month'" && $2=='"$day"' && $3>="'$ten'" && $3<="'$now'" { print}' |grep '失敗'|awk -F'from' '{ print $2}' |awk '{ print $1}'|sort |uniq -c > baduser.txt #計算回数 times=`awk '{ print $1 }' baduser.txt` #禁止された IP アドレス シーケンス=1 i を $times で する ip=`sed -n ''$seq'p' baduser.txt |awk '{ print $2}'` [ $i -ge 3 ]の場合 それから ファイアウォール-cmd --add-rich-rule='ルール ファミリ=ipv4 送信元アドレス='$ip' ポート ポート=22 プロトコル=tcp 拒否' --timeout=6h フィ seq=`式 $seq + 1` 終わり 4. test.sh スクリプトを cron スケジュール タスクに追加し、60 分ごとに実行します。 # crontab -e */60 * * * * sh /root/test.sh 5. テスト 1. ターミナル ウィンドウを開き、ssh でサーバーに接続し、間違ったパスワードでサーバーに数回接続します。 IP がサーバーの baduser.txt ファイルに追加され、サーバーに接続できず、拒否されます。 ssh のブルートフォースクラッキングを防ぐためのシェルスクリプト設定に関するこの記事はこれで終わりです。シェルスクリプトによるブルートフォースクラッキング対策に関する関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Quill エディタでカスタム HTML レコードを挿入する詳細な例
マスタースレーブレプリケーションがなぜ必要なのでしょうか? 1. 複雑な業務システムでは、SQL 文...
今日は、サイトの設定やウェブサイトのアップロードなど、FlashFXP の最も基本的な機能を紹介しま...
MySQL レプリケーションには、SQL ステートメント ベースのレプリケーション (SBR)、行ベ...
max_allowed_packet は、受け入れるパケットのサイズを設定するために使用される ...
本文は以下から始まります。 123WORDPRESS.COM ダウンロード:純粋な CSS3 で超リ...
この記事では、主に Linux で MYSQL データベースをインストールする方法について説明し、M...
一つの目的Html ページでローカル フォルダーを選択すると、フォルダーとそのサブフォルダー内のすべ...
概要リレーショナル データベースでは、インデックスは、データベース テーブル内の 1 つ以上の列の値...
データを挿入するとき、以前オフィス システムに取り組んでいたときにはデータベースのパフォーマンスにつ...
FlashFXPのダウンロードアドレスは、https://www.jb51.net/softs/95...
目次インデックスとは何ですか?左端のプレフィックス一致の原則key_lenの計算方法インデックスの最...
最近、MySQL を使用してテーブル データを Excel ファイルにエクスポートしました。MySQ...
Kubernetes チームは最近、最新バージョンの Docker でサポートされている機能を廃止...
MySQL の一般的なシナリオ: 2 つのデータ セットの交差と差を取得するステップ1. 2つのコレ...
私はかなり昔に CSS に触れましたが、フローティングについてはいつも混乱していました。私の理解が浅...