Linux での攻撃を防ぐために悪意のある IP アドレスをバッチでブロックする方法に関するケーススタディ
多くの場合、Linux で IP アドレスをブロックする必要がある場合があります。たとえば、エンド ユーザーは、スパイウェアや IP 追跡から保護したい場合があります。システム管理者は、スパム IP アドレスによる企業メール サーバーへのアクセスを禁止したい場合があります。または、何らかの理由で特定の国による Web サービスへのアクセスを禁止したい場合があります。ただし、多くの場合、IP アドレス ブロック リストはすぐに数万の IP に達する可能性があります。これにどう対処すればよいでしょうか?
インストール:
最も簡単な方法はyumをインストールすることですが、この方法のバージョンは比較的低く、使用されるモジュールパラメータなどがいくつか欠落しています。なので、あまりお勧めしません。
yum install ipset -y
コンパイルしてインストールします:
1. 依存環境:
yum install libmnl libmnl-devel kernel-devel libtool-devel -y
(新しいバージョンのインストール方法: git pull git://git.netfilter.org/libmnl.git) ./autogen.sh を実行します)
(注: libmnl のみをインストールすると、次のエラーが表示されます:
checking for libmnl... configure: error: Package requirements (libmnl >= 1) were not met: No package 'libmnl' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables libmnl_CFLAGS and libmnl_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. )
コンパイル時に、/lib/modules/2.6.32-431.el6 というプロンプトが表示される場合があります。 x86_64/source
調査の結果、ソフト リンク /lib/modules/2.6.32-431.el6.x86_64/build -->/usr/src/kernels/2.6.32-431.el6 であることが判明しました。 x86_64 は存在しません
解決策: ソフト接続を再確立します
ln -sb /usr/src/kernels/2.6.32-573.3.1.el6.x86_64 /lib/modules/2.6.32-431.el6.x86_64/build
./autogen.sh を実行すると、エラー メッセージが表示されます:
/usr/share/libtool/
が見つかりません解決策: libtool-devel をインストールしますツール パッケージを作成し、yum install libtool-devel
2 を実行します。ipset をコンパイルしてインストールします (Linux カーネル ソース コード (バージョン >= 2.6.32))
wget -P /usr/local/src http://ipset.netfilter.org/ipset-6.26.tar.bz2 cd /usr/local/src && tar xjf ipset-6.26.tar.bz2 && cd ipset-6.26 ./autogen.sh ./configure make make modules make install make modules_install
注: Linux カーネルが異なれば、使用するソース コード パッケージのバージョンも異なります
注: Linux カーネル ソース コード (バージョン >= 2.6.16 または >= 2.4.36)
コンパイルとインストール:
wget -P /usr/local/src http://ipset.netfilter.org/ipset-4.5.tar.bz2 cd /usr/local/src && tar xf ipset-4.5.tar.bz2 && cd ipset-4.5 make KERNEL_DIR=http://img.xue163.com/lib/modules/$(shell uname -r)/build #$(shell uname -r)使用shell命令获取 make KERNEL_DIR=http://img.xue163.com/lib/modules/$(shell uname -r)/build install
よく使用されるコマンド:
ipset list 查看ip集列表信息 ipset create pythontab hash:ip maxelem 1000000 创建一个IP集pythontab,指定类型为hash:ip,设置ip集最多存储IP数为1000000 ipset add pythontab X.X.X.X 增加一个ip地址到IP集pythontab中去 ipset add pythontab X.X.X.X/24 增加一个网段到IP集pythontab中去 ipset dell pythontab X.X.X.X 删除IP集中指定的IP地址 ipset list 查看当前所有list ipset save pythontab -f pythontab.txt 将IP集pythontab中的信息保存到当前文件目录下面的文件pythontab.txt中 ipset destroy pythontab 删除指定的IP集pythontab ipset restore -f pythontab.txt 将保存的pythontab.txt文件中的IP集信息重新导入到ipset中 其他命令参考 ipset --help iptable命令参考: iptables -I INPUT -m set --match-set pythontab src -p tcp --destination-port 80 -j DROP #拒绝ipset IP集pythontab中的地址访问服务器的80端口 service iptables save service iptables restart
自動 IP アドレスの無効化
これで、次の機能が確認できるはずです。 IP コレクション: IP ブラックリストの維持は面倒で時間がかかります。実際には、これを行うことができる無料または有料のサービスがたくさんあります。さらに、IP ブラックリストを IP セットに自動的に追加する方法を見てみましょう。無料のブラックリスト
次に、iblocklist2ipset というオープンソースの Python ツールを使用して、ブラックリストを IP セットに変換します
まず、pip をインストールする必要があります
次のコマンドを使用してインストールします。 iblocklist2ipset
$ pip install iblocklist2ipset
。Fedora などの一部のディストリビューションでは、次のコマンドを実行する必要がある場合があります:
$ python-pip install iblocklist2ipset
次に、iblocklist.com にアクセスして、P2P リスト (「level1」リストなど) の URL を取得します。
それをダウンロードして解凍し、たとえば pythontab.txt という名前の txt ファイルとして保存します。iblocklist2ipset はリストを取得するための URL のみをサポートしているため、pythontab.txt を Web サイトの任意のディレクトリに置きます。例: ipset directory
$ iblocklist2ipset generate --ipset pythontab "http://www.pythontab.com/ipset/pythontab.txt" > pythontab.txt
上記のコマンドを実行すると、pythontab.txt という名前のファイルが取得されます。その内容を表示すると、次のような内容が表示されます:
create pythontab hash:net family inet hashsize 131072 maxelem 237302 add pythontab 1.2.4.0/24 add pythontab 1.2.8.0/24 add pythontab 1.9.75.8/32 add pythontab 1.9.96.105/32 add pythontab 1.9.102.251/32 add pythontab 1.9.189.65/32
次の ipset コマンドを使用してこのファイルをロードできます:
$ ipset restore -f pythontab.txt
これで、自動的に作成された IP セットを表示できます:
$ ipset list pythontab
これにより、手動管理の必要がなくなります。トラブル。
centos で yum を使用してインストールされたバージョンは最新バージョンではないことに注意してください。-f パラメーターとブラックリスト ファイルのインポートがサポートされていない可能性があるため、最新バージョンをインストールするにはソース コード パッケージを使用することをお勧めします。以上がLinux での攻撃を防ぐために悪意のある IP アドレスをバッチでブロックする方法に関するケーススタディの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

Centosシステムの下でのGitlabのバックアップと回復ポリシーデータセキュリティと回復可能性を確保するために、Gitlab on Centosはさまざまなバックアップ方法を提供します。この記事では、いくつかの一般的なバックアップ方法、構成パラメーター、リカバリプロセスを詳細に紹介し、完全なGitLabバックアップと回復戦略を確立するのに役立ちます。 1.手動バックアップGitlab-RakeGitlabを使用:バックアップ:コマンドを作成して、マニュアルバックアップを実行します。このコマンドは、gitlabリポジトリ、データベース、ユーザー、ユーザーグループ、キー、アクセスなどのキー情報をバックアップします。デフォルトのバックアップファイルは、/var/opt/gitlab/backupsディレクトリに保存されます。 /etc /gitlabを変更できます

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

CentOSハードディスクマウントは、次の手順に分割されます。ハードディスクデバイス名(/dev/sdx)を決定します。マウントポイントを作成します( /mnt /newdiskを使用することをお勧めします);マウントコマンド(Mount /dev /sdx1 /mnt /newdisk)を実行します。 /etc /fstabファイルを編集して、永続的なマウント構成を追加します。 Umountコマンドを使用して、デバイスをアンインストールして、プロセスがデバイスを使用しないことを確認します。

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。
