Category CentOS

DDOS. Защита своими силами от любых DDOS атак.

Оговорюсь сразу, это не заказная статься и если Вы разбираетесь хотя бы в 50% материала статьи, значит Вы осилите и вторую ее часть. После чего Вам не придется платить 5к за защиту мне и Вы сможете умножив эту сумму на 2-3-4, купить себе все необходимое и платить уже лично ДЦ за аренду серверов, а также оказывать услуги хостинга другим клиентам (естественно снизив стоимость на 50%) 🙂 Ладно, проехали, ой поехали:

  1. Вы приобрели себе выделенный сервер, что нужно в первую очередь сделать? Правильно,  установить на него ОС через KVM (наилучший вариант) или через панель ДЦ (наихудший), но иногда ДЦ можно и нае обмануть, если знаете что такое VNC и не боитесь угробить машину (работает только для CentOS 6.6 и ниже).
    1.1. Зачем устанавливать чистую ось??? Да затем, что в том же OVH хрен Вам удастся нормально разбить диски как надо и поставить например centos minimal, в которой потом еще и ssh тоже приходится ставить руками, зато ничего лишнего, только необходимое.
    1.2. После установки чистой ОС (тут и далее речь будет идти о Centos 6-7), необходимо изменить ssh порт командой vi /etc/ssh/sshd_config, где интуитивно поймете в каком месте нужно изменить цифры 22 на свои (я ставлю обычно что-то типа 52918). Потом команды:
    — semanage port -a -t ssh_port_t -p tcp ВАШ_ПОРТ
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport ВАШ_ПОРТ -j ACCEPT
    — service sshd restart (перезапускаемся и отваливаемся).
  2. Половина проблемы решена, порт изменен, но это всего лишь спасет вас от переборки паролей root’a, казалось бы причем тут ДДОСы? Зачастую ПО сервера имеет защитные механизмы и если 100500 раз ввести неверный пароль от ssh, введя имя root, то сервер решит ограничить попытки не только по IP, но и по времени, в итоге Вас кладут, а Вы в панель или хотя бы в терминал попасть не можете.
  3. DNS. (Тут и далее идет пропаганда ПО ISP SYSTEMS) — не нравится, юзайте другое, но никаких рефок тут нет и профита мне не с этого, не будет. Тратимся на DNS manager, хотя бы на одну вечную лицензию, остальные DNS можно раскидать по всем странам мира, но тут главное понимать, что основной сервер может быть и не совсем уж явным. Не буду вдаваться в детали, но у моего хостинга прописано как-то так:
    Если Вы думаете что они все здесь и сейчас работают, то ошибаетесь, один из них работает 100%, но остальные (хотя это не все), включаются только при необходимости и рандомно в том случае, если какой-то из IP отвечающих за DNS начинает давать ping с задержкой. Система сложная, но я изобретатель велосипедов, а самое главное как минимум раз 5 она меня просто спасала (DNS прописаны, но хакеры не знают IP неактивных DNS, а перенастроить атаку на другие IP это не 2 раза мышкой кликнуть).
  4. IP manager ставим по желанию (про него статья потом будет), но если решите хостингом барыжить прямо как я, то без нее Вам никуда, да и при ДДОСАХ она спасает, но об этом все же потом, просто нет времени.
  5. ISP manager ставим обязательно и постарайтесь, чтобы ваша trial лицензия не кончилась во время DDOS атаки, потому как благодаря ее особенностям, даже если у вашего сервера откажет все, включая exim, не поверите ISP будет летать, если Вы работаете под root’om в ней, именно в тот момент (в остальных случаях, забудьте про root и не усложняйте свою жизнь). Наглядно тут:
    Количество соединений указано в секунду, в случае DDOS-атаки их становится 100500 за 10 секунд, не верите — смотрите мои логи. Вы конечно же скажете, а как же cloudflare? Ну тогда я посоветую Вам переезжать сразу ко мне, я хотя бы даю реальные гарантии и отвечаю за свои слова по поводу защиты ваших ресурсов (не более 15 минут простоя в месяц или 3 месяца в подарок, который еще никто не получал), а минимальный конфиг серверов у меня начинается с 64 гб. ОЗУ и E5-1650v3 6 ядер (12 потоков), ну и 1 ггб.сек.  Ждать гарантий от cloudflare — это все равно, что ждать возмещения ущерба от ssl-провайдера, ну или гопника, который обчистил вас накануне. Для ресурсоемких проектов по договоренности предоставляется до 2-х сетевых карт 10 гигабит, итого 20 гигабит в секунду. Почему я так говорю о cloudflare, знали и плавали, за платные деньги он защищал когда-то громкий проект allfee, который мирно надуривал население на одном из моих серверов, полностью выделенного под него. Дело было в 2015 году, как вдруг внезапно уж не знаю кто, но положил этот сервер в аккурат, когда я лег спать после 3-х суток без сна, DDOS был на тот момент порядка 20-25 гигабит со всех частей планеты и в OVH.LT (.COM, CZ, PL и пр.) меня послали далеко и надолго, но благодаря моей паранойе все обошлось, на тот момент я делал бэкапы всего раз в 6 часов (сейчас каждые 15 минут) и верите ли вы или нет, последний бэкап был сделан за несколько минут до отказа сервера. Далее я поднял всех кого мог в ДЦ X-Server (Харьков, Украина)  и не смотря на то что я Москаль, они меня очень сильно выручили и даже ничего лишнего не попросили, особенно с переносом огромного бэкапа в который только из-за ддоса только в логи записалось гигов 20, а для скорости бэкапов и уменьшения нагрузки на сервер — бэкапы я всегда не особо сильно сжимаю. От темы я куда-то конечно ушел, да и пишу то я все это потому что обещал и мне стыдно что позавчера так и не смог написать (но лучше поздно чем никогда). Просто у меня столько дел свалилось сразу и я только сегодня благодаря жене вспомнил, что через (пускай уже 4 дня, 23 августа у меня ДР и мы должны куда-то уехать. Так что не обижайтесь, если вовремя не успел написать. Сейчас быстро делаем выводы из прочитанного и используем на свой страх и риск:
  • Сервер — как организм, что посеешь — то и пожнешь. С самого начала нужно заботится о нем, а для надежных DNS не помешают сервера в разных точках планеты.
  • ISP System — нормальное решение для многих проблем, поддерживаем отечественных производителей из Иркутска. Это мое мнение, но Вы всегда можете поступить по своему.
  • Не рассчитываем на cloudflare, ddos-guard и прочих антиддосеров, рассчитывать всегда нужно или на себя или на тех, кому верите вы.
  • Элементарные способы безопасности помним и самое главное, имеем штат админов, которые пока Вы спите 10 минут в неделю, пытаются следить за вашими машинами хотя бы эти 10 минут.

Позже расскажу про абузоустойчивость и как держать у себя adult, hyip и прочий контент, так чтобы за это ничего не было, но все это потом…

0

Установка ОС CentOS через VNC в дата-центре OVH

На самом деле, я уже 2 года юзаю данную функцию, но недавно дернул черт меня рассказать о ней где-то на каком-то умном ресурсе и тут началось… Просто я например ее не сам по себе внезапно узнал и не свалилась она на меня с неба, а вполне себе тихо нашлась гуглом. Почему 2 года ее не могуь найти остальные я х.з., но тем не менее принцип действия для минимум 2х ДЦ OVH опишу, заодно чтобы самому не забыть.

Порядок действий:

  1. Покупаем в OVH сервер и ставим на него Centos 6.6 (6.7), короче шестерку ставим. CentOS 7 не канает, даже если прописанные ниже инструкции повторить точь в точь с 7й версии, но Вы ведь всегда можете попробовать и сами убедится, не так ли?
  2. Для удобства после обязательной команды:
    #yum update
    выполняем ту команду, которую лично я выполняю второй по счету на любом centos сервере:
    #yum install mc
    после чего вызываем Midnight Commander для удобного перемещения по серверу следующим словосочетанием в терминале:
    #mc
  3. Идем в каталог /boot/grub/grub.conf и нажимаем F4 (для тех кто решил сделать как я и mc таки поставил)
    Пишем #vi /booot/grub/grub.conf (те кто нах. забил на mc, но почему-то читает эту строчку)…
  4. Далее 2 варианта в моем случае:
    4.1 Если мозгов нет, думать не хочется или перед тем как начать читать статью Вы решили что сделаете именно благодаря ней все правильно..
    4.1.1 Мой сервер расположен где-то во Франции (Что сука характерно именно где-то во Франции, так как прокатывало в разных ДЦ):
    Прописываем вместо оригинальных загрузочных инструкций следующее:

    title Centos Installroot (hd0,0)kernel /boot/vmlinuz vnc vncpassword=Parol headless ip=37.59.9.XX (На самом деле меняем на ваш IP, но сука помним что шлюз заканчивается как первые три секции Вашего IP а вместо последних цифр .254) netmask=255.255.255.0 gateway=37.59.9.254 (собственно сам шлюз) dns=213.186.33.99 ksdevice=eth0 method=http://mirror.nl.leaseweb.net/centos/6/os/x86_64/ lang=ru_RU keymap=us nodmraid initrd /boot/initrd.img

    4.1.2 Мой сервер расположен где-то в Канаде:

    title Centos Install
    root (hd0,0)
    kernel /boot/vmlinuz vnc vncpassword=Password headless ip=192.95.30.ХХХ (ВАШ IP) netmask=255.255.255.0 gateway=192.95.30.254 (НАЧАЛО ВАШЕГО IP И ОКОНЧАНИЕ 254) dns=213.186.33.99 ksdevice=eth0 method=http://mirror.nl.leaseweb.net/centos/6/os/x86_64/ lang=ru_RU keymap=us nodmraid
    initrd /boot/initrd.img

    4.2 Мозги у Вас есть, но тогда почему Вы все еще читаете эту статью? Хорошо, допустим Вы новичок и хотите все сделать по-умному, не вопрос, набираем команду #setup и смотрим в графическо-интуитивном режиме все сетевые настройки.

  5. Дальше жмем F10 если редактировали файл через Midnight Commander, естественно его сохраняем и вводим команды ниже:

    #wget http://mirror.nl.leaseweb.net/centos/6/os/x86_64/images/pxeboot/vmlinuz -O /boot/vmlinuz —quiet
    #wget http://mirror.nl.leaseweb.net/centos/6/os/x86_64/images/pxeboot/initrd.img -O /boot/initrd.img —quiet
    если ссылки умерли и вы не догадываетесь как их и главное на что заменить, то умоляю, пишем не в личку/почту/skype, а в комментариях ниже. Я отвечу обязательно, когда смогу. Но Вам ведь нужно срочно, не так ли?

    Самое главное, если редактировали мы все через команду #vi то по окончанию жмем клавишу ESC после чего вводим #:wq и загружаем ядро ОС по указанным Выше ссылкам.

  6. Ну вот и все, то есть пиздец всему! Вводим команду #reboot или жмем ctrl + alt + del и ждем минуты 2 (для моделей на ssd носителях) или 5 минут для обычных винтов. После этого прописываем в VNC (программка такая, если вы не знаете нафиг она нужна, то вы тут забыли?) следующие циферки: Ваш_IP_адрес:1 и жмем кнопку коннект, если по истечении 10 минут сервер так и не дышит, то вы его убили, начинаем сначала ? Удачи!

Очень надеюсь что вы с пониманием отнеслись к тому что в этот раз я вас молча послал на эту статью, но если вы хотите таки пойти на йух, то можете попросить меня в скайпе/почте/личке (нужное подчеркнуть) помочь таки разобраться в этом разжеванном вопросе. Если же Вы культурно и грамотно спросите тут, то обещаю культурно и грамотно ответить, как будет время.

0

Установка Jabber на CentOS

Внимание! Данный способ установки подходит на 100% для выделенных серверов и VPS с операционными системами CentOS 6.6 и CentOS 7.

Для начала Вам необходимо обновить Ваш сервер и все его компоненты командой yum update, после чего можно уже приступать к самой установке главного компонента ejabberd:

yum install ejabberd

В системе будет создан новый пользователь ejabberd, а также каталог конфигурационных файлов /etc/ejabberd/. Вам необходимо отредактировать файл ejabberd.cfg, воспользуемся для этого командой:

vi /etc/ejabberd/ejabberd.cfg

Добавляем строку для регистрации администратора, в строке меняем строчки Имя_Админа и myserver.ru на свои:

{acl, admin, {user, «Имя_Админа», «myserver.ru»}}.

Далее ищем строку по ключевому слову hosts и меняем на следующее:

{hosts, [«myserver.ru»]}.

Пробуем запускаться:

/etc/init.d/ejabberd start

Регистрируем пользователя:

ejabberdctl register имя_юзера myserver.ru пароль

Переходим в админку по адресу http://myserver.ru:5280/admin/ вводим данные только, что зарегистрированного пользователя и радуемся жизни 🙂

0