シェルスクリプトはアクセス制御を設定し、複数回のログイン失敗後に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 レコードを挿入する詳細な例
MySQL のページングステートメントの使用制限Oracle や MS SqlServer と比較す...
ウェブサイトを最適化するときは、エラー ページの使い方を学ぶ必要があります。たとえば、ウェブサイトに...
重要でないflex-basisテキストオーバーフローに省略記号を追加するという小さな機能に多くの問題...
目次成し遂げる:要約:言うことはあまりありませんが、まずは効果を見てみましょう。 カードホバー、レス...
目次スロットとは何かデフォルトスロットの理解コードスニペット要約するスロットとは何かスロットは、親コ...
<br />テキストデザインでは、通常、テキストのレイアウト、つまりテキストをより美しく...
コードをコピーコードは次のとおりです。 <html> <ヘッド> <m...
MySQL には、10 進数などの標準データ型だけでなく、float や double などの非標...
目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...
原因: java.sql.SQLException: 列の文字列値が正しくありません: '\...
目次ケーススタディアカウント残高を更新する直接更新楽観的ロック方式ロックフリーソリューションキューイ...
シンプルなアプリケーションの展開1. ディレクトリ構造: └── Pythonpro #ディレクトリ...
この記事では、GobangゲームのWebバージョンを実装するためのJavaScriptの具体的なコー...
1. 公式 Web サイトから MySQL 5.7 インストール パッケージ (mysql-5.7....
目次ステップ1: インストールステップ2: 引用ステップ3: 使用Webプロジェクトでは、データを読...