Glueon

Glueon
Рейтинг
172
Регистрация
26.07.2013
Должность
sysadmin

Нами была разработана веб-панель для управления кластером из DNS серверов, фронтендов и бэкендов.

В панель добавляются IP бэкендов, фронтендов и DNS серверов, после чего на любой из фронтендов в панели добавляются домены. В результате на DNS серверах, добавленных в панели, добавляются зоны для добавленных доменов, с соответствующими IP адресами фронтендов, а на фронтендах автоматически формируется список бэкендов, на которые проксируется трафик.

Панель позволяет быстро менять список бэкендов, на которые проксируется трафик с фронтендов и прикреплять домены к фронтендам, создавая при этом SOA зоны на своих NS-серверах.

Дополнительно реализованы функции работы по расписанию (смены доменов и бекендов), балансировка нагрузки между серверами, небольшая Traffic Direction System (TDS) для задания правил фильтации по странам, мониторинг доступности узлов с извещением по ICQ.

Наши контакты.

jabber: slava@contactroot.com

skype: contactroot

icq: 657324100

Обратился клиент с заказом системы для удалённой настройки серверов.

Использовался язык программирования Python.

Были решены следующие задачи:

1. Работа с SSH и apt-get для установки пакетов операционной системы Debian, используя модуль Pexpect.pxssh. Работа с утилитой SCP для копирования файлов.

2. Обработка всех ошибок подключения, детальный отчёт о работе программы.

3. Автоматическая установка и настройка почтовых серверов Exim, Dovecot. Диагностика их работы для каждого сервера.

4. Подбор и тестирование конфигурации почтовых серверов также производились нашей командой.

5. Автоматическая настройка DNS (включая SPF и DMARK записи), DKIM-сертификатов. Привязка и настройка доменов и любого количества поддоменов.

6. Настройка почтовых ящиков, генерация паролей к ним, SMTP-авторизация.

7. Вывод результатов настройки в 2-х форматах, интеграция с программным обеспечением клиента.

8. Полное тестирование системы перед сдачей клиенту.

9. Система проектировалась с учётом дальнейшего расширения функционала (поддержка других ОС).

При управлении интернет-проектом сложно просчитать все риски на старте, а это неизбежно чревато убытками и потерями. Чаще всего самые очевидные вещи становятся таковыми только по факту приобретения опыта. Кто как не админы в курсе самых печальных историй :)

1) Если у вас блог (или любой другой сайт на популярной CMS), то что произойдет, если пароль к вашему администраторскому аккаунту утечет в сеть и любые данные могут быть скомпроментированы или удалены? Вы уже настроили удаленное резервное копирование? Если что-то подобное произойдет в выходные, не потеряете ли вы 48 часов до первой реакции и чем это может быть чревато? Если бекапы настроены, то в силах ли вы их восстановить сами в адекватный промежуток времени?

2) Если у вас имеется приложение для FB/VK или инфо-продукт, справится ли ваш сайт с внезапно возросшим трафиком? Установлены ли у вас проактивные системы мониторинга активности и извещения по почте/асе/джаберу/sms в случае достижения пиковых значений?

3) Если у вас бизнес, связанный с большими массивами данных (file sharing, torrent-tracker, backup service, VCS), готова ли ваша инфраструктура к балансировке между общим объемом хранимых данных и производительностью? Какие варианты решения ситуации внезапного резкого потребления трафика?

4) Если вы управляете рекламной сетью, то предусмотрен ли у вас случай увеличения в короткий срок производительности до несколько миллионов показов? Как ваша инфраструктура впишется в масштабирование мощностей? Отслеживаете ли вы доступность и нагрузку на каждый отдельный элемент, где имеется реальный трафик (landing pages, feed, statistic page)?

5) Если у вас свой интернет-магазин, то что случится если платежный шлюз (или связь между вашим сервером и gateway/API) упадет? Что будет с потенциальными клиентами и какого ваше время реакции на данную серьезную проблему?

Мы готовы делиться с вами негативным опытом наших клиентов и предупреждать убытки. Подобный аудит довольно затратное по времени мероприятие, поэтому мы не можем гарантировать мгновенные результаты. Все сроки проведения работ оговариваем в прямой зависимости от нашей нагрузки.

Работает универсальная формула:

Бэкапить с сервера на бэкапный сервер.

Если нужны какие-то достаточно простые бэкапы с возможностью шифрования - https://github.com/zertrin/duplicity-backup

Там и ротация есть и инкрементальность.

За последние недели появилось множество уязвимостей в популярных продуктах, публикуем некоторые из них в нашем сегодняшнем обзоре.

1) Множество проблем с плагинами Wordpress.

- Уязвимость в плагине WordPress CrossSlide jQuery, решения данной проблемы нет и разработка его прекращена - http://packetstormsecurity.com/files/130313/WordPress-Cross-Slide-2.0.5-Cross-Site-Request-Forgery-Cross-Site-Scripting.html

- SQL-инъекция в WordPress Survey and Poll Plugin, требуется обновить версию плагина с официального сайта - http://packetstormsecurity.com/files/130381/WordPress-Survey-And-Poll-1.1.7-Blind-SQL-Injection.html

- SQL-инъекция в WP SlimStat, необходимо обновление с сайта поддержки - http://blog.sucuri.net/2015/02/security-advisory-wp-slimstat-3-9-5-and-lower.html

- Обход ограничений безопасности в WordPress FancyBox, проблема не решена на текущий момент, и мы рекомендуем не использовать данный подукт до выхода полноценного апдейта. Подробности - http://blog.sucuri.net/2015/02/zero-day-in-the-fancybox-for-wordpress-plugin.html

2) Обход ограничений безопасности в Node.js.

Уязвимость позволяет удаленному пользователю обойти ограничения безопасности. Уязвимость существует из-за наличия встроенной уязвимой версии OpenSSL. Подробности не разглашаются. Требуется выполнить обновление - http://blog.nodejs.org/2015/01/26/node-v0-10-36-stable/

3) SQL-инъекция в WHMCS Admin Credit Routines.

Удаленный пользователь может выполнить произвольные SQL команды в базе данных приложения. Уязвимость существует из-за ошибки в WHMCS. Удаленный пользователь может выполнить произвольные SQL команды в базе данных приложения. Подробности о проблеме и варианты решения - http://blog.whmcs.com/security.php?t=83303

4) Множественные уязвимости в BIND.

Уязвимости позволяют удаленному пользователю вызвать отказ в обслуживании и обойти ограничения безопасности. Целых семь уязвимостей выявлено в данном программном продукте. Для их устранения выполните обновления с сайта производителя - http://permalink.gmane.org/gmane.network.dns.bind.announce/528

5) Обход ограничений безопасности в Squid.

Уязвимость позволяет удаленному пользователю обойти ограничения безопасности. Уязвимость существует из-за ошибки при обработке digest-аутентификации. Удаленный пользователь может обойти ограничения безопасности. Подробности - http://bugs.squid-cache.org/show_bug.cgi?id=4066

Рекомендуем всем регулярно обновлять софт и следить за новостями из мира ИБ. Мы проводим консультации по вопросам безопасности серверов, помогаем с автоматизацией обновлений софта на серверах и разрабатываем специализированные решения.

Свяжитесь с нами:

jabber: slava@contactroot.com

skype: contactroot

icq: 657324100

aim: glueon@contactroot.com

yim: glueon@yahoo.com

Иногда требуются достаточно простые решения для небольших задач. Клиент обратился с задачей - написать очень простой ping-мониторинг для своих серверов, так как больше ничего не требовалось.

Мы реализовали небольшой мультипоточный Python скрипт, пингующий сервера и уведомляющий о недоступности серверов посредство отправки сообщений в Jabber. Напоминания о том, что сервер все еще лежит, шлются не чаще, чем заданное пользователем время, а при возврате сервера в онлайн приходит соотвествующее сообщение.

Для добавления серверов, обзора текущего состояния, редактирования настроек и списка серверов написана небольшая панель с помощью Flask.

Наши контакты.

jabber: slava@contactroot.com

skype: contactroot

icq: 657324100

aim: glueon@contactroot.com

yim: glueon@yahoo.com

h3x:
Если у Вас айпишник статический, ну или если динамический и не в лом каждый раз прописывать, то:

route add -P <ваш_айпи> MASK <маска> <основной_шлюз>

Если не ошибаюсь это нужно только на старых виндах (XP/2003) где policy routing еще нет. Это же на стороне винды предлагается вписать?

Если не ошибаюсь такое можно сделать только если написать расширение. Надо смотреть есть ли там события связанные с запуском бэкапа по крону. Я не видел.

Не совсем понятно откуда информация о том, что NFS быстрее и почему тут это важно. У вас конфиги очень быстро меняются или их очень много?

Для простой синхронизации конфигов можно использовать обертку csync2, либо раз у вас что-то типа кластера и хочется контроля - consul.

Сам на маленьких проектах предпочитаю раскидывать конфиги rsync-ом или при помощи Ansible.

avalon-group:
плюсом перехода на nfs вижу как для себя, это реалтайм работа с конфигами, а через rsync синхронизирую сейчас каждую минуту, в этом присутствует неудобство.

В таком случае можно sshfs предложить.

Так зависает на том месте что в скриншоте - на установке пакетов?

Если да, то случайно при установке не выдается сообщения о том, что отсутствует GPG ключ?

Всего: 2115