Pull to refresh
0
0
Send message

Nomad: проблемы и решения

Reading time9 min
Views35K

Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах Европы) и второй рабочий (порядка 40 приватных виртуальных и физических серверов в двух датацентрах).


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



Ямальский кочевник делает Continous Delivery инстанса вашего ПО © National Geographic Россия

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments6

Состоялся релиз Metasploit Framework 5.0

Reading time3 min
Views15K
image
 
Metasploit Framework — это наиболее известный инструмент для создания, тестирования и использования эксплоитов. Позволяет производить эксплуатацию и постэксплуатацию уязвимостей, доставку «полезной нагрузки» (payloads) на атакуемую цель.

Metasploit Framework 5.0 — наиболее крупное обновление фреймворка с 2011 года.
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments3

HL 2018. Конспект доклада «Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем»

Reading time19 min
Views21K

Passwords are like underwear


Привет, Хабр! Меня зовут Ахмадеев Ринат, я Sr. PHP developer.


Представляю вашему вниманию конспект доклада Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем от Алексея Ермишкина из Virgil Security с HighLoad++ 2018.


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


В докладе рассматриваются способы защиты паролей начиная от хешей и заканчивая более современными подходами, такими как Facebook's password Onion, Sphinx и Pythia. В самом конце рассматривается новый Simple Password-Hardened Encryption Services (PHE).


Мне так понравился доклад, что я подготовил конспект. Всем рекомендую к ознакомлению.

Total votes 55: ↑55 and ↓0+55
Comments29

Практические советы, примеры и туннели SSH

Reading time13 min
Views209K

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

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments29

Бессерверный REST API «на коленке за 5 минут»

Reading time8 min
Views20K
Привет, Хабр! Сегодня продолжим разговор о возможностях, которые предоставляет нам Amazon Web Services и о том, как эти возможности использовать в решении прикладных задач.

На простом примере рассмотрим создание буквально за несколько минут собственного бессерверного автомасштабируемого REST API с разбором кейса — получения списка для ресурса.

Интересно? Тогда заходим под кат!


(Источник)
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments26

Пишем собственную виртуальную машину

Reading time24 min
Views54K
В этом руководстве я расскажу, как написать собственную виртуальную машину (VM), способную запускать программы на ассемблере, такие как 2048 (моего друга) или Roguelike (моя). Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера и как работают языки программирования, то этот проект для вас. Написание собственной виртуальной машины может показаться немного страшным, но я обещаю, что тема удивительно простая и поучительная.

Окончательный код составляет около 250 строк на C. Достаточно знать лишь основы C или C++, такие как двоичная арифметика. Для сборки и запуска подходит любая Unix-система (включая macOS). Несколько API Unix используются для настройки ввода и отображения консоли, но они не являются существенными для основного кода. (Реализация поддержки Windows приветствуется).

Примечание: эта VM — грамотная программа. То есть вы прямо сейчас уже читаете её исходный код! Каждый фрагмент кода будет показан и подробно объяснён, так что можете быть уверены: ничего не упущено. Окончательный код создан сплетением блоков кода. Репозиторий проекта тут.
Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments28

Вопросы не мальчика, а джуна. 22 вопроса работодателю на собеседовании на позицию «Middle Python-разработчик»

Reading time10 min
Views67K
image

Введение


За 2 года мне посчастливилось посетить более сорока собеседований в качестве кандидата на позицию «Middle Python-разработчик». На последних пятнадцати собеседованиях я понял необходимость задавать вопросы работодателю, чтобы в дальнейшем не столкнуться с неожиданностями по работе. Помимо базовых вопросов, которые обычно задают кандидаты работодателю я решил сформировать свои вопросы. Когда я задавал эти вопросы на собеседованиях, я получал самые различные реакции со стороны собеседующих. Кто-то говорил, что я дотошный, кто-то считал эти вопросы слишком банальными, а кто-то даже начинал нервничать(краснеть) и немедленно прерывать собеседование с нелепой отговоркой о том, что у него совещание. В этой статье я хотел бы рассказать об общих идеях посещения таких мероприятий а также привести мои 22 вопроса, которые я задаю на собеседовании работодателю.
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Comments132

Да пребудет с нами сила: собственный иммунитет против рака

Reading time12 min
Views34K
За последние десятилетия наука заметно продвинулась вперед в лечении рака, и хотя мы все еще довольно далеки от полной победы над этим страшным заболеванием – у врачей становится все больше инструментов, чтобы разрушать опухоли или ограничивать их рост. Главное – они дают онкологическим пациентам возможность жить все дольше.

Один из таких инструментов – это активизация собственного иммунитета человека для борьбы с раковыми клетками. Есть целое направление, посвященное этому – иммуноонкология. На ней сосредоточено очень много внимания, именно в этой области сегодня проводится больше всего исследований и разрабатываются самые многообещающие лекарства.
Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments37

Конференция DEFCON 18. Вы потратили все эти деньги, но вас продолжают «иметь». Часть 1

Reading time10 min
Views8.8K
Как обычно, как и в прошлом году, я не могу поверить, что люди действительно приходят на мои презентации послушать, что я рассказываю. В прошлом году это было в воскресенье, в 10 утра, я был в состоянии похмелья и думал, что никто не придёт на меня посмотреть.



Сегодня снова воскресенье, 4 часа дня, сегодня я хотел лететь домой, но, не смотря на это, я благодарю вас и действительно ценю ваше внимание, как и в прошлом году, и я чертовски люблю таких людей и DefCon.

Тема презентации – Вы потратили все эти деньги, но вас продолжают «иметь». Я провёл множество испытаний на проникновение, был во множестве стран, где занимался пентестингом, и везде боролся с разными средствами защиты типа файрволов, AWS и систем обнаружения вторжений IDS и MAC. Мы все еще даем им взбучку, и это очень плохо. Часто, когда я провожу тестирование, мой отчет превращается в сообщение об инцидентах, и хочется сказать: «эй, чувак, но ты же владелец всего этого, как можно пользоваться таким отстоем»? Этому была посвящена целая тема, но давайте я сначала расскажу, кто я такой.
Total votes 21: ↑21 and ↓0+21
Comments6

Бессерверный статический сайт с помощью IPFS

Reading time5 min
Views27K
TL;DR: IPFS позволяет хостить статические сайты распределённо, доступ к которым можно осуществлять через публичные кеширующие гейты (прозрачные реверс-прокси) в интернете, без необходимости устанавливать программу посетителю. Такие сайты можно раздавать без маршрутизируемого («белого») статического IP-адреса (будет работать за NAT), они остаются работоспособными при кратковременном (несколько часов) отсутствии раздающих, за счет кеша на гейтах. К гейтам по желанию можно привязать свой домен, причём добавить DNS-записи можно на несколько гейтов одновременно, для повышения надёжности и балансировки нагрузки. Сайт могут скачать другие пользователи IPFS и помочь с раздачей.
IPFS отлично подходит для статических блогов, простых сайтов, файловых архивов (в качестве замены Bittorrent), а также просто для единовременной передачи больших файлов без предварительной загрузки их на какой-либо сервис.

Что такое IPFS?

IPFS — децентрализованная пиринговая система передачи файлов, по принципу работы похожая на BitTorrent, но с возможностью доступа через HTTP, для Web. Все скачиваемые пользователем файлы временно кешируются IPFS-демоном и раздаются другим пользователям, запрашивающим их. Важные файлы можно «прикрепить» (pin) к IPFS-демону, тогда они не исчезнут из кеша.
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments32

Как генерировать осмысленные коммиты. Применяем стандарт Conventional Commits

Reading time8 min
Views117K


Привычный хаос в названиях коммитов. Знакомая картина?

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

Меня зовут Ержан Ташбенбетов, я работаю в одной из команд Яндекс.Маркета. И сегодня я расскажу читателям Хабра, какие инструменты для создания осмысленных коммитов мы используем в команде. Приглашаю присоединиться к обсуждению этой темы.

Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments84

Бэкап для Linux, или как создать снапшот

Reading time12 min
Views36K
Всем привет! Я работаю в Veeam над проектом Veeam Agent for Linux. С помощью этого продукта можно бэкапить машину с ОС Linux. «Agent» в названии означает, что программа позволяет бэкапить физические машины. Виртуалки тоже бэкапит, но располагается при этом на гостевой ОС.

Вдохновением для этой статьи послужил мой доклад на конференции Linux Piter, который я решил оформить в виде статьи для всех интересующихся хабражителей.

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

Всех заинтересовавшихся прошу под кат!


Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments5

Hasura. Архитектура высокопроизводительного GraphQL to SQL сервера

Reading time6 min
Views26K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Architecture of a high performance GraphQL to SQL engine».

Это перевод статьи про то, как устроен изнутри и какие оптимизации и архитектурные решения несет в себе Hasura — высокопроизводительный легковесный GraphQL сервер, выступающий прослойкой между вашим веб-приложением и базой данных PostgreSQL.

Он позволяет генерировать GraphQL схему на основе существующей базы данных или создать новую. Поддерживает GraphQL Subscriptions из коробки на основе Postgres-триггеров, динамический контроль прав доступа, автоматическую генерацию join’ов, решает проблему N+1 запросов (batching) и многое другое.

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments6

Wrong, wrong, WRONG! methods of DDoS mitigation

Reading time5 min
Views7.8K
Хабр, это транскрипция выступления CTO Qrator Labs Тёмы ximaera Гавриченкова на RIPE77 в Амстердаме. Его название мы не смогли перевести на русский с сохранением смысла, а потому решили посодействовать Хабру в выходе на англоязычный рынок и оставили все, как есть


Это цитата одной из моих любимых групп. Дэйв Гаан из Depeche Mode — живое доказательство того, что можно произнести слово “wrong” 65 раз за 5 минут и все равно оставаться рок-звездой. Давайте посмотрим, получится ли у меня.
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments2

DDD, Hexagonal, Onion, Clean, CQRS… как я собрал всё это вместе

Reading time14 min
Views99K


Эта статья — часть «Хроники архитектуры программного обеспечения», серии статей об архитектуре ПО. В них я пишу о том, что узнал об архитектуре программного обеспечения, что я думаю об этом и как использую знания. Содержание этой статьи может иметь больше смысла, если вы прочитаете предыдущие статьи в серии.

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

С тех пор я всегда чувствовал, что мне нужно восстановить «потерянное» время и узнать как можно больше, как можно быстрее. Поэтому я стал немного увлекаться экспериментами, много читать и писать, уделяя особое внимание дизайну и архитектуре программного обеспечения. Вот почему я пишу эти статьи, чтобы помочь себе в обучении.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments14

Зацените: сделал стол

Reading time6 min
Views145K


TL;DR В статье описывается мой опыт постройки стола c нуля из фанеры. От проектирования до сборки.

Я очень долго страдал от плохих столов. Все они неудобные, плохого качества, маленькие и, самое главное, ШАТКИЕ. Более-менее приличные столы стоили тысячи долларов. В итоге я решил изготовить стол самостоятельно.

Основные требования к столу:

  • Устойчивость! Предметы на столе не должны трястись, если резко положить руки на стол или оттолкнуться от него. Мой стол весит ~120кг. С его края можно делать сальтухи, при этом на другом конце паять SMD компоненты.
  • Ширина и глубина столешницы. Столы шириной 60 см — это унижение. Мне нужно иметь запас по глубине, чтобы можно было отодвинуть ноутбук вперед, и при этом получить достаточное рабочее пространство.
  • Вместительность. Мне нужны полки, чтобы разместить там оборудование: паяльники, лабораторный блок питания, осциллограф, аудио усилитель и т.д. При этом полки должны быть так же устойчивы, как и стол.
  • Цена. Я не готов выложить за стол несколько тысяч долларов. Мой стол обошелся в ~$300 с учётом покупки всего инструмента для сборки и покраски.
Total votes 261: ↑250 and ↓11+239
Comments559

Сертификация CISSP: Howto

Reading time21 min
Views82K
Привет, Хабравчане!

Недавно я сдал одну из топовых сертификаций в области информационной безопасности: Certified Information Systems Security Professional или кратко CISSP. В процессе подготовки я по крупицам собирал от коллег, а также по разным форумам и сайтам полезную информацию о сертификации и экзамене. «А ведь это может кому-то пригодиться!» подумал я, разбираясь на рабочем столе, и убрал палец с кнопки Delete.
Под катом я расскажу о своем опыте подготовки и поделюсь советами и приемами, которые проверил на себе. Надеюсь, этот материал поможет вам лучше понять, что такое CISSP и стоит ли его сдавать, а также сэкономить драгоценное время в процессе подготовки.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments33

Google Public DNS тихо включили поддержку DNS over TLS

Reading time4 min
Views94K


Внезапно, без предварительного анонса, на 8.8.8.8 заработал DNS over TLS. Ранее Google анонсировал только поддержку DNS over HTTPS.

Публичный резолвер от компании CloudFlare с IP-адресом 1.1.1.1 поддерживает DNS over TLS с момента запуска проекта.

Зачем это нужно


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

C DNS over TLS/HTTPS запросы посылаются внутри зашифрованного тоннеля так, что провайдер не может подменить или просмотреть запрос.

А с приходом шифрования имени домена в сертификатах X.509 (ESNI) станут невозможны блокировки через DPI по SNI (Server Name Indication, специальное поле, в котором передается имя домена в первом TLS-пакете), которые сейчас применяются у некоторых крупных провайдеров.

Как это работает


На порт TCP:853 выполняется TLS-подключение, при этом проверка сертификата резолвера происходит с использованием системных корневых сертификатов, точно так же, как HTTPS в браузере. Это избавляет от необходимости добавлять какие-либо ключи вручную. Внутри тоннеля выполняется обычный DNS-запрос. Это создает меньше накладных расходов по сравнению с DNS over HTTPS, который добавляет HTTP-заголовки к запросу и ответу.

К сожалению, на текущий момент только в Android 9 (Pie) поддержка DNS over TLS встроена в системный резолвер. Инструкция по настройке для Android 9.

Для остальных систем предлагается использовать сторонний демон, а системный резолвер направлять на localhost (127.0.0.1).

Настройка на macOS


Разберем настройку DNS over TLS на последней версии macOS, на примере резолвера knot
Читать дальше →
Total votes 105: ↑101 and ↓4+97
Comments147

Нейрогарнитура на каждый день — как ее делают, зачем она нужна и во что нас превратит

Reading time15 min
Views18K


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

Мой собеседник — Александр Смирнов (Bioalex), основатель минского стартапа CleverPoint.

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

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

Перед разговором я попытался понять, для чего именно применяется их продукт. Целей оказалось подозрительно много. Какие из них главные — мысленное управление девайсами? Контроль за состоянием мозга? Исследования, сбор данных?

В итоге наш разговор, как и шутка со стартапом, зашел слишком далеко. Мы залезли не только в мозг, но и в противоречивые этические проблемы, и в будущее, где человечество, кажется, ждет пара-тройка нелегких испытаний.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments18

Принципы SOLID, о которых должен знать каждый разработчик

Reading time11 min
Views322K
Объектно-ориентированное программирование принесло в разработку ПО новые подходы к проектированию приложений. В частности, ООП позволило программистам комбинировать сущности, объединённые некоей общей целью или функционалом, в отдельных классах, рассчитанных на решение самостоятельных задач и независимых от других частей приложения. Однако само по себе применение ООП не означает, что разработчик застрахован от возможности создания непонятного, запутанного кода, который тяжело поддерживать. Роберт Мартин, для того, чтобы помочь всем желающим разрабатывать качественные ООП-приложения, разработал пять принципов объектно-ориентированного программирования и проектирования, говоря о которых, с подачи Майкла Фэзерса, используют акроним SOLID.



Материал, перевод которого мы сегодня публикуем, посвящён основам SOLID и предназначен для начинающих разработчиков.
Читать дальше →
Total votes 42: ↑33 and ↓9+24
Comments33

Information

Rating
Does not participate
Registered
Activity