• Шпаргалка по пробросу IP во внутреннюю сеть без моста и iptables в 4 команды

    • Tutorial
    В статье будет рассмотрена маршрутизация внешнего IP-адреса внутрь локальной без пробрасывания ethernet-шлюза и переписывания адресов в iptables. В итоге на сетевой карте внутреннего сервера будет один правильный внешний IP-адрес, внутренние IP-адреса будут отсутствовать.
    Читать дальше →
  • Посторонним вход воспрещен

      Тебе никогда не приходила в голову мысль о том, что идея использовать логин и пароль для входа в систему несколько устарела? Почему, имея в одном кармане флешку, в другом — телефон, а на компе установленный SSH с настроенной авторизацией при помощи ключей, мы продолжаем вводить эти запутанные пароли?

      Читать дальше →
      • +3
      • 19.4k
      • 3
    • Живой Debian

      Доброго всем времени суток!

      Представьте ситуацию: у вас есть хорошо настроенная и отлаженная система под управлением Debian. В какой-то момент вы хотите сделать так, чтобы эта система установленная на HDD начала загружаться с флешки или с CD-диска и работать в режиме ReadOnly. Типичное применение подобного решения это различные уличные киоски или тонкие клиенты, состояние которых сбрасывается в исходное при каждой перезагрузке.

      Сегодня я хочу рассказать о том, как добиться подобного результата, но сначала немного теории.
      Как известно, операционная система Linux Debian будучи установленной на HDD состоит из 4 достаточно независимых компонентов, каждый из которых можно подобрать или настроить по своему вкусу, а именно:

      1. Загрузчик — то, что отрабатывает после BIOS и загружает Debian. По умолчанию используется «GRUB», но можно использовать любой другой. Мы будем использовать Syslinux, т.к. умеет грузить ОС с флешки, CD-диска и по сети.
      2. Kernel или «ядро» — собственно центральная часть ОС, вокруг которой все крутится. Будем использовать то, что идет в составе дистрибутива.
      3. initrd — промежуточная файловая система, которая помогает ядру найти RootFS. Требует небольшой модификации, к счастью не ручной.
      4. RootFS — корневая ФС. Вот ее то нам и предстоит преобразовать так, что бы ОС могла грузиться в режиме RO.
      Читать дальше →
    • Спидран по 13 уязвимостям на сайтах. Основные понятия, и средства защиты

      Недавно по работе собирал своего рода лекцию по веб-безопасности, ознакомился с известным рейтингом уявзимостей OWASP 2013 года, но с удивлением обнаружил, что корректной инфы на русском языке крайне мало, или её практически нет.

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

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

      Читать дальше →
    • M-LAG как альтернатива STP и стека



      Одними из основных проблем в сети являются «петли» и «единая точка отказа».

      Традиционным способом победить «петли» является использование протокола STP. Но в то же время этот протокол приносит проблему неэффективного использования пропускной способности портов и линков коммутатора. При наличии нескольких возможных линков, активным будет один, все-равно, что купить домой крутой и дорогой компьютер для игры в пасьянс «Косынку» — не используется весь потенциал устройства. Низкая сходимость, особенно в сложных топологиях. А если в сети бегает голос или потоковое видео? Путь между двумя соседними коммутаторами может идти через корневой – не оптимально.

      Традиционным способом уйти от «единой точки отказа» и сделать сеть отказоустойчивой является использование стека. Не поспоришь, вариант хорош, но все-равно возникает ряд вопросов: какое будет время сходимости при выходе из строя master-node? Хватит ли пропускной способности стека между коммутаторами (хотим больше скорость – платим больше)? Как себя будет вести стек при “split-brain”? Об этом под катом.
      Читать дальше →
    • От linux-админа к python-программисту или как и почему я менял профессию

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

      И все бы хорошо, но со временем и по определенным причинам дискомфорт начал преобладать над комфортом.
      Читать дальше →
    • Расследование об информационной безопасности в Яндексе. Rdomn – скрытая угроза

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

        Злоумышленники постоянно совершенствуют методы внедрения вредоносного кода на веб-страницы зараженных сайтов. Если раньше это бывала модификация статического контента или php-скриптов CMS, то сейчас прибегают к использованию более сложных техник.



        В наши дни чаще всего заражению подвергается веб-сервер: устанавливаются вредоносные модули, внедряются вредоносные shared objects, либо же исполняемый файл перекомпилируется с вредоносной функциональностью. Для внедрения вредоносного JavaScript активно используется, например, Flash.
        Читать дальше →
      • «Memory Component Issue», или масштабный брак сетевого оборудования

          Подтвердилось существование проблемы, о которой многие догадывались.

          Cisco объявили, что неназванный производитель памяти в течение пяти лет (с 2005 по 2010) поставлял им брак. Характер брака: оборудование с этой памятью может годами копить аптайм, не вызывая никаких нареканий к своей работе, но стоит перезагрузить его (по питанию или даже простым reload) — память перестает корректно работать, само устройство либо не загружается, либо загружается и периодически падает. Связано это с деградацией чипов памяти. По заявлению вендора, основные проблемы начинаются после двух лет эксплуатации.

          Прежде чем в Cisco полетят тухлые помидоры, спешу предупредить: память стандартная, многие вендоры ее закупали, потому затронуто может быть великое множество единиц оборудования. Есть подтверждение об аналогичных проблемах у Juniper. Но только Cisco сознались, несмотря на неизбежный репутационный ущерб. Их финансовые потери из-за этой катастрофы составляют около 655 миллионов долларов.
          Читать дальше →
        • Маршрутизация в Linux: VRF Lite

            Обычно VRF (Virtual Routing and Forwarding, VPN Routing and Forwarding) используется совместно с MPLS, но без оной в терминологии Cisco называется VRF-Lite. Суть этой технологии в том, что маршрутная информация, принадлежащая различным классам (например, маршруты одного клиента) изолируется друг от друга. Считается, что такие возможности есть только у «взрослых» железных решений, но это не совсем так. Благодаря наличию множественных таблиц маршрутизации, гибких политик маршрутизации всё это можно сделать и в Linux. Кому интересно, добро пожаловать под кат.
            Читать дальше →
          • Cisco VSS: страх и ненависть на работе

              Данный пост я написал в порыве негодования и недоумения от того, как сетевое оборудование от мирового лидера в данном сегменте может сильно и неожиданно портить жизнь production-процессам и нам – сетевым админам.
              Я работаю в государственной организации. Ядром нашей сетевой инфраструктуры является VSS-пара, собранная из двух коммутаторов Cisco Catalyst 6509E под управлением супервизоров VS-S720-10G-3C с версией IOS 12.2-33.SXI6 (s72033-adventerprisek9_wan-mz.122-33.SXI6.bin) на борту. Наша сетевая инфраструктура является полностью production и должна быть доступна практически 24*7*365. Какие-либо профилактические работы, предполагающие малейший останов предоставляемых сервисов, мы должны заранее согласовывать и выполнять в ночное время. Чаще всего это ночные квартальные профилактики. Об одной из таких профилактик я хочу рассказать. И я искренне не хочу, чтобы с вами повторилась моя история.
              Читать дальше →
            • Какую скорость сети обеспечивает провайдер? Фактически

                image

                Если вы администрируете распределённую сеть, то наверняка периодически сталкиваетесь с задачей оценить фактическую пропускную способность каналов (VPN) между офисами. В общем случае, это можно делать тремя способами. Один очень прост, но непригоден для мониторинга каналов на регулярной основе. Это использование Iperf и т.п. Два других могут использоваться постоянно, но настолько сложны и дороги, что могут себе позволить только крупные и очень крупные компании. К этой категории относятся решения на основе анализа сетевого трафика в реальном времени (network sniffing) и решения, подмешивающие тестовый трафик в пользовательский трафик, и оценивающие прохождение тестового трафика. А что делать всем остальным, тем, кому нужно управлять качеством каналов, но по объективным причинам не относится к ЦА сверхдорогих решений? В этой статье я расскажу о новой технологии управления качеством работы сети. Она несравнимо проще и доступнее решений на основе подмешивания тестового трафика и network sniffing, не требует установки аппаратных зондов, но при этом позволяет управлять качеством распределённой сети на регулярной основе.

                Это сугубо прагматическая концепция, разработанная исходя из возникающих на практике задач. Новизна описываемой технологии в том, что метод нагрузочного тестирования (используемый в Iperf, Chariot и т.п.), обычно применяемый для разовых измерений скорости сети, интегрирован в систему сетевого мониторинга. Отсюда и название технологии – Нагрузочный Мониторинг Сети (НМС). Кратко, идея НМС – в автоматическом проведении нагрузочных тестирований в те моменты времени, когда внутренние пользователи сети не активны (эти моменты определяются автоматически). Пропускная способность сети измеряется на уровне TCP. Основная область применения НМС – управление качеством VPN-соединений, например, в рамках Service Level Management.
                Читать дальше →
                • +9
                • 33.9k
                • 4
              • ODR – On-Demand Routing

                1. Введение в ODR – On-Demand Routing


                Прежде чем изучать технологию ODR, давайте вспомним два основных метода наполнения таблиц маршрутизации информацией:
                • Статическая маршрутизация – маршруты добавляются вручную администратором.
                • Динамическая маршрутизация – администратор настраивает протоколы динамической маршрутизации.

                Но в каждом из этих случаев есть недостатки:
                • Основным недостатком статической маршрутизации является необходимость переконфигурации устройств при изменении структуры сети или адресов.
                • Основными недостатками динамической маршрутизации недостатками являются: дополнительная нагрузка на каналы и понижение безопасности.

                В принципе нельзя сказать что эти недостатки существенны в современных условиях. Навряд ли сети будут переконфигурироваться часто, современные каналы связи достаточно широки, что бы без проблем передавать относительно небольшой трафик, генерируемый протоколами маршрутизации. И даже проблему внешних динамических IP адресов, получаемых от провайдера можно решить путем использования технологии динамического DNS.
                Но на самом деле есть еще один недостаток, общий для обоих вариантов – вам нужен обслуживающий персонал в каждой точке, где стоит маршрутизатор. Тот, кто будет прописывать статические маршруты или настраивать протокол динамической маршрутизации.
                Именно для таких случаев компания Cisco разработала проприетарный протокол ODR, который по сути даже не является протоколом динамической конфигурации, это расширение еще одного проприетарного протокола – CDP. С помощью протокола ODR маршрутизаторы могут обмениваться маршрутной информацией специфическим образом (в результате объем передаваемой информации существенно меньше, чем у других протоколов динамической маршрутизации), и при этом конфигурация всех маршрутизаторов сети не требуется. Настраивается только один маршрутизатор – основной маршрутизатор компании, все остальные маршрутизаторы не требуют вообще никакой настройки маршрутизации, ни статической, ни динамической.
                Таким образом, получается, что ODR не обладает выше указанными недостатками:
                • Объем передаваемых данных минимален, по сравнению с протоколами протоколов динамической маршрутизации.
                • Требуется минимальная конфигурация на одном маршрутизаторе.

                Читать дальше →
              • IPv6 теория и практика: введение в IPv6

                • Tutorial
                Этой статьёй я хочу начать цикл, посвященный IPv6. Я являюсь инструктором академии Cisco, поэтому, если вы в совершенстве знаете материал нового CCNA Routing & Switching, то скорее всего, не найдёте в цикле ничего нового. Речь пойдёт о структуре и особенностях протокола IPv6, а также, применении его на маршрутизаторах Cisco (маршрутизация RIP, OSPF, EIGRP, списки контроля доступа, и др. – как пойдёт). В первой статье мы поговорим о структуре IPv6 пакета, записи адресов, префиксе. Вторая статья цикла доступна здесь. Информация подойдёт для новичков, имеющих, тем не менее, некоторые знания по IPv4 и модели OSI.
                Цикл статей основан на материалах моего блога, которые, в свою очередь, основаны на опыте преподавания, работы с оборудованием и вольном переводе и обдумывании официального курса CCNA Routing & Switching.
                Итак, начнём. Не буду останавливаться на стандартных рассуждениях о том, что IPv4 адресов мало, о том, что NAT и прокси – это костыли, о том, что костыли пока работают, и никто не хочет переходить на IPv6, вместо этого – сразу к сути.
                Читать дальше →
              • Как вынудить процесс использовать новый адрес DNS-сервера из обновлённого resolv.conf без перезапуска самого процесса

                  Я работаю системным администратором Unix. Однажды к нам в отдел эксплуатации сервисов упал тикет от программиста с выдержой из лога application-сервера в заголовке: "pgbouncer cannot connect to server". Посмотрев логи pgbouncer'ов, я увидел, что периодически возникают lookup fail'ы при обращении к нашим DNS. Было установленно, что это связано не с работой наших DNS-серверов, а с ненадёжностью самого протокола UDP: иногда возникают потери пакетов по разным причинам.
                  image
                  В результате, было решено установить на каждом сервере с pgbouncer'ами по кэширующему BIND. И тут возникла интересная проблема: pgbouncer не перечитывал по сигналу HUP файл /etc/resolv.conf и продолжал обращаться к старым DNS-серверам. А перезагружать баунсеры категорически нельзя: есть проблемные проекты, которые очень болезненно относятся к разрывом сессий с базой.

                  В данной статье я расскажу как можно pgbouncer или любую другую программу, использующую библиотечный вызов getaddrinfo(), заставить перечитать resolv.conf и начать использовать новый DNS-сервер совершенно безболезненно для клиентов (без даунтайма).
                  Читать дальше →
                • Создание надёжного iSCSI-хранилища на Linux, часть 1

                  • Tutorial
                  Часть вторая

                  Прелюдия


                  Сегодня я расскажу вам как я создавал бюджетное отказоустойчивое iSCSI хранилище из двух серверов на базе Linux для обслуживания нужд кластера VMWare vSphere. Были похожие статьи (например), но мой подход несколько отличается, да и решения (тот же heartbeat и iscsitarget), используемые там, уже устарели.

                  Статья предназначена для достаточно опытных администраторов, не боящихся фразы «патчить и компилировать ядро», хотя какие-то части можно было упростить и обойтись вовсе без компиляции, но я напишу как делал сам. Некоторые простые вещи я буду пропускать, чтобы не раздувать материал. Цель этой статьи скорее показать общие принципы, а не расписать всё по шагам.

                  Вводные


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

                  В качестве гипервизора был выбран vSphere, как наиболее устоявшийся и законченый продукт, а в качестве протокола — iSCSI, как не требующий дополнительных финансовых вливаний в виде коммутаторов FC или FCoE. С опенсурсными SAS таргетами довольно туго, если не сказать хуже, так что этот вариант тоже был отвергнут.

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

                  В качестве софта было выбрано:
                  • Debian Wheezy + LTS ядро 3.10
                  • iSCSI-таргет SCST
                  • DRBD для репликации
                  • Pacemaker для управления ресурсами кластера и мониторинга
                  • Подсистема ядра DM-Crypt для шифрования (инструкции AES-NI в процессоре нам очень помогут)

                  В итоге, в недолгих муках была рождена такая несложная схема:
                  image
                  Читать дальше →
                • Оптимизация беспроводного подключения или iwconfig может всё

                  • Translation
                  Довольно долго я мучался с потерями пакетов и падением скорости WiFi на своем ноутбуке после некоторого времени работы. И вот я наткнулся на небольшую статью, которая помогла мне обобщить свои знания и осознанно подобрать необходимые параметры для оптимизации работы моей сетевой карты.
                  Ниже я предлагаю ознакомится с переводом данной статьи.


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

                  Пожалуйста, при чтении данного руководства держите под рукой открытую справку (страничку man) по iwconfig. Я опишу только одиночные примеры различных команд. Справка вам даст намного больше детализированной информации относительно того, как оптимально всё настроить.

                  Первое и наиболее важное — понимание, что может привести к появлению проблем.
                  Читать дальше →
                • Chef за 21 день. Часть вторая. Создание и использование cookbook

                  • Tutorial
                  Привет-привет, хабраюзер! Все еще с нами? CHEF – это интересно! Продолжим наш вояж к мастерству воина-автоматизатора, который начался в первой части данной статьи. В этой статье речь пойдет о первом опыте написания cookbook-а, о рецептах, атрибутах и шаблонах.
                  Читать дальше →
                  • +17
                  • 15.8k
                  • 8
                • Несколько бесплатных книг по программированию на русском языке

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


                    Александр Круглов — Ruby — Эту книгу можно использовать как справочник и как отдельный учебник по Ruby. Для изучающих Rails считаю исчерпывающим руководством по языку. Версия языка изучаемая в этой книге — 2.0.0p247.

                    Слова автора: Не думайте, что прочитав эту книгу вы сразу станете писать высоконагруженные приложения. Максимум чему вы научились — это программирование небольших скриптов, способных немного облегчить вашу повседневную работу. Еще множество необходимых знаний о стиле кода, тестировании и отладке, архитектуре и оптимизации (и т.д.) отделяет вас от гордого звания программиста. Могу лишь надеяться, что удовольствия от работы с Ruby поможет преодолеть все эти препятствия и сообщество получит еще одного единомышленника. Github репозиторий

                    Читать дальше →
                  • Бизнес-ориентированные системы хранения ETERNUS DX S3

                      Ранее мы уже рассказывали об обновлении серверной линейки Fujitsu, которое произошло осенью этого года. Также в начале ноября уходящего года компания Fujitsu выпустила обновленное семейство систем хранения данных ETERNUS DX S3. Это обновление можно назвать революционным, так производительность некоторых моделей увеличилась в 5 раз. Но обо всем по порядку.



                      Новая линейка Fujitsu ETERNUS DX S3 является по-настоящему бизнес-ориентированной. Ее разработка производилась, опираясь на реальные требования, предъявляемые бизнесом к таким продуктам. И только потом, исходя из этих требований, подбирались или разрабатывались соответствующие технологии и решения. Фактически можно говорить о том, что именно требования бизнеса и легли в основу технического задания на проектирование обновленного семейства.

                      Так, в новых системах впервые на рынке применен новый интерфейс для подключения дисков SAS3, обеспечивающий скорость передачи данных до 12 Гб/с, что позволяет осуществлять до двух раз более быстрое обращение к данным, размещенным на дисках.
                      Читать дальше →
                    • Модульная командная строка QoS в Cisco

                        Добрый день, в данной статье хотел бы немного рассказать о методе построения правил QoS в устройствах Cisco. Для начала хочу дать краткое определение понятию QoS.
                        QoS — это способность сети, обеспечивать улучшенное обслуживание сетевого трафика независимо от выбранных технологий, включая Frame Relay, ATM, Ethernet или IP сеть с маршрутизацией.
                        Читать дальше →