Блокировка Telegram с помощью /etc/hosts

$ ssh localhost sh -c \"echo \\\'how to print single quotes here\\\'\"
'how to print single quotes here'

$ ssh localhost echo \\\'how to print single quotes here\\\'
'how to print single quotes here'

Чтобы понять правила, запомните этот уровень цитирования удаляется локальной оболочкой, затем SSH вызывает удаленную оболочку, которая удаляет второй уровень цитирования.

1
26.04.2017, 20:35
3 ответа

Поскольку вы редактируете /etc/hosts, у вас есть корневой доступ. Лучшим и самым элегантным способом является использование iptables (т.е. блок пакетов, оставляющих коробку www.telegram.org)

Вы можете протестировать, введя команды iptables в командной строке.

# iptables -A OUTPUT -d www.telegram.org -j REJECT

Вы можете видеть, что вы добавили правило с:

# iptables -S OUTPUT

-P OUTPUT ACCEPT
-A OUTPUT -d 149.154.167.120/32 -j REJECT --reject-with icmp-port-unreachable

И вы можете проверить попытку доступа к нему с помощью:

# wget  web.telegram.org                                                     
--2017-04-26 14:38:01--  http://web.telegram.org/
Resolving web.telegram.org... 149.154.167.120, 2001:67c:4e8:fa60:3:0:811:140
Connecting to web.telegram.org|149.154.167.120|:80... failed: Connection refused.
Connecting to web.telegram.org|2001:67c:4e8:fa60:3:0:811:140|:80... failed: Network is unreachable.

Вы не сказали нам, какую ОС вы используете, поэтому у вас может не быть более новой версии iptables, и, следовательно, вам может не хватать ключа -S. Вы можете использовать -L:

# iptables -L OUTPUT

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             149.154.167.120     reject-with icmp-port-unreachable 

Если вы хотите удалить только что добавленное правило, просто замените -A на -D в команде выше.

Примечание: если вы хотите, чтобы эти правила были постоянными при перезагрузке, вы должны сделать iptables-save > /etc/sysconfig/iptables или вручную добавить их в /etc/sysconfig/iptables.

iptables довольно сложен, но справочные страницы весьма полезны.

(Я использую CentOS 6 и 7 на своих серверах. Брандмауэр - это новый интерфейс по умолчанию на CentOS 7, но я установил iptables-используйте его вместо этого, который полностью поддерживается.)

4
27.01.2020, 23:19

Кстати, я бы установил хост 127.0.0.1 вместо 0.0.0.0.... это может быть вашей исходной проблемой.

В любом случае, еще один трюк заключается в добавлении специального маршрута для нарушающего IP-номера(ов):

 # route add -host 10.11.12.13 dev lo

Вам придется добавить их в ваш rc.local (или аналогичный), чтобы эти правила воссоздавались во время перезагрузки.

Я использовал это, чтобы заблокировать людей, которые пытались взломать пароль для моего веб-сайта компании.

1
27.01.2020, 23:19

он использует веб-сокеты для получения сообщений

добавить

0.0.0.0 zws2.web.telegram.org

П.С. проверьте, как отлаживать веб-сокеты в chrome devtools

0
13.10.2021, 17:00

Теги

Похожие вопросы