IPtablesでBitTorrentトラフィックをブロックする方法

0 株式
0
0
0
0

IPTABLES は、システム管理者が Linux カーネル ファイアウォール (さまざまな Netfilter モジュールとして実装) によって提供されるテーブルと、そこに保存されているチェーンおよびルールを設定できるようにするユーザー空間アプリケーションです。.

IPtablesルールを設定する

IPTABLES を使用して BitTorrent トラフィックをブロックするには、/etc/sysconfig/iptables (CentOS 7) を編集し、次の内容を含めます。

vim /etc/sysconfig/iptables

.まず、最初のルールのすぐ上にチェーンを追加する必要があります。

:RH-Firewall-1-INPUT - [0:0]

 

次に、COMMIT 行の上に次のコードを追加します。.

# Torrent ALGO Strings using Boyer-Moore
-A RH-Firewall-1-INPUT -m string --algo bm --string "BitTorrent" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string "BitTorrent protocol" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string "peer_id=" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string ".torrent" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string "announce.php?passkey=" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string "torrent" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string "announce" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string "info_hash" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string "/default.ida?" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string ".exe?/c+dir" -j DROP
-A RH-Firewall-1-INPUT -m string --algo bm --string ".exe?/c_tftp" -j DROP

# Torrent Keys
-A RH-Firewall-1-INPUT -m string --string "peer_id" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "BitTorrent" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "BitTorrent protocol" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "bittorrent-announce" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "announce.php?passkey=" --algo kmp -j DROP

# Distributed Hash Table (DHT) Keywords
-A RH-Firewall-1-INPUT -m string --string "find_node" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "info_hash" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "get_peers" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "announce" --algo kmp -j DROP
-A RH-Firewall-1-INPUT -m string --string "announce_peers" --algo kmp -j DROP

 

IPtablesを再起動する

/etc/init.d/iptables restart

IPtablesの表示/ルールの確認

iptables -L

サンプル出力

Chain RH-Firewall-1-INPUT (0 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            STRING match "BitTorrent" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "BitTorrent protocol" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "peer_id=" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match ".torrent" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "announce.php?passkey=" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "torrent" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "announce" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "info_hash" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "/default.ida?" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match ".exe?/c+dir" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match ".exe?/c_tftp" ALGO name bm TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "peer_id" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "BitTorrent" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "BitTorrent protocol" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "bittorrent-announce" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "announce.php?passkey=" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "find_node" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "info_hash" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "get_peers" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "announce" ALGO name kmp TO 65535 
DROP       all  --  anywhere             anywhere            STRING match "announce_peers" ALGO name kmp TO 65535

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


あなたも気に入るかもしれない
ターミナルを使用してMikroTikを手動でバックアップする方法(手順別)

ターミナルを使用してMikroTikを手動でバックアップする方法(手順別)

このガイドでは、ターミナルを使用してMikroTikを手動でバックアップする方法をステップバイステップで説明します。バックアップの作成方法、証明書ファイルのエクスポート方法、セキュリティに関するヒントなど、さまざまな方法について学ぶことができます。.
フォワードプロキシとリバースプロキシの違い

フォワードプロキシとリバースプロキシの違い

この記事では、フォワードプロキシとリバースプロキシの主な違いについて説明します。これらの概念を理解することで、ネットワークインフラストラクチャの最適な選択が可能になります。この記事では、定義、用途、そして実用的な設定例を紹介します。.
mitmproxyによるトラフィック分析:デバッグとセキュリティのための完全ガイド

mitmproxyによるトラフィック分析:デバッグとセキュリティのための完全ガイド

この記事では、HTTP/HTTPSトラフィックの分析とデバッグに使用されるmitmproxyツールをレビューします。インストールと設定からセキュリティのヒントや実用的な使用方法まで、このガイドはトラフィックを効果的に管理するのに役立ちます。.
AWS Global Accelerator でパフォーマンス、精度、セキュリティを向上

AWS Global Accelerator でパフォーマンス、精度、セキュリティを向上

AWS Global Acceleratorは、Anycast IPアドレスを使用するウェブサイトやアプリケーションのパフォーマンスとセキュリティを向上させる重要なサービスです。この記事では、AWSテクノロジーを活用して可用性を最適化し、レイテンシーを削減し、アプリケーションを保護する方法について詳しく説明します。.
AWS Systems Manager を使用して EC2 インスタンスでコマンドをリモートで実行する

AWS Systems Manager を使用して EC2 インスタンスでコマンドをリモートで実行する

この記事では、SSHポートを開かずにAWS Systems Managerを使用してEC2インスタンスで安全にコマンドを実行する方法を説明します。前提条件、ベストプラクティス、IAM設定を確認することで、サーバー上でコマンドを簡単に管理および実行できるようになります。.