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

 

コメントを残す

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


あなたも気に入るかもしれない
DDoS攻撃を防ぐ最善の方法

ウェブサイト管理者のためのDDoS攻撃防止のベストプラクティス

DDoS(分散型サービス拒否)攻撃は、ウェブサイトやサーバーにとって最も一般的かつ破壊的なセキュリティ脅威の一つです。大量の悪意のあるリクエストを送信することで、サーバーリソースを飽和させ、深刻な速度低下、サイトのダウンタイム、さらには収益やブランドの評判の低下を引き起こします。サイト管理者やサーバー管理者にとって、DDoS攻撃への基本的な対処方法を理解することは必須であり、選択肢ではありません。この記事では、DDoS攻撃の影響を防止し、軽減するための最も効果的な技術的かつ実践的なソリューションを専門家の視点から検証します。.
UbuntuでSSHサーバーを安全にするための5つの効果的なヒント

UbuntuでSSHサーバーを安全にするための5つの効果的なヒント

この記事では、UbuntuでSSHサーバーを強化するための5つの効果的な方法を紹介します。これらのヒントを実践することで、サーバーのセキュリティを強化し、不正アクセスを防ぐことができます。具体的には、SSHキーによる認証、アクセス制限、Fail2Banなどの保護ツールの使用などが挙げられます。.
Docker を使用した Odoo ソフトウェアのセットアップと手動インストールのガイド

Docker を使用した Odoo ソフトウェアのセットアップと手動インストールのガイド

この記事では、Dockerと手動インストールの両方を用いてOdooを設定するための完全なチュートリアルを提供します。Odooを最適化し、セキュリティとスケーラビリティに関する推奨事項を実装する方法を学びます。このガイドには、クラウドサーバーやVPSサーバー上でOdooを最適にインストールおよび設定するための手順、ヒント、コツが含まれています。.