Pull to refresh
0
0
Андрей @Duss

User

Send message

Когда 'a' не равно 'а'. По следам одного взлома

Reading time6 min
Views113K
Пренеприятнейшая история случилась с одним моим знакомым. Но насколько она оказалась неприятной для Михаила, настолько же занимательной для меня.

Надо сказать, что приятель мой вполне себе UNIX-пользователь: может сам поставить систему, установить mysql, php и сделать простейшие настройки nginx.
И есть у него десяток-полтора сайтов посвященных строительным инструментам.

Один из таких сайтов, посвященный бензопилам, плотненько сидит в ТОПe поисковиков. Сайт этот — некоммерческий обзорник, но кому-то поперек горла и повадились его атаковать. То DDoS, то брутфорс, то комменты напишут непотребные и шлют абузы на хостинг и в РКН.
Неожиданно всё стихло и это затишье оказалось не к добру, а сайт начал постепенно покидать верхние строчки выдачи.

image

То была присказка, дальше сама админская байка.

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

Тренинг Cisco 200-125 CCNA v3.0. День 28. Углубленное изучение AСL

Reading time16 min
Views9.2K
Сегодня мы продолжим тему видеоурока 27-го дня и займемся углубленным изучением ACL: мы немного поговорим об обратной маске Wildcard Mask, расширенном списке ACL, настройке расширенного списка ACL и командах, помогающих диагностировать неполадки в дизайне сети.
На предыдущем уроке мы познакомились с новой для нас концепции обратной маски, и сейчас я расскажу о Wildcard Mask более подробно. Если вы помните, маска подсети помогает нам визуально разделить сеть на адресную часть сети и адресную часть хоста.



Если перейти на битовый уровень, можно увидеть, что маска подсети состоит из серии единиц, обозначающих сетевую часть, и серии нулей, которые обозначают часть хоста. Обратная маска очень похожа на маску подсети, только в «перевернутом» виде – там, где в маске подсети имеются единицы, в обратной маске находятся нули, и наоборот. Это не является обязательным правилом – в отдельных случаях обратная маска формируется по другому принципу, на при изучении CCNA это правило действует всегда.

Очень много YouTube-каналов для прокачки английского языка для программистов

Reading time4 min
Views61K
Привет, Хабр!

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

Добавляйте в закладки и подписывайтесь на меня!
Дальше вас ждет много крутых статей.

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

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

Разработка анимированных фавиконов

Reading time5 min
Views28K
Это — первое, что ищут взглядом, когда переключаются между вкладками браузера. Только что мы дали одно из возможных описаний того, что называется «фавиконом». Пространство на экране, которое занимает ярлык вкладки веб-страницы — это гораздо более ценный ресурс, чем многие думают. Если хорошо поработать с ярлыком, то он, помимо того, что будет продолжать играть роль идентификатора страницы, может стать чем-то вроде «доски объявлений», которая сообщает о том, что именно происходит на странице.


Фавикон
Читать дальше →

Датчик температуры и влажности на ардуино с отправкой и отрисовкой графика (Часть1)

Reading time5 min
Views14K
Основной задачей проекта является мониторинг температуры в теплице удаленной от дома на 11-15 метров. Без возможности организации прокладки UTP и питания до нее.
Читать дальше →

Как мы пробивали Великий Китайский Фаервол (ч.3)

Reading time9 min
Views6.1K

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


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


Я расскажу вам, как мы тестировали Alibaba Cloud CDN, Tencent Cloud CDN и Akamai, и на чем в итоге остановились. Ну и конечно, подведем итог.


Читать дальше →

Как воспитать свое сообщество, чтобы не танцевать с бубном

Reading time9 min
Views12K
Сейчас все говорят про сообщества. Это модно, классно, но мало кто знает, что с ними делать и как их создавать. Собрать всех в чатик и сказать «теперь вы сообщество» недостаточно. Я расскажу про механику создания внутренних сообществ, про культуру и воспитание участников и про то, как сообщества могут помогать закрывать потребности организации.

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


Читать дальше →

Тренинг Cisco 200-125 CCNA v3.0. День 10. Режимы работы портов свитча

Reading time9 min
Views15K
Сегодня мы рассмотрим режимы портов свитча и функции свитча. Свитч имеет два режима работы: Access, или статический доступ, и Trunk – режим туннельной магистрали. Первый режим используется, когда вы подсоединяете к порту свитча какое-либо конечное устройство. Если вы подсоединяете к свитчу свой персональный компьютер или ноутбук, его порт работает как Access-порт. Для того, чтобы установить этот режим, в настройках свитча необходимо использовать команду switchport mode access. Из наших видеоуроков вы уже знаете, что когда командная строка имеет вид (config-if)#, это означает, что интерфейс свитча в данном случае обозначается как f0/1 или g0/1. Таким образом, у нас имеется подкоманда интерфейса свитча, и её можно использовать для любого другого порта.



Обычно, когда вы печатаете команду switchport mode access, она относится к настройке VLAN. Однако в данный момент вы можете не беспокоится о VLAN, лучше сосредоточьтесь на режимах портов. Итак, этот режим используется для соединения конкретного порта свитча с конечным устройством пользователя.

Тренинг Cisco 200-125 CCNA v3.0. День 9. Физический мир свитчей. Часть 2

Reading time9 min
Views7.5K
Итак, мы рассмотрели, как настроить сеть на компьютере. Что же касается свитча, напомню, что он является устройством 2 уровня модели OSI, а мы должны сконфигурировать IP-адрес, который относится к 3-му уровню. Для этого мы используем управление IP-адресом и переходим к интерфейсу VLAN1. Мы рассмотрим VLAN подробно в одном из следующих видеоуроков, пока что просто запомните, что у нового свитча «из коробки» все порты настроены на использование VLAN1. Поэтому, чтобы присвоить свитчу IP-адрес 10.1.1.10, мы обращаемся к этому интерфейсу.



Если мы хотим назначит IP-адрес шлюза по умолчанию, то должны использовать команду ip default gateway 10.1.1.100.

Автоматика для дома своими руками

Reading time8 min
Views44K
Моя статья будет полезна тем, кто только задумывается над подобного рода системой, поможет определиться делать ли самому и ориентирована в основном на энтузиастов-колхозников. Изначально пишу “автоматика” а не умный дом, потому что на данном этапе умных функций в моей системе управления нет, сейчас стояла задача в сборе данных и управлении устройствами. Всё должно измениться в будущем, когда появятся алгоритмы, которые и сделают дом умным. С моей точки зрения, если вы можете включать свет со смартфона, то это не делает ваш дом умным. Умным он становится когда у вас написаны сценарии, которые помогают вам, облегчают контроль за домом и делают рутинные вещи незаметными для вас. Например, включить свет на крыльце, когда уровень освещённости ниже какого-либо порога, и выключить в два ночи, не включать полив если сегодня обещают осадки с вероятностью больше 60 процентов, если появилось движение в комнате то включить подсветку лестницы и т.д. И только в этом случае он становится “умным”.
Читать дальше →

Как оживить документацию?

Reading time3 min
Views7.5K
Наверное, каждой команде знакома эта боль — неактуальная документация. Как бы команда ни старалась, в современных проектах мы релизимся так часто, что описывать все изменения практически нереально. Наша команда тестирования совместно с системными аналитиками решили попробовать оживить нашу проектную документацию.



На web-проектах Альфа-Банка используется фреймворк для автоматизации тестирования Akita, который использует для BDD-сценарии. К настоящему моменту фреймворк набрал большую популярность благодаря низкому порогу входа, удобству использования и возможности тестировать верстку. Но мы решили пойти дальше — на основе описанных тестовых сценариев формировать документацию, тем самым сильно сокращая время которое аналитики тратят на на извечную проблему актуализации документации.

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

  • скриншоты;
  • значения переменных (config File, учетные записи пользователей и т.д.);
  • статусы и параметры запросов.

Мы посмотрели на наш существующий плагин, который был, по сути, статическим анализатором и формировал документацию на основе описанных в .feature-файлах сценариев. Решили добавить динамики, и для того, чтобы не городить плагин над плагином, приняли решение написать свой собственный.
Читать дальше →

Резервное копирование, часть 4: Обзор и тестирование zbackup, restic, borgbackup

Reading time7 min
Views21K


В данной статье будут рассматриваться программные средства для резервного копирования, которые путем разбиения потока данных на отдельные компоненты (chunks), формируют репозиторий.


Компоненты репозитория могут дополнительно сжиматься и шифроваться, а самое главное — при повторных процессах резервного копирования — переиспользоваться повторно.


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


Есть несколько подобных решений, я остановлюсь на 3: zbackup, borgbackup и restic.

Читать дальше →

Аппаратный RAID: особенности использования

Reading time9 min
Views89K


Организация единого дискового пространства — задача, легко решаемая с помощью аппаратного RAID-контроллера. Однако следует вначале ознакомиться с особенностями использования и управления таким контроллером. Об этом сегодня расскажем в нашей статье.

Надежность и скорость работы дисковых накопителей — вопрос, волнующий каждого системного администратора. Несмотря на заверения производителей о качестве собственных устройств — HDD и SSD продолжают выходить из строя в самое неподходящее время, теряя драгоценные данные. Технология S.M.A.R.T. в большинстве случаев дает возможность оценить «здоровье» накопителя, но это не гарантирует того, что диск будет продолжать беспроблемно работать.
Читать дальше →

Тренинг Cisco 200-125 CCNA v3.0. День 9. Физический мир свитчей. Часть 1

Reading time10 min
Views11K
В прошлом видеоуроке мы говорили о настройке свитчей, а сейчас рассмотрим, как они взаимодействуют с другими устройствами и как на практике соединяются друг с другом. Не будем тратить время и сразу же перейдем к теме сегодняшнего урока. В первую очередь я хочу рассказать о топологии: у нас имеются две различных топологии – физическая и логическая.



Разница между ними очень проста, и существует одна важная вещь, о которой вы должны узнать, прежде чем погрузиться в реальный мир нетворкинга. Разрешите мне взять ручку и нарисовать на этой карте маршрут из Дубая в Нью-Йорк. То, что я нарисовал – это не наземное путешествие, а авиаперелет. Логически вы просто совершаете путешествие из Дубая в Нью-Йорк, но физически все не так просто – сначала вы должны отправиться в аэропорт и взять билет. Вы можете забронировать его онлайн или купить в кассе, можете использовать для покупки кредитную карту или наличку, вы можете отправиться в аэропорт на такси или на собственной машине и оставить её в аэропорту. Затем ваш билет должны проверить, вы должны пройти таможенный контроль, то есть вам придется проделать множество разных вещей, прежде чем попасть на борт самолета. После этого вы перелетите в Нью-Йорк, и там повторится похожая процедура – прохождение контроля, получение багажа, вы можете нанять такси или попросить друзей, чтобы они забрали вас из аэропорта, чтобы наконец добраться до пункта назначения. Вот так можно представить разницу между логической и физической топологией сети.

Тренинг Cisco 200-125 CCNA v3.0. День 8. Настройка свитча

Reading time17 min
Views24K
Добро пожаловать в мир свитчей! Сегодня мы поговорим о коммутаторах. Предположим, что вы – сетевой администратор и находитесь в офисе новой компании. К вам подходит менеджер со свитчем «из коробки» и просит его настроить. Возможно, вы подумали, что речь идет об обычном электрическом выключателе (в английском языке слово switch обозначает и сетевой коммутатор, и электрический выключатель – прим. переводчика), но это не так – имеется в виду сетевой коммутатор, или свитч Cisco.



Итак, менеджер передает вам новый коммутатор Cisco, который снабжен множеством интерфейсов. Это может быть 8,16 или 24-х портовый свитч. В данном случае на слайде показан свитч, у которого спереди имеется 48 портов, разделенных на 4 секции по 12 портов. Как мы знаем из предыдущих уроков, сзади свитча имеется еще несколько интерфейсов, одним из которых является консольный порт. Консольный порт используется для внешнего доступа к устройству и позволяет увидеть, как происходит загрузка операционной системы свитча.

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

10 принципов объектно-ориентированного программирования, о которых должен знать каждый разработчик

Reading time5 min
Views54K


Мне довольно часто встречаются разработчики, которые не слышали о принципах SOLID (мы подробно рассказывали о них здесь. — Пер.) или объектно-ориентированного программирования (ООП), или слышали, но не используют их на практике. В этой статье описываются преимущества принципов ООП, которые помогают разработчику в его ежедневном труде. Некоторые из них хорошо известны, другие — не очень, так что статья будет полезна и новичкам, и уже опытным программистам.
Читать дальше →

Создание прокси-dll для проверок эксплуатации dll hijack

Reading time7 min
Views11K
Когда я исследую безопасность ПО, то одним из пунктов проверки является работа с динамическими библиотеками. Атаки типа DLL hijack («подмена dll» или «перехват dll») встречаются очень редко. Скорее всего, это связано с тем, что и разработчики Windows добавляют механизмы безопасности для предотвращения атак, и разработчики софта аккуратнее относятся к безопасности. Но тем интереснее ситуации, когда целевое ПО уязвимо.

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

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



Под катом будет несколько вариантов создания таких библиотек — как в виде кода, так и утилитами.
Читать дальше →

Самая дорогая ошибка в моей жизни: подробно об атаке на порт SIM-карты

Reading time5 min
Views93K
Привет, Хабр! Представляю вашему вниманию перевод статьи «The Most Expensive Lesson Of My Life: Details of SIM port hack» автора Sean Coonce.

В прошлую среду я потерял более 100000 долларов. Деньги испарились в течение 24 часов в результате «атаки на порт SIM-карты», которая вычистила мой счёт на Coinbase. С тех пор прошло четыре дня, и я опустошён. У меня нет аппетита; я не могу заснуть; я наполнен чувствами тревоги, совести и стыда.
Читать дальше →

Анонсирован ML.NET 1.0

Reading time5 min
Views7.8K
Недавно мы анонсировали выпуск ML.NET 1.0. ML.NET — это бесплатный, кроссплатформенный и открытый фреймворк машинного обучения, предназначенный для использования возможностей машинного обучения (ML) в приложениях .NET.

image

github.com/dotnet/machinelearning
Начать: dot.net/ml
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity