<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Аникин: заметки с тегом защита</title>
<link>https://anikin.pw/tags/zaschita/</link>
<description>Блог об администрировании Linux, BSD и не только</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог об администрировании Linux, BSD и не только</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Защита от DDoS атаки ботнета взломанных Wordpress сайтов</title>
<guid isPermaLink="false">67</guid>
<link>https://anikin.pw/all/zaschita-ot-ddos-ataki-botnetom-vzlomannyh-wordpress-saytov/</link>
<pubDate>Fri, 17 Jun 2016 14:48:34 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/zaschita-ot-ddos-ataki-botnetom-vzlomannyh-wordpress-saytov/</comments>
<description>
&lt;p&gt;Столкнулся с атакой взломанных wordpress говносайтов на один из клиентских серверов. Клиент пожаловался на недоступность сайта, сайт отдавал ошибку gateway timeout. Зашёл на сервер, вижу&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;load average: 145.44, 114.78, 78.83&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Странно что сервер ещё отвечал при такой нагрузке. Смотрю лог недоступного виртуалхоста и вижу кучу запростов типа&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;GET /index.php HTTP/1.0&amp;quot; 200 37648 &amp;quot;-&amp;quot; &amp;quot;WordPress/4.5.2; http://52.39.213.67; verifying pingback from 191.96.249.54&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Блокируем ботов по ключевому слову WordPress&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# iptables -A INPUT -p tcp --dport 80 -m string --string 'WordPress' --algo kmp -j DROP&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Проблема решена.&lt;/p&gt;
</description>
</item>

<item>
<title>Правильная настройка denyhosts. Защита ssh, разбан ip, очистка правил. Или как не забанить самого себя.</title>
<guid isPermaLink="false">14</guid>
<link>https://anikin.pw/all/pravilnaya-nastroyka-denyhosts-zaschita-ssh-razban-ip-ochistka-p/</link>
<pubDate>Wed, 23 Oct 2013 14:10:34 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/pravilnaya-nastroyka-denyhosts-zaschita-ssh-razban-ip-ochistka-p/</comments>
<description>
Denyhosts - это скрипт для защиты в основном ssh от взлома брутфорсом. Он анализирует число неудачных попыток коннекта к серверу и после определённого их количества блокирует ip с которого пытаются приконектится. Блокирует путём добавления ip в /etc/hosts.deny.&lt;p&gt;

Установка довольно простая. В большинстве дистрибутивов linux скрипт есть в репозиториях. Во freebsd она есть в портах.&lt;p&gt;

Установка для debian/ubuntu:&lt;p&gt;

&lt;code&gt;# apt-get install denyhosts&lt;/code&gt;&lt;p&gt;

Установка для freebsd:&lt;p&gt;
&lt;code&gt;
# cd /usr/ports/security/denyhosts&lt;p&gt;
# make install clean&lt;p&gt;
&lt;/code&gt;
Многие в интернете пишут, что скрипт работает из коробки без дополнительных настроек. Это действительно так, но в один прекрасный день вы рискуете быть забаненым. Если например забудете пароль или введёте его неправильно. Разберём основные настройки конфига. Конфигурационный файл находится в /usr/local/etc/denyhosts.conf(для freebsd) или /etc/denyhosts.conf(для debian/ubuntu).&lt;p&gt;
&lt;code&gt;
HOSTS_DENY = /etc/hosts.deny #Список забаненых ip&lt;/br&gt;
PURGE_DENY = 4w #Время бана в формате: m - минуты, h - часы, d - дни, w - недели, y - годы.&lt;/br&gt;
BLOCK_SERVICE = sshd #сервисы с которыми работает denyhosts&lt;/br&gt;
DENY_THRESHOLD_INVALID = 5 #Число неудачных попыток входа c несуществующим логином до бана&lt;/br&gt;
DENY_THRESHOLD_VALID = 5 #Число попыток входа с существующим логином, но неверным паролем до бана&lt;/br&gt;
DENY_THRESHOLD_ROOT = 1 #Число неудачных попыток входа до бана для пользователя root(по умолчанию эта директива равна одной попытке, права на ошибку у вас нет. Вкупе с временем бана выставленным на продолжительное время, в случае ошибки ввода пароля это даст интересный результат :-) ).&lt;p&gt;
&lt;/code&gt;
Остальные настройки описаны достаточно хорошо в комментариях конфигурационного файла. Это все настройки на которые я хотел бы обратить внимание.&lt;p&gt;

Теперь разберёмся что делать если вас всё таки забанили. Всё описаное ниже можно сделать сложнее, выискивая ваш ip  в списках забаненых и убирая его. Я считаю что это нецелесообразно, т.к в случае повторного перебора все "плохие ip" повторно будут забанены и ничего страшного неслучится. Так что мы просто будем делать очистку забаненых ip. Ну во-первых вам нужно хоть как-то подключится к серверу. Т.е вы должны знать пароль и подключатся с уникального ip, который ещё не забанен в denyhosts. Если вы не помните пароль к серверу, его можно &lt;a href="http://anikin.pw/linux-recovery-system-server4you.html#passwd" target="_blank"&gt;сбросить с livecd или recovery.&lt;/a&gt; Итак, подключаемся к серверу по ssh и первое что делаем останавливаем denyhosts и очищаем файл hosts.deny&lt;p&gt;
&lt;code&gt;
# /etc/init.d/denyhosts stop&lt;p&gt;
# cp /dev/null /etc/hosts.deny&lt;p&gt;
&lt;/code&gt;
Затем в конфигурационном файле denyhosts ищем директиву WORK_DIR и смотрим в какой каталог она ведёт. Переходим в этот каталог и удаляем все файлы кроме allowed-hosts. Открываем этот файл и добавляем в него ваш ip. Поясню, в этом файле находятся исключения, т.е если вы добавите туда ваш ip, то скрипт больше не будет вас банить. Запускаем демон denyhosts&lt;p&gt;

&lt;code&gt;# /etc/init.d/denyhosts start&lt;/code&gt;&lt;p&gt;

Всё пробуем подключится, подключение должно пройти успешно.</description>
</item>


</channel>
</rss>