• Самый беззащитный — уже не Сапсан. Всё оказалось куда хуже…

      {UPD 10.02.2021} Евгений Чаркин дал интервью на эту тему gudok.ru/newspaper/?ID=1552569
      Под катом мои комментарии на некоторые тезисы.
      {/UPD}

      Больше года назад хабравчанин keklick1337 опубликовал свой единственный пост «Самый беззащитный — это Сапсан» в котором рассказывает как он без серьёзных ухищрений получил доступ ко внутренней сети РЖД через WiFi Сапсана.

      В ОАО «РЖД» прокомментировали результаты этого расследования. «Есть результаты проверки. Почему удалось взломать? Наверное, потому, что злоумышленник. Наверное, из-за этого… Ну, он из „фана“. Юный натуралист. Там уязвимостей, которые бы влияли на утечку каких-то критических данных, нет. Мультимедийный портал „Сапсанов“ функционирует как положено и не нуждается в доработке», — заявил Евгений Чаркин.

      То есть вместо того, чтобы выразить благодарность за обнаруженную уязвимость, автора обозвали «злоумышленником» и «Юным натуралистом».

      К сожалению, но специалисты РЖД, начиная с директора по информационным технологиям, отнеслись к статье очень пренебрежительно, проигнорировав важное указание автора:
      Также оттуда в сеть РЖД есть впн. Если захотите — найдёте её там сами.

      И вот, год спустя я попал в сеть РЖД даже не садясь в Сапсан.



      Видимо, только этот котэ добросовестно охраняет вокзал.

      Как именно я попал в сеть РЖД с пруфами, чего не сделал директор по информационным технологиям ОАО «РЖД» Чаркин Евгений Игоревич и возможные последствия — под катом.
      Читать дальше →
    • 57 отборных репозиториев для всех разработчиков Python

      • Перевод
      Специально к старту нового потока курса «Python для веб-разработки» представляем подборку из 57 репозиториев, которые будут полезны как начинающему, так и опытному разработчику: это репозитории с ответами на вопросы собеседований, репозитории с книгами, небольшие, но полезные консольные инструменты и проекты, которые вдохновят вас написать красивый, работающий и полезный код.


      Приятного чтения!
    • Кунг-фу стиля Linux: упрощение работы с awk

      • Перевод
      Утилита awk — это нечто вроде швейцарского ножа для обработки текстовых файлов. Но некоторые ограничения awk порой доставляют неудобства тем, кто этой утилитой пользуется. Я, для того чтобы упростить работу с awk, создал несколько функций. Но сразу хочу сказать о том, что для работы этих функций нужны возможности GNU-версии awk. Поэтому для того чтобы воспроизвести то, о чём я буду рассказывать, вам совершенно необходимо использовать gawk и ничего другого. Возможно, в вашей системе настроено сопоставление /usr/bin/awk с чем-то, и это «что-то» может представлять собой gawk. Но это может быть и mawk, и какая-то другая разновидность awk. Если вы используете дистрибутив Linux, основанный на Debian, то знайте, что команда update-alternatives — это ваш хороший друг. В данном материале я буду исходить из предположения о том, что его читатель использует gawk.



      После того, как вы прочитаете эту статью, вы узнаете о том, как пользоваться моей библиотекой дополнительных функций для awk. А именно, речь идёт о разделении строки на поля даже в условиях, когда не существует единого символа, используемого для разделения полей. Кроме того, вы сможете обращаться к полям, используя выбранные вами имена. Например, вам не придётся помнить о том, что $2 — это поле, содержащее сведения о времени. Вместо этого можно будет просто воспользоваться конструкцией наподобие Fields_fields[«time»].
      Читать дальше →
      • +32
      • 8,2k
      • 3
    • Ультимативный гайд по собеседованию DevOps-инженеров — что спрашивать и к чему готовиться



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

        Это когда никакого четкого алгоритма нет. Ты просто разговариваешь с человеком и что-то для себя понимаешь. Спрашиваешь, что кандидат делал на прошлой работе, цепляешься за тему — и вот вы уже просто обсуждаете инженерные темы, примерно на том же уровне, что и с коллегами. Если беседа клеится и человек нравится, то все хорошо.

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

        Но иногда, чтобы не терять хватку, надо все же напоминать себе, какими знаниями должен обладать инженер и какими вопросами можно максимально объективно оценить человека, которого видишь впервые в жизни.
        Читать дальше →
      • Германия, или Туда и Обратно — 2

          В первой статье цикла я описал свой переезд в Германию с семьей.

          Обосновались мы в красивом и благородном городе — Висбадене. Именно тут Достоевский прокутил все свое состояние.


          Казино в Висбадене

          Я же в принципе не азартен, поэтому намеревался просто пожить в Европе. Получить опыт работы в международной компании. Хотел вдоволь попутешествовать, благо до любой европейской достопримечательности можно легко доехать или долететь.
          Если вас интересуют подробности моего опыта путешествий, столкновения с немецкими порядками, ведения семейного бюджета — добро пожаловать под кат.
          Читать дальше →
        • Настройка маленького кластера Hadoop 2.2.0 с нуля



          В данной статье будет по шагам разобран процесс создания небольшого кластера Hadoop для опытов.

          Несмотря на то, что в интернете на иностранных ресурсах есть полно материала про настройку/развертывание Hadoop, большинство из них либо описывают настройку ранних версий (0.X.X и 1.X.X), либо описывают только настройку в режиме single mode/pseudo distributed mode и лишь частично fully distributed mode. На русском языке материала практически нет вовсе.

          Когда мне самому понадобился Hadoop, то я далеко не с первого раза смог все настроить. Материал был неактуален, часто попадались конфиги, которые используют deprecated параметры, поэтому использовать их нежелательно. А даже когда все настроил, то задавался многими вопросами, на которые искал ответы. Также встречались похожие вопросы у других людей.

          Всем кому интересно, прошу пожаловать по кат.
          Подробности
        • Тайм-менеджмент не поможет: прокрастинация это проблема регуляции эмоций, а не времени

          • Перевод

          От прокрастинации не избавиться, не разобравшись в её причинах.

          В этом деле я собаку съел, как и многие писатели. Когда мне нужно работать над задачей, а дедлайн уже близок, я буду делать всё что угодно — смотреть политические ток-шоу, подборки нокаутов МакГрегора, но не работать. В худшем случае я начинаю чувствовать себя слегка сумасшедшим: «Ты должен работать, — говорю я себе, — так чем же ты опять занят?!»
          Читать дальше →
        • 5 способов полезного использования Raspberry Pi. Часть третья

            Привет, Хабр.

            Во второй части были рассмотрены 5 способов использования Raspberry Pi. И как оказывается, этот микрокомпьютер способен ещё на большее. Сейчас мы рассмотрим еще 5, надеюсь, не менее интересных возможностей Raspberry Pi.



            Как и в предыдущей части, будут рассмотрены способы, не требующие программирования.
            Продолжение под катом.
            Читать дальше →
          • Как программисту переехать в Нидерланды

              Disclaimer: Эта статья была начата еще летом. Не так давно на хабре был всплеск статей на тему поиска работы за рубежом и переезда. Каждая из них придавала моей пятой точке некоторое ускорение. Что в итоге заставило меня перебороть свою лень и сесть написать, а точнее дописать, очередную статью. Часть материала может повторять статьи других авторов, но с другой стороны, у каждого свои фломастеры.



              Итак, перед вами часть третья, и на данный момент последняя, о похождениях блудного попугая программиста. В первой части я уехал жить и работать на Кипр. Во второй части я пытался устроиться в Google и переехать в Швейцарию. В третьей части (вот этой самой) я устроился на работу и переехал в Нидерланды. Сразу скажу, что про поиск работы будет мало, так как его фактически не было. В основном будет про обустройство и жизнь в Нидерландах. В том числе про детей и покупку дома, что не было подробно описано в недавних статьях других авторов.
              Так что кому интересно, прошу под кат.
            • Python — помощник в поиске недорогих авиабилетов для тех, кто любит путешествовать

              • Перевод
              Автор статьи, перевод которой мы публикуем сегодня, говорит, что её цель — рассказать о разработке веб-скрапера на Python с использованием Selenium, который выполняет поиск цен на авиабилеты. При поиске билетов используются гибкие даты (+- 3 дня относительно указанных дат). Скрапер сохраняет результаты поиска в Excel-файле и отправляет тому, кто его запустил, электронное письмо с общими сведениями о том, что ему удалось найти. Задача этого проекта — помощь путешественникам в поиске наиболее выгодных предложений.



              Если вы, разбираясь с материалом, почувствуете, что потерялись — взгляните на эту статью.
              Читать дальше →
            • О простых вещах-сложно. «Cпящая сталь». Чем смазать заржавевшие болты или Не WD-40 единым…

              • Tutorial
              Посвящается всем отчаявшимся и потерявшим надежду… открутить заржавевшую гайку!

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

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

              Ну и, традиционно — не забудь закинуть в закладки, %USERNAME%, пригодится! :)


              Читать дальше →
            • IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там

              Поехать работать в Австралию или Таиланд, когда тебе 25 и нет семьи, не так и сложно. И таких историй большое количество. А вот переехать, когда тебе под 40, жена и трое детей (8 лет, 5 лет и 2 года) — задача другого уровня сложности. Поэтому хочу поделиться своим опытом переезда в Германию.



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


              Итак, 2015 год, мы с семьей живем в Санкт-Петербурге на съемной квартире. Долго думали, как нам переезжать, что делать со школой, местами в садике и съемной квартирой. Нами было принято несколько важных решений:

              Читать дальше →
            • Как стать Java разработчиком за 1,5 года

                Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



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


                Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

                Читать дальше →
              • Максимально вырожденная игра на общение



                  Сразу скажу, эта штука просто офигенна для небольшой вечеринки, и сделать её можно прямо прочитав пост. Я крайне удивлён, что такая штука до сих пор не продавалась в России. И, кажется, знаю, почему.

                  Потому что она настолько тривиальна, что это сложно представить.

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

                  Задача — найти максимально вырожденную игру, которая работает только на общение. Сначала я думал, что встретил её в Южной Африке на обучении — мы играли в классическую «две правды и ложь».

                  Но, оказывается, можно ещё проще. И с совершенно убойным результатом.
                  Читать дальше →
                • Настройка rsyslog для сбора логов по сети через шифрованное соединение

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

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

                    image


                    Изображение с сайта oxygen-icons.org


                    Задача


                    Передавать лог-файлы на центральный сервер:


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

                    Условия: в инфраструктуре используются только Linux-сервера.

                    Читать дальше →
                  • Джентльменский набор сисадмина

                      Админ — это тот человек, без которого ничего в ИТ-компании не заработает. А со счастливым и продуктивным админом, дело будет двигаться лучше и быстрее, поэтому комфортная рабочая атмосфера — забота компании. О том, с помощью каких инструментов сделать команду продуктивной, был доклад Антона Турецкого (banuchka) на Highload++ 2017.

                      Антон любит инфраструктурные задачи и автоматизацию всего, что можно автоматизировать, поэтому его рассказ основан на примере настройки инфраструктуры в дата-центре и сопутствующих технологиях (Docker, Consul, Puppet...). Но аспекты, мешающие качественной работе и способы их решения максимально универсальны и подходят практически для любой исполнительной команды. Так что милости просим под кат за расшифровкой этого доклада.



                      Badoo с каждым годом растет, вот несколько чисел, которые это отражают: 350 млн сообщений в сутки, 364 млн зарегистрированных пользователей по всему миру, 300 тысяч новых пользователей в день. Но это далеко не самое главное, для человека, который в Badoo работает, главное — это в первую очередь образ мышления и команда. Badoo — это семья, это про людей и это круто!

                      Хочу начать с провокации, которую, возможно, кто-то не поддержит:

                      Админ — это главный человек в компании!

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


                      Читать дальше →
                    • Создание, настройка и использование собственного Git-сервера

                      • Перевод
                      Материал, перевод которого мы сегодня публикуем, посвящён настройке Git-серверов. Git — это система управления версиями, разработанная Линусом Торвальдсом. Git пользуются миллионы людей во всём мире. Компании, вроде GitHub, предлагают службы хостинга кода, основанные на Git. По информации, которую можно найти в различных публикациях, GitHub является крупнейшим сервисом для хостинга IT-проектов. В частности, в 2017-м году сообщество GitHub достигло 24 миллионов разработчиков, которые трудятся над 67 миллионами репозиториев. В наши дни GitHub пользуются абсолютно все — от программистов-одиночек, до крупных организаций. Надо сказать, что даже компания Google перешла на GitHub, закрыв собственный проект схожей направленности.

                      image
                      Читать дальше →
                    • Новогодние подарки, часть первая: Meltdown

                        Да, я знаю, что это уже третий материал на GT/HH по данной проблеме.

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

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

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

                        К счастью, подвержены они ей в разной степени. К несчастью, самый серьёзный удар пришёлся на самые распространённые процессоры — Intel, причём затронул он абсолютно все выпускающиеся и практически все эксплуатируемые (единственным исключением являются старые Atom, выпущенные до 2013 года) процессоры этой компании.
                        Читать дальше →
                      • Новогодние подарки, часть вторая: Spectre

                          Часть первая: Meltdown.

                          Несмотря на всю мощь уязвимости Meltdown, принесённое этим Новым годом счастье не было бы полным, если бы не вторая часть открытия, не ограничивающаяся процессорами Intel — Spectre.

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

                          Строго говоря, Spectre не является одной уязвимостью — уже на старте заявлены два различных механизма (CVE-2017-5753 и CVE-2017-5715), а авторы отмечают, что может быть ещё и много менее очевидных вариантов.

                          В основе своей Spectre похожа на Meltdown, так как также базируется на том факте, что в ходе спекулятивного выполнения кода процессор может выполнить инструкции, которые он не стал бы выполнять при условии строго последовательного (неспекулятивного) вычисления, и, хотя в дальнейшем результат их выполнения отбрасывается, его отпечаток остаётся в процессорном кэше и может быть использован.
                          Читать дальше →