Нами была разработана веб-панель для управления кластером из 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
Рекомендуем всем регулярно обновлять софт и следить за новостями из мира ИБ. Мы проводим консультации по вопросам безопасности серверов, помогаем с автоматизацией обновлений софта на серверах и разрабатываем специализированные решения.
Свяжитесь с нами:
aim: glueon@contactroot.com
yim: glueon@yahoo.com
Иногда требуются достаточно простые решения для небольших задач. Клиент обратился с задачей - написать очень простой ping-мониторинг для своих серверов, так как больше ничего не требовалось.
Мы реализовали небольшой мультипоточный Python скрипт, пингующий сервера и уведомляющий о недоступности серверов посредство отправки сообщений в Jabber. Напоминания о том, что сервер все еще лежит, шлются не чаще, чем заданное пользователем время, а при возврате сервера в онлайн приходит соотвествующее сообщение.
Для добавления серверов, обзора текущего состояния, редактирования настроек и списка серверов написана небольшая панель с помощью Flask.
Если не ошибаюсь это нужно только на старых виндах (XP/2003) где policy routing еще нет. Это же на стороне винды предлагается вписать?
Если не ошибаюсь такое можно сделать только если написать расширение. Надо смотреть есть ли там события связанные с запуском бэкапа по крону. Я не видел.
Не совсем понятно откуда информация о том, что NFS быстрее и почему тут это важно. У вас конфиги очень быстро меняются или их очень много?
Для простой синхронизации конфигов можно использовать обертку csync2, либо раз у вас что-то типа кластера и хочется контроля - consul.
Сам на маленьких проектах предпочитаю раскидывать конфиги rsync-ом или при помощи Ansible.
В таком случае можно sshfs предложить.
Так зависает на том месте что в скриншоте - на установке пакетов?
Если да, то случайно при установке не выдается сообщения о том, что отсутствует GPG ключ?