Достаточно часто при работе с VDS возникает необходимость заблокировать особо надоедливые IP адреса. Для портов HTTP можно конечно использовать плагины CMS, настройки .htacess или nginx.conf. Но есть еще порты SSH сервера, почтового сервера и т.п.
Лучше всего, с наименьшими затратами, блокировать ip адреса при помощи iptables (для ipv4). Iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) Netfilter для ядер Linux, начиная с версии 2.4.
Существенно облегчает жизнь использование fail2ban. Но иногда нужно просто забанить какой то ip-шник без всяких правил и ко всему серверу.
Самый простой и эффективный способ заблокировать ip:
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX -j DROP
Этой командой добавляется правило блокирующее с ip адреса XXX.XXX.XXX.XXX все входящие запросы к серверу.
Вместо DROP можно поставить REJECT. Насчет целесообразности использования того или другого можно услышать диаметрально противоположные мнения.
Как заблокировать сайт по IP адресу
DROP — просто закрывает соединение и не отправляет ничего в ответ. Соединение потом убивается по таймауту, время которого при желании можно сократить. В итоге при множестве запросов мы не посылаем ничего в ответ. Однако при сканировании закрытых портов, они будут помечаться как filtered, что говорит, что что-то всё-таки слушает порт.
REJECT — сбрасывает соединение и отправляет в ответ сообщение, указанное в опции —reject-with. По умолчанию отправляется host is unreachable. При множестве запросов — множество ответов, но при сканировании порты будут unreachable. Ресурсов сервера будет потребляться больше.
Посмотреть все правила можно командой:
sudo iptables -n -L -v —line-numbers
- -L : Показать список правил.
- -v : Отображать дополнительную информацию. Эта опция показывает имя интерфейса, опции, TOS маски. Также отображает суффиксы ‘K’, ‘M’ or ‘G’.
- -n : Отображать IP адрес и порт числами (не используя DNS сервера для определения имен. Это ускорит отображение).
- —line-numbers: Нумерация правил.
На экране получим нечто подобное:
Chain INPUT (policy ACCEPT 6796 packets, 3406K bytes) num pkts bytes target prot opt in out source destination 1 926 46804 DROP all — * * XXX.XXX.XXX.XXX 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 6697 packets, 4944K bytes) num pkts bytes target prot opt in out source destination
Разблокировать строку можно по номеру правила:
sudo iptables -D INPUT 1
или указав правило полностью:
sudo iptables -D INPUT -s XXX.XXX.XXX.XXX -j DROP
Удалить все правила:
sudo iptables -F
Настроенные блокировки ip будут действовать до следующей перезагрузки системы. Чтобы они восстанавливались при последующих загрузках системы, можно использовать разные методы.
Один из самых простых – установить пакет iptables-persistent, с помощью которого можно будет сохранять создаваемые правила в отдельные конфигурационные файлы, которые в свою очередь будут автоматически загружаться после перезагрузки системы.
Заблокировали доступ? Смена IP адреса. Очень легко. Всего в 1 клик.
sudo apt-get install iptables-persistent
Для сохранения правил нужно набрать:
sudo service iptables-persistent save
Похожие статьи на сайте
- Руководство по iptables (Iptables Tutorial 1.1.19)
- Удаление правил iptables по их номерам
- Блокирование ip адреса при помощи iptables
Источник: www.oslogic.ru
Заблокировать спамера в htaccess по ip адресу
htaccess
Опубликовано 10.01.2016 Обновлено 04.10.2018
Чтобы заблокировать спамера по ip адресу достаточно прописать специальный код в файле htaccess и бессовестный негодяй больше никогда не сможет попасть на ваш сайт. Для начала нужно узнать ip адрес спамера, для этого зайдите на страницу Комментариев, на вкладку Спам. Под именем комментатора указан его ip адрес, как раз его вам нужно скопировать. (На скриншоте показан пример ip-адреса нормального пользователя, не спамера, просто у меня спама нет на сайте, пришлось брать нормальный комментарий).
Далее, зайдите в корневую директорию своего сайта на хостинге, где расположены все файлы вашего сайта, найдите там файл htaccess, откройте данный файл и добавьте в него следующий код:
Order allow,deny
Allow from all
Deny from 123.557.77.33 — замените на ip-адрес спамера.
Смотрите, в основном у всех спамеров динамический ip-адрес, который постоянно меняется. Тогда можно заблокировать весь диапазон или всю подсеть:
Order allow,deny
Allow from all
Deny from 123.557. — подсеть.
Order allow,deny
Allow from all
Deny from 123.557.77.33-123.660.90.10 — диапазон.
Конечно постоянно, вручную блокировать каждого спамера, это не вариант, запаритесь просто. Лучше просто поставить защиту в комментарии от спама и забыть про него раз и навсегда. Могу порекомендовать вам хороший плагин, простой и эффективный — Я не робот, защита от спама в комментариях, забудь про спам, раз и навсегда !
Источник: info-effect.ru
Блокирование IP-адресов с помощью брандмауэра Windows 7
Владельцы компьютеров под управлением Windows 7 нередко озадачиваются вопросом блокировки входящих и исходящих соединений для определенных IP-адресов, например, с целью отсечения трафика, генерируемого сомнительными серверами либо рекламными площадками. Как правило, многие пользователи для решения данной задачи прибегают к использованию сторонних брандмауэров и совсем не догадываются о том, что для разборок с нежелательными айпишниками вполне сгодятся штатные средства операционной системы Windows.
Рассмотрим на конкретном примере. Допустим, мы хотим пустить под нож надоедливые рекламные видеоблоки Smart Links, то и дело встречающиеся на многих популярных интернет-порталах. Банальной правкой файла hosts с этой всплывающей напастью справиться нельзя, и помогает только одно — занесение в «черный список» IP-адреса 93.191.11.124, с которого, собственно, и осуществляется трансляция флешовых роликов.
Чтобы заблокировать упомянутый IP, следует воспроизвести следующие действия.
1. Щелкаем правой клавишей мыши по расположенному в правом нижнем углу рабочего стола Windows значку сетевого соединения и в появившемся меню выбираем пункт «Центр управления сетями и общим доступом» (в англоязычном варианте: Open Network and Sharing Center).
2. В открывшемся окне переходим по ссылке «Брандмауэр Windows» (Windows Firewall).
3. Далее следуем по ссылке «Дополнительные параметры» (Advanced settings).
4. Откроется окно расширенных настроек межсетевого экрана Windows, в левой части которого потребуется выбрать пункт «Правила для входящих подключений» (Inbound Rules), а в правой — щелкнуть по ссылке «Создать правило» (New Rule).
5. В окне мастера создания правила для входящего соединения выбираем типа правила «Настраиваемые» (Custom) и жмем «Далее».
6. Выбираем пункт «Все программы» (All Programs).
7. Настройки портов и протоколов оставляем без изменений.
8. Указываем удаленный IP-адрес (Remote IP addresses), к которому будет применяться создаваемое правило. В нашем случае, это — 93.191.11.124.
9. Ставим галочку напротив пункта «Блокировать подключение» (Block the connection).
10. Указываем профили, к которым применяется создаваемое правило.
11. Используя какое-нибудь говорящее название сохраняем правило и жмем клавишу «Готово» (Finish).
12. В левой части уже знакомого окна расширенных настроек брандмауэра Windows выбираем пункт «Правила для исходящих подключений» (Outbound Rules) и создаем аналогичную конфигурацию, руководствуясь пунктами 5-11.
13. Удостоверяемся, что внесенные в параметры межсетевого экрана Windows правки пошли на пользу делу.