• Еще раз о том, как не сделать из своей сети «решето»

    Здравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.

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

    Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
    Читать далее
  • JavaScript: где мы сейчас и куда двигаться

      Привет, хабраюзер. Поскольку, судя по всему, мы уже живем в будущем, то недавно я плотно засел за изучение новых фич ES6, ES7 и новых идей, предлагаемых React и Redux. И написал для своих коллег статью, в которой изложил сублимацию этих своих изысканий. Статья неожиданно получилась довольно объемной, и я решил опубликовать её. Заранее извиняюсь за некоторую непоследовательность изложения и отсылки к проприетарному коду из наших проектов — но думаю, что это всё же может помочь некоторым из нас лучше понять то, куда движется мир JavaScript, и почему не стоит игнорировать происходящее в нём.


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


      Читать дальше →
    • Несколько вещей, о которых стоит помнить программисту в возрасте

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

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

      Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек.
      Читать дальше →
    • Создание веб-сайта. Курс молодого бойца

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

      Однажды в студеную зимнюю пору… ровно год назад, у нас появилась нетривиальная задача. Есть экран на электронных чернилах, есть процессор 16МГц (да-да, во встраиваемой электронике, особенно сверхнизкого энергопотребления, встречаются и такие) и совсем нет памяти. Ну, т.е. килобайтов 8 RAM и 256 Flash. Килобайтов, Карл. И в эти унылые килобайты необходимо запихнуть несколько изображений 800х600 в четырех оттенках серого. Быстро перемножив в уме 800 на 600 и на 2 бита на пиксель получаем 120 тысяч байтов. Несколько не влезает. Надо сжимать.

      Так перед нами появилась задача: «как сжать плоского кота»? Почему кота? Да потому, что на котиках тестировали, на чем же еще черно-белые картинки проверять. Не на долларовых банкнотах же.
      Читать дальше →
    • Установка и настройка SVN (сервер+клиент)

        По просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
        Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
        Читать дальше →
      • Прошивка DD-WRT на домашнем роутере

          Прошивка DD-WRT на домашнем роутере


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

          Рано или поздно каждый пользователь интернета покупает себе домой роутер, поскольку количество устройств, требующих интернета, растёт. А у многих растут дети, которые тоже требуют подключения к интернету :) Но мне больно и обидно видеть, что люди не всегда понимают, что можно и нужно делать для достижения максимального комфорта.
          Итак, роутер превращается... Часть 1
        • Памятка евангелиста PostgreSQL: критикуем MySQL грамотно

          image

          Привет, Хабр! Эта публикация — попытка развеять некоторые популярные мифы и легенды о MySQL. Я не ошибся с хабом, так как поводом для написания послужила публикация varanio Возможности PostgreSQL, которых нет в MySQL, и наоборот отсюда же. Сама публикация в части критики MySQL хоть и неидеальна, но вполне корректна, а вот комментарии к ней наводят на грустные размышления.

          Вообще говоря, я собирался написать публикацию о возможностях MySQL, которые не реализованы или реализованы в PostgreSQL хуже. Но для того, чтобы не мешать много тем в одну публикацию, и учитывая довольно нелёгкую работу по сравнению того, что я знаю очень хорошо (MySQL) с тем, что я знаю очень плохо (PostgreSQL), такую публикацию я решил отложить на потом и для начала ответить сразу на многие комментарии из публикации varanio.
          Читать дальше →
        • Возможности PostgreSQL, которых нет в MySQL, и наоборот



          Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
          Читать дальше →
        • Домашний сервер на платформе Intel Atom и ОС Centos 7

          • Tutorial
          В своей статье я хочу представить уважаемому хаброобществу практическое руководство по сборке, настройке и вводу в эксплуатацию недорогого и экономичного сервера на платформе Intel Atom и ОС Centos 7. Сей труд не претендует на полноценный и исчерпывающий учебник и рассчитан, скорее, на начинающих, чем на профессионалов. Если человек, до этого в глаза линукс не видевший, сможет при помощи этой статьи сконфигурировать свой первый сервер, я буду считать свою задачу выполненной.

          Первая часть статьи (небольшая по объёму) посвящена аппаратной составляющей, а вторая, основная часть — подробному описанию процесса настройки на этой аппаратуре системы Centos 7. Кому интересно, прошу под кат.
          Читать дальше →
        • Как работает реляционная БД

          • Перевод
          • Tutorial
          Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

          На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
          Читать дальше →
        • Если вы решили перейти с PHP на Python, то к чему следует подготовиться

            Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

            Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

            Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


            Python с точки зрения PHP-программиста...
          • Большой апдейт программы f.lux

              После нескольких лет разработки известная программа f.lux наконец-то обновилась до версии 3.9 (без беты). В ней реализовано большое количество новых функций, некоторых из которых очень не хватало раньше.



              Напомним, что f.lux — программа, которая изменяет цветовой профиль монитора, в зависимости от времени суток. Ночью устанавливаются тёплые цветовые тона, которые соответствуют искусственному освещению в квартире, днём — холодные, соответствующие дневному свету. Таким образом, глаза гораздо меньше устают, потому что свечение монитора становится более естественным и соответствует окружающей обстановке.
              Читать дальше →
            • Каша из топора или NAS на основе Asus RT-N56U

              image
              Вкратце, что получилось:
              • ADSL 2+ подключение к Интернету
              • Две домашних WiFi 802.11g/n сети — 2.4Ghz и 5Ghz со скоростью более 100 мегабит/с
              • Гигабитное подключение по кабелю
              • Сетевое хранилище на 6Тб, в виде четырех дисков 2 x 2Тб и 2 x 1Тб с автономным торрент клиентом
              • SMB/CIFS сервер со стабильной скоростью записи/чтения 12-14 мегабайт/с
              • NFS сервер со скоростью записи/чтения 9-10 или 15-18 мегабайт/с (TCP/Windows или UDP/Linux)
              • UPNP/DLNA сервер со скоростью чтения 8-10 мегабайт/с
              • 46-ти дюймовый LED телевизор с встроенным WiFi 802.11n, способный работать с сетевым хранилищем и сам способный раздавать контент по SMB/CIFS со своего USB диска
              • Старый 42-дюймовый телевизор с подключеным BD плеером с поддержкой Ethernet и DLNA клиентом, работающий с сетевым хранилищем
              • 4 домашних компьютера, включая Mac и 4 мобильных телефона которые со всем вышеперечисленным работают, в том числе и мобильные сервера и клиенты DLNA

              Кому интересно на какие грабли я наступал, зачем там подушка и как все это работает прошу под кат.
              Читать дальше →
            • Как начать летать, хоть на чем-то, самостоятельно

                Мое детство прошло среди людей которые все время на чем то летали. Строили, разрабатывали новое и тут же на нем летали. В 5 лет для меня стало открытием, что кто то в этом мире может не летать. К своим 26 годам я успел попробовать почти все на чем можно летать. Хочу поделиться своим опытом и рассказать о доступных возможностях.
                Что бы начать летать у Вас есть такие варианты:

                1. Парители (в этой статье)
                • Параплан
                • Дельтаплан
                • Планер

                2. Моторный полет (вторая статья)
                • Легкий самолет
                • Мотодельтаплан
                • Паратрайк
                • Парамотор
                • Мотопланер



                Начать летать самостоятельно
              • Роботы-пылесосы iClebo Arte и Neato XV-21 – сравнение на основе опыта использования

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

                Здесь я постараюсь не заострять внимание на характеристиках, обзоре конструкций и других фактах, которые можно почерпнуть из многочисленных описаний, официальных и не очень. Я хочу поделиться в основном своими наблюдениями за поведением двух совершенно разных роботов, за результативностью их работы и удобством эксплуатации. То есть той информацией, которую я не мог получить иным путём, кроме личного тест-драйва, и которой мне не хватало для принятия окончательного решения. Возможно, кому-то эта статья поможет определиться с выбором.
                Читать дальше →
              • Развитие правого полушария головного мозга или как я учился рисовать

                • Tutorial
                Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

                С чего все началось



                Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
                Читать дальше...
              • Беззеркальная революция

                  В понедельник 23 июля Canon последним из крупных фотопроизводителей анонсировала свою первую беззеркальную камеру EOS-M. На бумаге новая камера имеет неплохие характеристики, но речь пойдет не о ней, а беззеркалках вообще и о позволивших их создать технологиях в частности.

                  Мы наблюдаем очередную революцию в фотоделе. Первые беззеркалки появились меньше пяти лет назад, но уже успели существенно подвинуть традиционные зеркалки (в Азии так и вовсе их продажи сравнялись с продажами зеркалок), а заодно помогли камерафонам уничтожить рынок мыльниц (спад продаж только в прошлом году под 40%).

                  При этом крупицы адекватной технической информации в интернете погребены под толстым слоем маркетинговых манипуляций и дилетантских измышлений фотолюбителей. Так что желающих просветиться прошу
                  Читать дальше →
                • Яндекс. Директ. Подпорки или как помочь глупому конкуренту слить бюджет

                    image
                    Итак, снова представим ситуацию.
                    Мы производим какой-либо продукт (на этот раз — ядерные боеголовки:)) и продаем его с помощью Директа. Наша рекламная кампания работает давно и успешно, CTR устаканился на высокой отметке, стоимость за клик невелика, с Директа сыпятся заказы на наши боеголовки, деньги льются рекой, травка зеленеет и солнышко блестит.
                    И вот в один прекрасный день вы получаете письмо от робота Директа о том, что кто-то вытеснил вас с насиженных позиций. Это наш старый негодяй-конкурент, компания «Бобруйские боеголовки» увидев как хорошо у нас идут дела, решает отвоевать часть рынка. Эта гордая миссия была поручена секретарше Люсе, так как «она умеет почту принимать и вообще шарит во всех этих компьютерах».
                    Читать дальше →