Как заблокировать трафик BitTorrent с помощью IPtables

0 Акции
0
0
0
0

IPTABLES — это приложение пользовательского пространства, которое позволяет системному администратору настраивать таблицы, предоставляемые брандмауэром ядра Linux (реализованным в виде различных модулей Netfilter), а также его хранимые цепочки и правила.

Настройте правила IPtables

Чтобы заблокировать трафик BitTorrent с помощью IPTABLES, вы можете отредактировать /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

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Вам также может понравиться
Пошаговое руководство по настройке и конфигурации OpenVPN в Ubuntu 22.04

Пошаговое руководство по настройке и конфигурации OpenVPN в Ubuntu 22.04

В этой статье вы узнаете, как установить и настроить сервер OpenVPN на Ubuntu 22.04. Руководство охватывает различные этапы, включая установку пакетов, настройку брандмауэра и советы по безопасности.
Установка и настройка прокси-сервера Shadowsocks-libev на Ubuntu 24.04

Установка и настройка прокси-сервера Shadowsocks-libev на Ubuntu 24.04

В этой статье вы узнаете, как установить и настроить Shadowsocks-libev на Ubuntu 24.04. Это руководство включает советы по безопасности и оптимизации, чтобы вы могли настроить надежный и эффективный прокси-сервер.
5 эффективных советов по обеспечению безопасности SSH-сервера в Ubuntu

5 эффективных советов по обеспечению безопасности SSH-сервера в Ubuntu

В этой статье мы рассмотрим 5 эффективных способов повышения безопасности вашего SSH-сервера в Ubuntu. Внедрение этих советов позволит вам улучшить безопасность ваших серверов и предотвратить несанкционированный доступ. К ним относятся аутентификация с помощью SSH-ключей, ограничение доступа и использование инструментов защиты, таких как Fail2Ban.
Как установить и настроить VPN-сервер OpenConnect на Ubuntu 22.04 с Let's Encrypt

Как установить и настроить сервер OpenConnect (ocserv) на Ubuntu 22.04 с Let's Encrypt

В этой статье мы узнаем, как настроить VPN-сервер OpenConnect (ocserv) на Ubuntu 22.04 с использованием сертификатов Let's Encrypt. Данное руководство охватывает установку, настройку, советы по безопасности и оптимизацию VPN-сервиса.
Как отключить IPv6 в Windows — полное и безопасное руководство

Как отключить IPv6 в Windows — полное и безопасное руководство

Узнайте, как отключить IPv6 в Windows безопасными и практичными способами. Ознакомьтесь с советами и различными методами отключения IPv6 с учетом требований безопасности и устранения неполадок. Подходит для сетевых и серверных администраторов.