Pull to refresh
7
0
Send message

HTTP 2.0 будет только по HTTPS

Reading time2 min
Views30K
Рабочая группа, которая работает над новой версией стандарта HTTP/2, обсудила несколько вариантов использования шифрования в HTTP/2. Руководитель рабочей группы Марк Ноттингем (Mark Nottingham) обдумал все предложения и сегодня высказал своё мнение на этот счёт.

По мнению Ноттингема, наилучшим способом защиты коммуникаций будет, если протокол HTTP/2 будет поддерживать только URL типа https:// в «открытом» интернете. Адреса типа http:// продолжат использовать предыдущую версию протокола HTTP/1. Естественно, клиенты HTTP/1 тоже сохранят возможность обмениваться данными с защищёнными узлами.

Это довольно смелое решение. Если его утвердят в стандарте, то оно может привести к тотальному внедрению криптографии по всей Сети.
Читать дальше →

Mikrotik + IPSec + Cisco = Мир, Дружба, Жвачка

Reading time5 min
Views137K

Техническая задача: организовать ipip-тоннель между офисами, с шифрованием ipsec, при помощи Mikrotik RB450G и Cisco 2821.


Ньюансы

  • последняя версия софта на микроте (5.20)
  • тип тоннеля на циске IPIP
  • тип трансформы «transport», вместо «tunnel»

Исходные данные

  • Cisco 2821 (OS v12.4)
  • 2. Mikrotik RB450G
  • 3. Реальные внешние IP на обоих устройствах
  • 4. Адрес циски: 77.77.77.226. Подсеть со стороны циски: 10.192.0.0/22
  • 5. Адрес микротика: 88.88.88.2. Подсеть со стороны микротика: 192.168.88.0/24

Предыстория

Столкнулся по работе с необходимостью замены серверов в наших филиалах, на что-нибудь более надёжное, аппаратное.
Связь у нас с центральным офисом осуществляется через тонели с шифрованием ipsec. В центральном офисе у нас, собственно всё на кошкообразных построено, а в большинстве филиалов стоят обычные сервера под FreeBSD, которые цепляются тонелями, с помощью racoon.
Встала задача, в связи с устареванием, выходом из строя самих серверов, начать устанавливать простые, недорогие аппаратные решения.

Братья по-разуму, коллеги и форумы натолкнули меня на изделия Mikrotik, и сразу же я направил к ним письмо следующего содержания:
Читать дальше →

Алгоритм Дейкстры. Поиск оптимальных маршрутов на графе

Reading time3 min
Views439K
Из многих алгоритмов поиска кратчайших маршрутов на графе, на Хабре я нашел только описание алгоритма Флойда-Уоршалла. Этот алгоритм находит кратчайшие пути между всеми вершинами графа и их длину. В этой статье я опишу принцип работы алгоритма Дейкстры, который находит оптимальные маршруты и их длину между одной конкретной вершиной (источником) и всеми остальными вершинами графа. Недостаток данного алгоритма в том, что он будет некорректно работать если граф имеет дуги отрицательного веса.

Для примера возьмем такой ориентированный граф G:

image

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

Сети для Самых Маленьких. Микровыпуск №3. IBGP

Reading time29 min
Views67K


Долго ли коротко ли длилась история linkmeup, но компания росла, развивалась. Счёт маршрутизаторов уже на десятки, свои опто-волоконные линии, развитая сеть по городу. И было принято решение оформлять компанию, как провайдера и предоставлять услуги доступа в Интернет для сторонних в том числе организаций.
Сама по себе задача административная — лицензии там, поиск клиентской базы, реклама, поставить СОРМ.
Разумеется, с технической стороны тоже нужны приготовления — просчитать ресурсы, мощности, порты, подготовить политику QoS. Но всё это (за исключением QoS) — рутина.

Мы же хотим поговорить о другом — IBGP. Возможно, тема покажется вам несколько притянутой за уши, мол, внутренний BGP — прерогатива достаточно крупных провайдеров.
Однако это не так, сейчас iBGP задействуется в ентерпрайзах чуть ли не чаще, чем в провайдерах. С целью исключительно внутренней маршрутизации. Например, ради VPN — очень популярное приложение на базе BGP в корпоративной среде. К примеру, возможность организовать периметры, изолированные на L3, на уже используемой инфраструктуре очень ценна. А префиксов-то может быть каких-то полсотни, а то и десяток. Вовсе никакой не Full View, однако все равно удобно.

Возможно, к нашей сети Linkmeup это не имеет по-прежнему отношения, но обойти стороной такую концепцию будет совершенно непростительно. Поэтому предположим, что сеть достаточно велика, и у нас есть необходимость в BGP в ядре.

Сегодня обсудим
  • Когда нужен IBGP
  • В чём отличия от EBGP
  • Route Reflector’ы
  • Конфедерации
  • Нерассмотренные в основной статье атрибуты BGP


Традиционное видео


Задачки в этом выпуске не относятся напрямую к IBGP, это, скорее, по BGP в целом. Интересно будет как новичкам поломать голову, так и старожилам размяться

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

Перенос работающей системы Ubuntu на зашифрованные диски

Reading time6 min
Views6.5K
Речь пойдет о том, как зашифровать уже работающею операционную систему Linux. Предположим, что у вас есть сервер, на котором уже работает ваш сайт или на котором сохранено много личной информации. Конечно же вы не хотите, чтобы это все попало в чужие руки. Также, если вы используете сервер как хранилище даны – явно не хочется, чтобы эти данные были кем-то использованы при изъятии жестких дисков. Ситуаций может быть много… По этому нам нужно защитить наше содержимое от чужих глаз.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика (выпуск 3)

Reading time3 min
Views60K
Доброго времени суток, уважаемые хабравчане. С прошедшим вас днем программиста. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Cloudconvert




Великолепный онлайн конвертер файлов, который поддерживает в общей сложности 140 форматов следующих типов: archive, audio, cad, document, ebook, image, presentation, spreadsheet, video. Синхронизируется с Dropbox и Google Drive, благодаря чему возможно использование на всех смартфонах. А самое приятное это то, что для данного сервиса существует функциональное и простое API.

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

PHP IPC — Межпроцессное взаимодействие в PHP

Reading time6 min
Views29K

Целью данной заметки является ознакомление PHP-разработчиков с возможностями межпроцессного взаимодействия в данном языке. Заметка не предполагает во всех деталях рассказать о каждой из возможностей, деталях реализации или показать рабочие примеры кода.

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

Хотите узнать больше?

Установка FreeBSD 9.1 с шифрованием корневого раздела

Reading time5 min
Views16K
«Если у вас паранойя, это ещё не значит, что за вами не следят» © Народная мудрость

Прочитав пост Как я внедрял первое правило ведения бизнеса в России, у меня возник вот такой вопрос:

Что делать если компания разрабатывает программный продукт (SaaS), и в процессе разработки необходимо использовать локальные develop и stage сервера? Что будет если “злоумышленник” получит физический доступ к дискам и как не отдать ему все исходные коды проектов? А если мы раскатываем код на боевую через скрипты, Chef или Puppet, то отдаём ещё и все доступы к боевым площадкам.

Ответ очевиден: шифрование всего ценного. Но как мы все знаем, вариантов шифрования масса. Начиная от шифрования отдельных файлов и создания криптоконтейнеров (например TrueCrypt) и заканчивая полным шифрованием дисков.

Вы можете сказать «так ты же сам нарушаешь правило и держишь свои локальные сервера в офисе?». И я соглашусь, но с оговоркой. Для комфортной разработки, чем ближе исходники, тем лучше, а учитывая скорость интернета для юридических лиц в регионах, которую можно получить за разумные деньги, держать develop и stage сервера где-то далеко приведёт к мучительной боли. Здесь я говорю про схему, при которой на машинах разработчиков нет исходных кодов. Весь код лежит на сетевой шаре develop сервера. Да и в целом пинг наружу и пинг в локальном гигабите немножечко разные вещи.

Итак, приступим к шифрованию.
Читать дальше →

Сети для самых маленьких. Часть седьмая. VPN

Reading time37 min
Views693K


Покупка заводов в Сибири была стратегически правильным решением для компании “Лифт ми Ам”. После того, как лифты стали ездить не только вверх, но и вниз, дела компании пошли… нет полетели, вверх. Лифты начали разбирать, как горячие пирожки со стола. Название уже не соответствовало действительности и было принято решение о ребрендинге. (На самом деле их замучила судебная тяжба с Моби).
Итак, под крыло ЛинкМиАп планируется взять заводы в Новосибирске, Томске и Брно. Самое время подумать о том, как это хозяйство подключить к имеющейся сети.

Итак, сегодня рассматриваем
1) Возможные варианты подключения, их плюсы и минусы
2) Site-to-Site VPN на основе GRE и IPSec
3) Большая тема: динамическая многоточечная виртуальная сеть (DMVPN) в теории и на практике.

В традиционном видео лишь ёмкая выжимка из статьи, посвящённая работе и настройке DMVPN.

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

perl скрипт производящий голосовой обзвон (оповещение) через usb модем huawei e1550

Reading time17 min
Views42K
В свое время, так как я много времени проводил в командировках, мной была приобретена замечательная игрушка — usb модем Huawei e1550. Но времена лихой молодости прошли, и необходимость в использовании данного девайса по прямому назначению отпала. Так он и пылился у меня на полке в течении нескольких лет. И пылился бы и дальше, но возникла задача сделать систему оповещения. Тут я и вспомнил про модем. Рассмотрев поставленную задачу — был вынужден отказаться от SMS оповещения в пользу голосового дозвона по причине невозможности получить уведомление о прочтении SMS. Решения на базе Asterisk показались мне несколько громоздкими, и почитав доку по модему я решил написать звонилку самостоятельно.

Причина публикации.

Несмотря на обилие статей по работе с USSD и SMS запросами, я не нашел ни одной реализации голосовых вызовов на скриптовых языках (таких как Perl, PHP, Node.js). Надеюсь данная статья будет для Вас хорошим подспорьем.
Читать дальше →

Двухфакторная аутентификация в OpenSSH: ключ+одноразовый код

Reading time4 min
Views31K
В предыдущей статье я рассказал, как добавить проверку одноразовых кодов при логине на свой сервер по SSH. Статья завершалась словами «если ходим по ключу — двухфакторная аутентификация не работает (не используется PAM)».

С недавнего времени, после выпуска OpenSSH версии 6.2, ситуация поменялась к лучшему.

+

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

IPsec с AmazonVPC в обход стандартных средств

Reading time3 min
Views2.9K

Вводная и условия задачи


У нас есть Amazon VPC с несколькими подсетями.
Внутри VPC разбита на несколько подсетей.
Возьмем две из них.
В первой (посеть 10.0.0.0/24), назовоем ее net1, маршрутизацию наружу осуществляет родной Амазоновский Internet Gateway, который для каждой подсети свой. К инстансам в этой сети можно привязывать Elastic IP и они будут работать.
Вторая (подсеть 10.0.1.0/24), пусть будет net2 — полностью закрытая подсеть, доступ из которой к внешним ресурсам возможен только посредством отдельного инстанса с настроенным на нем NATом (назовем его service). Прямого доступа к этой подсети извне, кроме как через какой-либо инстанс из net1, реализовать не получится. Сам service существует так же в net1.
Внутри VPC инстансы обоих подсетей видят друг друга.
Так же, есть офисная сеть, пусть она называется net0 (подсеть 192.168.5.0/24).
Появилась необходимость обеспечить защищенный доступ из офиса к инстансам в net1 и обратно. Это можно сделать нативным для Амазона способом — с помощью Virtual Private Gateway и сопустствующим ему сервисам. Но тут есть одна проблема — маршрутизация осуществляется посредством BGP, которого на пограничном маршрутизаторе офиса нет и не предвидится. На нем есть только чистый IPsec с авторизацией по паролю. В данной ситуации надо действовать через него.
Приходит в голову следующая схема реализации: на инстансе service, который имеет доступ Интернет и ко всем инстансам внутри net1, а так же обладает Elastic IP, развернуть клиента IPSec, соединиться с офисным маршрутизатором и настроить маршрутизацию между сетями.

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

AWS Insight: Virtual Private Cloud

Reading time4 min
Views23K
Привет, хабрасообщество! image

Сегодня я, наконец, набрался смелости и имею время рассказать вам о замечательном сервисе, который предоставляет Amazon Web Services: Virtual Private Cloud — VPC.

VPC — это сервис, позволяющий создавать приватные изолированные сети в публичном облаке Amazon. Что же предоставляет VPC?
  • Подсети серых адресов
  • Полный контроль над адресами
  • Динамическое и удобное управление сетевыми устройствами и маршрутизацией
  • Поддерживает EC2, RDS, SQS, ElastiCache и другие сервисы
  • Многое другое..

У VPC есть много внутренних понятий и терминов, давайте я буду их описывать по мере настройки. И сегодня я вместе с вами настрою кроссзонную сеть для VPC для большей отказоустойчивости.
Под катом инструкции, объяснения и картинки

Транзакции в MongoDB

Reading time5 min
Views57K
image MongoDB — замечательная база данных, которая становится все популярнее в последнее время. Все больше людей с SQL опытом начинают её использовать, и один и первых вопросов, который у них возникает: MongoDB transactions?.

Если поверить ответам со stackoverflow, то все плохо.

MongoDB doesn't support complex multi-document transactions. If that is something you absolutely need it probably isn't a great fit for you.
If transactions are required, perhaps NoSQL is not for you. Time to go back to ACID relational databases.
MongoDB does a lot of things well, but transactions is not one of those things.
Но мы не поверим и реализуем транзакции (ACID*) основанные на MVCC. Ниже будет рассказ о том, как эти транзакции работают, а тем, кому не терпится посмотреть код — добро пожаловать на GitHub (осторожно, java).

Пост не о MongoDB, а о том, как использовать compare-and-set для создания транзакций, а durability обеспчивается ровно в той степени, в которой её обеспечивает хранилище.
Читать дальше →

Map-Reduce на примере MongoDB

Reading time5 min
Views62K
В последнее время набирает популярность семейство подходов и методологий обработки данных, объединенных общими названиями Big Data и NoSQL. Одной из моделей вычислений, применяемых к большим объемам данных, является технология Map-Reduce, разработанная в недрах компании Google. В этом посте я постараюсь рассказать о том, как эта модель реализована в нереляционной СУБД MongoDB.

Что касается будущего нереляционных баз вообще и технологии Map-Reduce в частности, то на эту тему можно спорить до бесконечности, и пост совершенно не об этом. В любом случае, знакомство с альтернативными традиционным СУБД способами обработки данных является полезным для общего развития любого программиста, так же как, к примеру, знакомство с функциональными языками программирования может оказаться полезным и для программистов, работающих исключительно с императивными языками.

Нереляционная СУБД MongoDB представляет данные в виде коллекций из документов в формате JSON и предоставляет разные способы обработки этих данных. В том числе, присутствует собственная реализация модели Map-Reduce. О том, насколько целесообразно применять именно эту реализацию в практических целях, будет сказано ниже, а пока ограничимся тем, что для ознакомления с самой парадигмой Map-Reduce эта реализация подходит как нельзя лучше.

Итак, что же такого особенного в Map-Reduce?
Читать дальше →

Построение провайдерской сети на коммутаторах Cisco с использованием Option 82 и Dynamic ARP Inspection

Reading time7 min
Views72K

Пролог


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


image

Итак, постоновка задачи:


Необходимо организовать сеть, максимально удобную для конечного пользователя, при этом также удобную (с точки зрения минимальной нагрузки на техподдержку) и безопасную (с точки зрения мошенничества) для оператора. К тому же сеть должна быть недорогой. Кто-то возразит, что Cisco и «недорого» — несовместимые понятия, однако для решения нашей задачи годятся и End of Life старички, которые можно приобрести по очень демократичным ценам.

Для обеспечения удобства пользователя были отброшены следующие варианты:
  • статическое назначение ip-адресов — неудобно для пользователя, адрес нужно где-то записывать, потерявшие адрес пользователи названивают в техподдержку
  • dhcp с привязкой по mac-адресу — неудобно для пользователя, при смене устройства нужно перерегистрировать его у провайдера или менять на нем mac.
  • всевозможные виды туннелей, в основном pptp — требует настройки у клиента, забытые логины и пароли

Из всех рассмотренных вариантов для пользователя наиболее удобен вариант с DHCP, но для провайдера есть ряд сложностей:
Привязка по mac неудобна, так как придется перерегистрировать новые mac-адреса. Аутентификация пользователя в биллинге только по ip-адресу тоже на первый взгляд кажется ненадежной, хитрый пользователь может поставить себе вручную ip-адрес соседа и внести смуту. Однако решение есть и строится оно на технологиях из заголовка статьи — option 82 и dynamic arp inspection

Кому интересно решение — прошу под кат
Читать дальше →

Перевод — BoxedIce делится опытом перехода с MySQL на MongoDB

Reading time6 min
Views7.5K
Ссылка на эту статью уже мелькала на Хабре и я столкнулся с интересом к ней. Многие испытали проблемы с освоением оригинала на английском и я решил перевести ее.

Заметки об использовании MongoDB в продакшене


Год назад в июле я писал о том, что мы перешли с MySQL на MongoDB.
Мы запустили MongoDB в продакшене для сервиса мониторинга Server Density. С тех пор прошло 8 месяцев и мы столкнулись с некоторыми вещами.
Читать дальше →

Getting Started with MongoDB and PHP

Reading time18 min
Views62K
Generation Next
За последний год произошла небольшая революция в мире СУБД, связанная с появлением безсхемных (безструктурных) СУБД таких как Apache CouchDB. В этих базах данных используется другой подход нежели в реляционных БД. Они достаточно быстро становятся популярны среди Web-разрабочиков из-за своей гибкости, простоты и легкой интеграции с современными технологиями такими как JSON.
В данной статье изложен краткий обзор MongoDB, одной из новых поколений безсхемных СУБД, которая получила большое внимание разработчиков.
Let's get started!

Видео звонки между терминалами Aastra 8000i через IP-PBX Asterisk

Reading time4 min
Views5.9K
В этой статье пойдет речь о настольном видео-терминале Aastra 8000i Desktop Media Phone. Терминал является частью семейства Aastra BluStar Ecosystem и хорошо интегрирован с другими продуктами от Aastra — телефонными станциями Aastra A400 и Aastra MX-ONE. Однако мы рассмотрим вариант взаимодействия данных терминалов с IP-PBX сторонних производителей, для организации трехсторонней видеоконференцсвязи и связи видео точка-точка.

image

Данный терминал имеет достаточно много специфических моментов в настройке. При использовании 8000i с коммуникационными платформами от Aastra все нюансы уже учтены, при конфигурировании абонентов соответствующего типа, так как станция готова к взаимодействию с данными устройствами и по сути сама настраивает терминалы Aastra 8000i.

В нашей лаборатории мы попытались разобраться в нюансах конфигурации и подключить устройство к произвольной IP-PBX, в частности к FreePBX (Asterisk).

Основной сложностью в подготовке терминала к взаимодействию с IP станцией является то, что часть своих настроек он должен взять из конфигурационного файла, лежащего на конфигурационном сервере. Таким образом, перед началом настройки нам необходимо иметь следующее:
  • работающую IP-PBX со свободными SIP-аккаунтами и поддержкой кодека H.264
  • поднятый конфигурационный сервер (TFTP)

В качестве конфигурационного сервера могут выступать сервера, поддерживающие один из протоколов: TFTP, FTP, HTTP или HTTPS.

В состав нашей лабораторной установки входят:
  • Видео-терминалы: Aastra 8000i (с актуальной версией firmware 4.2.0-1260)
  • FreePBX: Asterisk v 11.2.1 (развернуто на виртуальной машине под управлением vmware ESXi 5.1)

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

Получение административных привилегий в Microsoft SQL Server

Reading time7 min
Views46K

Введение

После смены рабочей станции начал ставить на нее Micorosft SQL Server 2008 R2 и чуть было не натолкнулся на традиционные грабли, связанные с улучшенной безопасностью в этой версии. Если в Microsoft SQL Server 2005 группа локальных администраторов по умолчанию включалась в роль sysadmin на SQL сервере, то в 2008-й в эту роль не включается никто:

В итоге, в инсталляции по умолчанию получается ситуация, в которой к инстансу не имеет административного доступа никто, то есть сделать с этим инстансом нельзя ничего кроме как периодически перезагружать его. Также такая ситуация возникает, когда тот, кто устанавливал SQL сервер, назначив себя единственным администратором, увольняется — например такая ситуация возникла нашими админами.
Данный пост показывает решение этой проблемы и предоставляет автоматизированное решение этой проблемы в виде скрипта, ровно как и рассказывает историю его написания, иллюстрируя мощь WMI, которая недопустимо замалчивается в литературе и в интернете.
Читать дальше →

Information

Rating
Does not participate
Location
Запорожье, Запорожская обл., Украина
Date of birth
Registered
Activity