Search
Write a publication
Pull to refresh
0
Dolgov Roman @rdolgovread⁠-⁠only

User

Send message

Сервер OpenVPN на CentOS

Reading time2 min
Views23K
Установка сервера OpenVPN на CentOS и работа с ним мне показалась слишком сложной, поэтому я постарался максимально автоматизировать эти процессы. Сервер настраивается автоматически и начинает работать сразу после установки.

При создании пользователя генерируется конфигурационный файл, либо Windows-клиент для него.

Читать дальше →

Сканер вирусов изнутри

Reading time4 min
Views24K

Последний год я работал над реализацией вирусного сканера для одной антивирусной как ни странно компании.
Пост являет собой выжимку приобретенных знаний, и повествует хабрасообществу о внутреннем устройстве как ни странно антивирусного сканера.
Сканирующий движок или сканер — это фундамент антивирусного пакета. Являет собой бэк-энд антивируса и, как правило представлен в виде dll, так как сканер используется сразу несколькими программами из пакета.
Графическая оболочка в этом случае — лишь красивая обертка для отображения результатов движка. Всю полезную работу, делает движок в бэк-енде.
Читать дальше →

HA (High Available) кластер VMware vSphere на блейд-серверах HP BL460c и EVA

Reading time7 min
Views88K
Практическим применением знаний о работе с массивами EVA и iLO в серверах ProLiant, которые вы получили чуть раньше, может стать развертывание высокодоступного кластера на vSphere.

Кластер может использоваться для предприятий среднего и крупного размера, чтобы уменьшить время внеплановых простоев. Поскольку для бизнеса важны такие параметры как доступность его сервиса или услуги клиенту в режиме 24x7, то такое решение основывается на кластере высокой доступности. В кластер всегда входят как минимум 2 сервера. В нашем решении серверы под управлением VMware отслеживают состояние друг друга, при этом в каждый момент времени ведущим будет только один из них, на нем будет разворачиваться виртальная машина с нашим бизнес-приложением. В случае отказа ведущего сервера его роль автоматически принимает второй, при этом для заказчика доступ к бизнес-приложению практически не прерывается.


Читать дальше →

Подключение точек доступа к контроллеру Cisco Wi-Fi

Reading time8 min
Views122K
Пользуясь первым руководством из моего цикла статей, вы настроили и подключили к локальной сети ваш контроллер беспроводных точек доступа Cisco WLC. Доступ к нему есть, но «вайфая юзерам» пока ещё нет. Следующий ваш шаг — подключить к контроллеру имеющиеся в наличии точки доступа, которые и будут обслуживать радио-клиентов. О том, как это сделать, и пойдет речь сегодня.
Читать дальше →

Почему, зачем и как я купил апартаменты в Калифорнии?

Reading time4 min
Views4.9K
Кризис на рынке недвижимости предоставил прекрасную возможность обменять 42 метровую однушку в Куркино (город в ближайшем Подмосковье) на 100 метровые двухэтажные апартаменты с камином, двумя санузлами и спальнями на берегу пруда с дикими утками и гусями, белками и колибри, секвоями, открытым бассейном и двумя теннисными кортами. Все это великолепие расположилось на территории закрытого кондоминиума в прекрасном городе Сан Хосе в Cеверной Калифорнии. В городе, который считается неофициальной столицей Кремниевой долины и в котором 300 солнечных дней в году.

image

Как такое возможно спросите вы?

Очень просто.
Читать дальше →

Защита для NGINX — NAXSI

Reading time3 min
Views39K

Что такое NAXSI ?


NAXSI = NGINX ANTI XSS & SQL INJECTION
Проще говоря, это файрвол веб-приложений (WAF) для NGINX, помогающий в защите от XSS, SQL-инъекций, CSRF, Local & Remote file inclusions.
Отличительными особенностями его являются быстрота работы и простота настройки. Это делает его хорошей альтернативой например mod_security и апачу.

Зачем нужен NAXSI ?

Очевидно, лучше всего защищаться от вышеперечисленных атак правильно написанным кодом. Но есть ситуации, когда WAF (и в частности naxsi), поможет:
  • Низкое качество кода сайта, при отсутствии возможности/ресурсов все выкинуть и переписать нормально.
  • “Закрытый” код, в котором невозможно исправить ошибки.
  • Неизвестное качество кода в важном для бизнеса участке.


Читать дальше →

Первоначальная настройка Wi-Fi контроллера Cisco

Reading time7 min
Views145K
Итак, свершилось. Тебе на стол принесли свежекупленный контроллер wi-fi производства Cisco, и ещё десяток новых точек доступа. Что это, зачем мне, как оно работает? Как мне установить этот контроллер в сеть, и наконец-то «раздать фай-фай правильно»? Об этом и пойдет речь сегодня.
Читать дальше →

IPMI — уязвимость в shell v. 1.00 позволяющая перезагружать сервер

Reading time2 min
Views21K
Приветствуем вас уважаемые Хабровчане!

Мы команда GlobaTel отныне будем стараться радовать вас информативными статьями в области хостинга и Дата-Центров, а так же иногда публиковать наши достижения сугубо с технической точки зрения.



Сегодня мне хотелось бы начать с простой, но очень важной статьи о том, как мы наткнулись на вопиющую дыру в IPMI.

Читать дальше →

Немножко паранойи для онлайн-хранилища

Reading time3 min
Views13K
Дропбокс появился давно. Но с самого начала идея хранить свои файлы на несвоём сервере мне не нравилась. Ведь хранить хотелось такие вещи, которые ну совсем нежелательно видеть кому-то постороннему…

Сейчас таких сервисов уже десятки, и народ их активно использует. А что же делать нам, дорогие единомышленники-параноики :) да так чтоб и удобство работы не страдало, и приватность блюлась? Решение есть, и оно, как выяснилось, не ново — хранить в онлайне файлы, зашифрованные eCryptfs.

Речь пойдёт про Linux. Преимущественно про Ubuntu и Ubuntu One…

Читать дальше →

CISCO ACE. Часть 2: балансировка удаленных серверов и приложений

Reading time5 min
Views12K


В первой части CISCO ACE — балансировка приложений мы немного окунулись в мир балансировки приложений и сетевых ресурсов. Познакомились с характеристиками, предназначением и возможностями семейства таких устройств. Рассмотрели основные сценарии внедрения и преимущества, которые нам приносит использование балансировщиков.

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

Читать дальше →

Argparse — парсим аргументы и параметры командной строки с легкостью

Reading time6 min
Views150K
Начиная с версии Python 2.7, в набор стандартных библиотек была включена библиотека argparse для обработки аргументов (параметров, ключей) командной строки. Хотелось бы остановить на ней Ваше внимание.
Читать дальше →

Обновление сетевого оборудования

Reading time7 min
Views17K
Сеть работает, 1С открывается, пользователи довольны. Картина встречающаяся сплошь и рядом. Кажется, что жизнь администратора удалась. Именно так думает половина, если не две трети начинающих и достаточно продвинутых системных администраторов. Многие из нас даже не задумываются о том, что стоит в сетевых шкафах в офисе, в лучшем случае контролируя то, что стоит в серверной. Данный подход особо опасен для вашей работы (уволят) и для работы вашей организации (встанет). Если всё работает – пора обновлять оборудование.

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

Как же понять, что сетевое оборудование в сети требует обновления и когда к нему приступать? Как подходить к вопросу?
Читать дальше →

Пишем модуль безопасности Linux

Reading time5 min
Views17K
Linux Security Modules (LSM) — фреймворк, добавляющий в Linux поддержку различных моделей безопасности. LSM является частью ядра начиная с Linux версии 2.6. На данный момент в официальном ядре «обитают» модули безопасности SELinux, AppArmor, Tomoyo и Smack.

Работают модули параллельно с «родной» моделью безопасности Linux — избирательным управлением доступом (Discretionary Access Control, DAC). Проверки LSM вызываются на действия, разрешенные DAC.

Применять механизм LSM можно по-разному. В большинстве случаев это добавление мандатного управления доступом (как, например, в случае с SELinux). Кроме того, можно придумать собственную модель безопасности, реализовать ее в виде модуля и легко внедрить, используя фреймворк. Рассмотрим для примера реализацию модуля, который будет давать права на действия в системе при наличии особого USB-устройства.

Поглядим на схему и попытаемся разобраться, как работает хук LSM (на примере системного вызова open).


Читать дальше →

DRuby aka DRb — основа распределенных систем на Ruby. Принцип работы и обход подводных камней

Reading time9 min
Views5.3K
Недавно вышла книга The dRuby book — distributed and parallel computing with Ruby (перевод японской книги, написанной автором самой библиотеки). В этой статье я попытаюсь дать обзор глав книги, касающихся библиотеки DRb. Если вам захочется ознакомиться с темой более подробно, книгу можно купить или скачать. Сразу скажу, что я не буду говорить в этом посте ни о синхронизации потоков, ни о библиотеке Rinda.

Предположим, что вы пишите систему, которая работает с более чем одним процессом. Например, у вас есть веб-сервер, который в фоновом режиме запускает задачи, работающие долгое время. Или вам просто нужно обеспечить пересылку данных из одного процесса в другой и координировать их. Для таких ситуаций и нужна библиотека DRb. Она написана целиком на Ruby и включена в стандартную библиотеку, поэтому начать работать с ней можно моментально. Для её подключения достаточно написать require 'drb'

Достоинства библиотеки DRb большей частью проистекают из динамичности самого языка Ruby.
Во-первых, при затрате минимальных усилий на подготовительном этапе, дальше вы работаете с объектами не задумываясь, где они расположены: в одном процессе или в другом. Библиотека полностью маскирует от вас все технические детали.
Во-вторых, вы не обязаны жестко прописывать интерфейс. Любой руби-объект может выставить свой интерфейс наружу — таким образом вы можете как воспользоваться функциональностью одного из стандартных классов типа Hash или Queue, а можете сделать свой класс с любым интерфейсом. Кроме того вам ничто не мешает менять интерфейс прямо в процессе исполнения, и даже использовать method_missing для обработки любых запросов. И уж разумеется, обновление интерфейса сервера вообще никак не влияет на клиента, если тот не вызывает методы, которые изменили сигнатуру или поведение. Таким образом сервер и клиент максимально независимы.
И наконец, клиент даже не обязан знать классы объектов, которые ему возвращает сервер, он может их использовать и без этого. Таким образом сервер волен скрыть столько много деталей, сколько ему угодно.
Но, конечно, есть и подводные камни, и их предостаточно. К счастью, dRuby несложен в понимании, ну а понимание его устройства позволяет большей части проблем просто не допускать. Документация к этой библиотеке, к сожалению, не проясняет множества моментов, поэтому статья будет интересна и новичкам, и людям уже поработавшим с библиотекой.

Читать дальше →

Почта. Основы настройки в Linux

Reading time6 min
Views29K
Когда начинающие системные администраторы сталкиваются с необходимостью настройки почтового сервера, они могут испытывать затруднения связанные с пониманием основных принципов работы почтового механизма. Чтобы внести ясность, я подготовил эту статью, основанную на освещении тех моментов, которые были мне в свое время непонятны. Статья подойдет также разработчикам ПО, которым надо быстро поднять почтовый сервер и протестировать свое приложение.
Читать дальше →

CISCO ACE — балансировка приложений

Reading time13 min
Views20K
Всем привет!

Хочу немного рассказать о семействе оборудования для Центров обработки данных от CISCO – CISCO ACE (Application Control Engine). В этой статье будут затронуты такие вопросы как предназначение устройств, архитектурные особенности, возможности применения, настройка основных функций. Больших тонкостей работы материал не предусматривает, скорее рассчитан на тех, кто думает о внедрении подобных устройств, пытается сделать выбор, хочет понять как такое оборудование поможет оптимизировать сетевую инфраструктуру, повысить доступность и время внедрения сервисов.

Читать дальше →

Консоль для маководов: Beyond the GUI

Reading time6 min
Views221K
Доброго дня, уважаемые хабравчане-маководы!

Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

Лирическое отступление


Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell'а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

Если Вы пришли в мир Mac OS из мира Linux'а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
Поехали!

RubyMotion: нативные iOS приложения на Ruby (перевод)

Reading time10 min
Views14K

В 2007 году Лоран Сансонетти, разработчик из Apple, основал проект с открытым исходным кодом MacRuby. Его целью было создание интерпретатора Ruby поверх среды исполнения Objective-C, который бы обеспечивал прозрачное взаимодействие между Ruby и экосистемой OS X «Cocoa» — и ему это удалось. Теперь Сансонетти надеется сделать что-то подобное и под iOS.

Читать дальше →

Inbox.py: самый простой SMTP-сервер

Reading time1 min
Views24K
Кеннет Райтц из компании Heroku продолжает создавать элегантные библиотеки с упрощёнными API. Предыдущей разработкой была библиотека Requests для HTTP-запросов. Теперь он выпустил простой SMTP-сервер Inbox.py, который элементарно прикрутить к веб-приложению для осуществления прямых почтовых рассылок и приёма/обработки почты, без мучений с макросами sendmail.

from inbox import Inbox

inbox = Inbox()

@inbox.collate
def handle(to, sender, body):
    ...

# Bind directly.
inbox.serve(address='0.0.0.0', port=4467)

Читать дальше →

Фильтрация и проверка данных PHP. Частые ошибки

Reading time6 min
Views188K
Материал предназначен в основном для начинающих веб-программистов.

Введение.


Часто ко мне обращаются клиенты, у которых установлены самописные CMS или модули, написанные начинающими веб-программистами, которые не понимают, что нужно для защиты данных и зачастую копируют функции фильтрации, не задумываясь о том как они работают и что именно нужно с ними делать.

Здесь я постараюсь описать как можно подробнее частые ошибки при фильтрации данных в PHP скрипте и дать простые советы как правильно выполнить фильтрацию данных.

В сети много статей по поводу фильтрации данных, но они как правильно не полные и без подробные примеров.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity