• Запускаем OpenVPN в Докере за 2 секунды

    • Tutorial
    Привет, хабровчане! Сталкивались ли вы когда-либо с ситуацией, когда очень хотелось бы виртуально перенестись в другой город, страну или на другой континент? У меня такая необходимость возникает достаточно часто, поэтому возможность иметь свой VPN сервер, который можно запустить где угодно, за пару секунд, стоял достаточно остро.В этой статье хочу рассказать про свой проект, который я задумал когда искал готовое решение, в данном случае докер образ, который бы позволил быстро поднять OpenVPN сервер, с минимумом настроек и приемлемым уровнем безопасности.


    Читать дальше →
  • Курс MIT «Безопасность компьютерных систем». Лекция 21: «Отслеживание данных», часть 1

    • Translation
    • Tutorial

    Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


    Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

    Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
    Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
    Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
    Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
    Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
    Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
    Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
    Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
    Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
    Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
    Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
    Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
    Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
    Лекция 14: «SSL и HTTPS» Часть 1 / Часть 2 / Часть 3
    Лекция 15: «Медицинское программное обеспечение» Часть 1 / Часть 2 / Часть 3
    Лекция 16: «Атаки через побочный канал» Часть 1 / Часть 2 / Часть 3
    Лекция 17: «Аутентификация пользователя» Часть 1 / Часть 2 / Часть 3
    Лекция 18: «Частный просмотр интернета» Часть 1 / Часть 2 / Часть 3
    Лекция 19: «Анонимные сети» Часть 1 / Часть 2 / Часть 3
    Лекция 20: «Безопасность мобильных телефонов» Часть 1 / Часть 2 / Часть 3
    Лекция 21: «Отслеживание данных» Часть 1 / Часть 2 / Часть 3
    Читать дальше →
  • Прямое сравнение методов лазерной коррекции миопии или за что вы платите при выборе ReLEx SMILE

      Сравнение методов лазерной коррекции зрения

      Мы тут «починили» лазером Boomburum, и в посте, где он рассказывал про свои новые глаза, разгорелась дискуссия на тему сравнения ФРК-методов, LASIK-методов и SMILE-методов. Мы (имею в виду немецкий холдинг SMILE EYES, куда входит наша российская клиника) делаем все три вида операций, но абсолютные сторонники того метода, который даст больше при потере меньшего. Таким образом, любой вид LASIK или ФРК рекомендуется только тогда, когда SMILE невозможен: во-первых, при дальнозоркости (это совсем другая история), во-вторых — в случаях больной или поврежденной роговицы (например, с рубцами). Но и, конечно, учитывается экономическая сторона.

      Казалось бы, я в первых постах объяснила, почему так. Но в комментариях к посту видно, что этого было недостаточно. Поэтому давайте сделаем всё по правилам научной дискуссии. Разберём тезисы и приведём соответствующие исследования к ним.

      Именно так поступают в научном и медицинском мире. Если есть мнение – его нужно обосновать. Желательно, на выборке от 20 и более пациентов с одинаковым распределением в двойном исследовании. Желательно – чтобы исследования подтверждались разными клиниками в разных странах, где проводятся такие виды операций.

      Давайте начнём.
      Читать дальше →
    • В МТИ разработали алгоритм, который удаляет с фотографий отражения в окнах



        Если подойти к окну и попытаться сделать фотографию через стекло, то будет трудно избежать отражения собственной фигуры. Ненужный объект будет тем заметнее, чем темнее пространство за окном. Профессиональные фотографы решают эту проблему, подводя объектив камеры вплотную к стеклу и применяя множество других приёмов, к примеру, поляризационные фильтры. Но зачастую в распоряжении имеется только «глазок» смартфона, или возможности для съёмки ограничены, и с наличием отражения приходится мириться. Исследователи Массачусетского технологического института нашли алгоритмическое решение этой проблемы.
        Читать дальше →
      • Полезный обзор. 28 книг, которые повлияли на мое мышление, вдохновили или сделали лучше



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

        Из-за этого большинство подобных материалов мало полезны, несмотря на то, что могут содержать толковые книги. Мне давно хотелось написать полезный обзор, который не станет навязывать определенные материалы, а позволит читателю выбрать наиболее подходящие.
        Читать дальше →
      • Знакомство с Microsoft Learn

        • Translation
        Веб-сайт Microsoft Learn — это самое простое средство для освоения продуктов и служб. Здесь вы можете пройти интерактивное обучение на основе реальных задач. К вашим услугам множество бесплатных материалов, локализованных на 23 языка, с общей длительностью изучения более 80 часов. Обучение охватывает многие наши продукты и постоянно пополняется новыми ресурсами. Подробнее под катом!

        Читать дальше →
        • +15
        • 7.5k
        • 1
      • Настройка BGP для обхода блокировок, версия 3, без VPS

        • Tutorial

        Зачем всё это делается в принципе и как оно устроено логически — описано в первой и второй статьях.


        После их публикации я получил несколько вопросов от людей, которые пользуются VPN с не принадлежащих им ресурсов (например, приобретающих коммерческую услугу VPN). Этим людям раньше я советовал завести VPS для развертывания BGP-сервиса или каким-то еще образом получить доступ к серверу на Linux.


        Но с сегодняшнего дня для них (и для всех остальных) есть более удобный вариант — на бесплатном сервисе antifilter.download появилась возможность автоматически настраивать BGP-сессию с вашим маршрутизатором.

        Читать дальше →
      • Настройка BGP для обхода блокировок, версия 2, «не думать»

        • Tutorial

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


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


        • линукс-машина (ubuntu) вне поля блокировок;
        • роутер Mikrotik, на который вы уже подняли VPN-туннель до этой линукс-машины;
        • настроенный NAT на этом туннеле, позволяющий вам работать через него;
        • желание.

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


        Те, кто уже всё сделал по мотивам предыдущего поста, в этом полезной информации не почерпнут.

        Читать дальше →
      • Что нужно запомнить программисту, переходящему на Python

        • Tutorial

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


        Однако в какой-то момент перл исчерпал себя и я решил заняться питоном, сначала просто делал что-то и разбирался с тем, что нужно для данной задачи, а потом понял, что нужны какие-то систематизированные знания и прочитал несколько книг:


        • Билл Любанович «Простой Python. Современный стиль программирования»
        • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
        • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»

        Которые мне показались вполне подходящими для понимания основных тонкостей языка, хотя не помню, чтобы в них упоминалось про slots, но и не уверен, что это реально нужная фича — если уже по памяти прижало, то скорее всего одного этого способа будет недостаточно, но конечно это всё зависит от ситуации.


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

        Читать дальше →
      • Корпоративный презерватив

          — Чего?! Какая, к хренам, экономическая целесообразность? – вскочил со стула Сергей.

          — Да она там через NPV, то есть чистую приведенную стоимость проекта, считается. – опешила и забормотала Ксения. – Поможете рассчитать?

          — Ксения, вы в своем уме? – зло нахмурился Сергей.

          — Сергей, не орите на меня, пожалуйста. – голос Ксении задрожал. – Мне и так тяжело, своей работы хватает, а тут еще это…

          — Да я не на вас ору, а… — Сергей осекся, сделал неопределенный жест рукой. – В эфир, так сказать. Что, еще раз, вам надо рассчитать?

          — NPV, чистая приведенная стоимость проекта. – Ксения, на всякий случай, прочитала по бумажке.

          — Чистую приведенную стоимость проекта установки диспенсера для бумажных полотенец в туалете?!
          Читать дальше →
        • Ищем уязвимости с помощью google

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

            Читать дальше →
          • Работаем в консоли быстро и эффективно

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

            Читать дальше →
          • Повышение привилегий в Windows-среде

            Практика управления информационной безопасностью: pentest


            Повышение привилегий пользователя до уровня администратора домена Windows

            Введение


            Хорошая система управления информационной безопасностью (СУИБ) требует регулярной оценки своей эффективности. Существуют разные методики подобных оценок, одной из разновидностей которых является т.н. «тест на проникновение» или pentest – санкционированная симуляция хакерской атаки на информационную систему с целью выявления уязвимостей в её защите до того, как их обнаружит реальный злоумышленник. При этом могут использоваться любые доступные в реальной жизни хакерские инструменты, эксплойты, методы и т.д.

            Данная статья содержит описание одной из таких антихакерских практик, ставившей своей целью повышение полномочий рядового пользователя домена Microsoft Windows до уровня администратора домена. В основу статьи был положен отчет о результатах теста, реализованного на практике. По соображениям конфиденциальности вся информация, позволяющая идентифицировать место проведения (имена домена и хостов, учетных записей и т.д.) удалена либо изменена. В статье показаны основные методики, для лучшего понимания я привел теоретические основы и используемые уязвимости конкретных версий операционных систем, а также общие рекомендации по защите. И хотя большинство указанных версий ОС Windows на момент публикации будут считаться устаревшими, статья может быть полезна начинающим системным администраторам для лучшего понимания методов защиты учётных данных в среде Windows.
            Читать дальше →
          • 7. Check Point на максимум. Sandboxing. Заключение

            • Tutorial


            Добро пожаловать на 7 урок. Сразу хотелось бы предупредить, что данный урок последний. Последний для данного курса. В планах уже два новых курса, поэтому следите за обновлениями. А тема сегодняшнего урока — Sandboxing (т.е. песочница). И прежде чем начать рассказывать что это такое и чем полезно, мне бы хотелось подвести небольшой итог уже проделанной нами работы. Давайте еще раз пробежимся по пройденному материалу.
            Читать дальше →
          • Курс MIT «Безопасность компьютерных систем». Лекция 8: «Модель сетевой безопасности», часть 1

            • Translation
            • Tutorial

            Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


            Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

            Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
            Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
            Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
            Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
            Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
            Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
            Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
            Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
            Читать дальше →
          • Как сэкономить при запуске бизнеса в США: регистрация компании, офис, бухгалтерия и продвижение



              Я уже почти два года живу и развиваю свой проект в США, которые считаются довольно дорогой страной для работы. Сегодня, опираясь на личный опыт ошибок и более-менее удачных решений, я хотел бы рассказать о том, как можно сэкономить при запуске и на первом этапе работы компании в Америке. Поехали.

              Disclaimer: всё описанное ниже — это только мой опыт, который, как я надеюсь, будет кому-то полезен, но не факт, что описанные шаги окажутся идеальными именно для вас.
              Читать дальше →
              • +24
              • 7.7k
              • 9
            • Интересности и полезности python

              Я уже несколько лет программирую на python, однако, недавно осознал, что множество полезных приёмов и интересных моментов прошли мимо меня, возможно, я не один такой, поэтому решил перечислить их здесь, надеюсь, данные приёмы пригодятся кому-то в работе или побудят познакомиться с этим языком поближе.
              Читать дальше →
            • Контейнеры для взрослых (Часть 03): 10 вещей, которые не надо делать с контейнерами

                Вы, наконец, сдались на милость контейнеров и обнаружили, что они решают массу проблем и имеет массу преимуществ:

                1. Контейнеры незыблемы: ОС, библиотеки, папки и приложения – поскольку все это хранится прямо в контейнере, вы на 100 % уверены, что в продакшн всегда пойдет именно тот образ, который тестировался в QA. И работать он при этом будет абсолютно аналогично.
                2. Контейнеры легковесны: Контейнер не ест память впустую. Вместо сотен мегабайт и гигабайт контейнеру нужна память лишь под основной процесс.
                3. Контейнеры быстрые: Контейнер запускается так же быстро, как и обычный Linux-процесс. Не минуты, а буквально считанные секунд.



                Однако, многие до сих пор считают, что контейнеры – это виртуальные машины, и забывают про важнейшее их свойство…
                Читать дальше: 10 вещей, которые не надо делать с контейнерами
              • Контейнеры для взрослых (Часть 02): Практический гид по терминологии

                  Есть много шаблонов построения контейнеров. Контейнер – это всего лишь выполняемая версия своего же образа. Поэтому способ построения контейнера тесно связан с тем, как он запускается.

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



                  Ниже мы рассмотрим наиболее типовые сценарии использования контейнеров.

                  (Введение в терминологию контейнеров см. в первой части)
                  Читать дальше: Практический гид по контейнерам
                • Контейнеры для взрослых (Часть 01): Практический гид по терминологии

                    Вы можете спросить, зачем разбираться с терминологией, если концепция контейнеров выглядит вполне простой и понятной? Однако, довольно часто неверное использование терминов создает препятствия на пути к освоению контейнеров. Например, люди часто считают, что термины «контейнеры» и «образы» взаимозаменяемы, хотя на самом деле между ними есть важные концептуальные различия. Другой пример: в мире контейнеров «репозиторий» означает вовсе не то, что вы думаете. Кроме того, контейнерные технологии – это гораздо больше, чем только docker.



                    Так что, не владея терминологией, будет сложно понять, чем docker отличается от CRI-O, rkt или lxc/lxd; либо оценить роль Open Container Initiative в деле стандартизации контейнерных технологий.
                    Читать дальше: Практический гид по контейнерной терминологии