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

User

Send message

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

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

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

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

image

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

Время близилось ко сну когда раздался звонок телефона: «Сань, ты не глянешь мой сервер? Мне кажется меня хакнули, доказать не могу, но ощущение не покидает уже третью неделю. Может мне просто пора лечиться от паранойи?»
Читать дальше →
Total votes 399: ↑393 and ↓6+387
Comments73

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

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



Если перейти на битовый уровень, можно увидеть, что маска подсети состоит из серии единиц, обозначающих сетевую часть, и серии нулей, которые обозначают часть хоста. Обратная маска очень похожа на маску подсети, только в «перевернутом» виде – там, где в маске подсети имеются единицы, в обратной маске находятся нули, и наоборот. Это не является обязательным правилом – в отдельных случаях обратная маска формируется по другому принципу, на при изучении CCNA это правило действует всегда.
Total votes 21: ↑20 and ↓1+19
Comments0

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

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

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

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

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


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

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments19

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

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


Фавикон
Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments14

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

Reading time5 min
Views14K
Основной задачей проекта является мониторинг температуры в теплице удаленной от дома на 11-15 метров. Без возможности организации прокладки UTP и питания до нее.
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments26

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

Reading time9 min
Views5.7K

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


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


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


Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments4

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

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

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


Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments17

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

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



Обычно, когда вы печатаете команду switchport mode access, она относится к настройке VLAN. Однако в данный момент вы можете не беспокоится о VLAN, лучше сосредоточьтесь на режимах портов. Итак, этот режим используется для соединения конкретного порта свитча с конечным устройством пользователя.
Total votes 14: ↑13 and ↓1+12
Comments9

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

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



Если мы хотим назначит IP-адрес шлюза по умолчанию, то должны использовать команду ip default gateway 10.1.1.100.
Total votes 23: ↑20 and ↓3+17
Comments2

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

Reading time8 min
Views43K
Моя статья будет полезна тем, кто только задумывается над подобного рода системой, поможет определиться делать ли самому и ориентирована в основном на энтузиастов-колхозников. Изначально пишу “автоматика” а не умный дом, потому что на данном этапе умных функций в моей системе управления нет, сейчас стояла задача в сборе данных и управлении устройствами. Всё должно измениться в будущем, когда появятся алгоритмы, которые и сделают дом умным. С моей точки зрения, если вы можете включать свет со смартфона, то это не делает ваш дом умным. Умным он становится когда у вас написаны сценарии, которые помогают вам, облегчают контроль за домом и делают рутинные вещи незаметными для вас. Например, включить свет на крыльце, когда уровень освещённости ниже какого-либо порога, и выключить в два ночи, не включать полив если сегодня обещают осадки с вероятностью больше 60 процентов, если появилось движение в комнате то включить подсветку лестницы и т.д. И только в этом случае он становится “умным”.
Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments66

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

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



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

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

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

Мы посмотрели на наш существующий плагин, который был, по сути, статическим анализатором и формировал документацию на основе описанных в .feature-файлах сценариев. Решили добавить динамики, и для того, чтобы не городить плагин над плагином, приняли решение написать свой собственный.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments0

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

Reading time7 min
Views19K


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


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


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


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

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

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

Reading time9 min
Views78K


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

Надежность и скорость работы дисковых накопителей — вопрос, волнующий каждого системного администратора. Несмотря на заверения производителей о качестве собственных устройств — HDD и SSD продолжают выходить из строя в самое неподходящее время, теряя драгоценные данные. Технология S.M.A.R.T. в большинстве случаев дает возможность оценить «здоровье» накопителя, но это не гарантирует того, что диск будет продолжать беспроблемно работать.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments17

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

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



Разница между ними очень проста, и существует одна важная вещь, о которой вы должны узнать, прежде чем погрузиться в реальный мир нетворкинга. Разрешите мне взять ручку и нарисовать на этой карте маршрут из Дубая в Нью-Йорк. То, что я нарисовал – это не наземное путешествие, а авиаперелет. Логически вы просто совершаете путешествие из Дубая в Нью-Йорк, но физически все не так просто – сначала вы должны отправиться в аэропорт и взять билет. Вы можете забронировать его онлайн или купить в кассе, можете использовать для покупки кредитную карту или наличку, вы можете отправиться в аэропорт на такси или на собственной машине и оставить её в аэропорту. Затем ваш билет должны проверить, вы должны пройти таможенный контроль, то есть вам придется проделать множество разных вещей, прежде чем попасть на борт самолета. После этого вы перелетите в Нью-Йорк, и там повторится похожая процедура – прохождение контроля, получение багажа, вы можете нанять такси или попросить друзей, чтобы они забрали вас из аэропорта, чтобы наконец добраться до пункта назначения. Вот так можно представить разницу между логической и физической топологией сети.
Total votes 20: ↑19 and ↓1+18
Comments2

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

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



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

Мы уже обсуждали случай, когда вы хотите помочь своему коллеге и используете удаленный рабочий стол. Вы подключаетесь к его компьютеру, вносите изменения, но если вы захотите, чтобы ваш друг перезагрузил компьютер, то вы потеряете доступ и не сможете наблюдать, что происходит на экране в момент загрузки. Эта проблема возникает, если у вас нет внешнего доступа к этому устройству и вы связаны с ним только по сети.
Total votes 20: ↑17 and ↓3+14
Comments8

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

Reading time5 min
Views53K


Мне довольно часто встречаются разработчики, которые не слышали о принципах SOLID (мы подробно рассказывали о них здесь. — Пер.) или объектно-ориентированного программирования (ООП), или слышали, но не используют их на практике. В этой статье описываются преимущества принципов ООП, которые помогают разработчику в его ежедневном труде. Некоторые из них хорошо известны, другие — не очень, так что статья будет полезна и новичкам, и уже опытным программистам.
Читать дальше →
Total votes 57: ↑36 and ↓21+15
Comments26

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

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

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

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



Под катом будет несколько вариантов создания таких библиотек — как в виде кода, так и утилитами.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments21

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

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

В прошлую среду я потерял более 100000 долларов. Деньги испарились в течение 24 часов в результате «атаки на порт SIM-карты», которая вычистила мой счёт на Coinbase. С тех пор прошло четыре дня, и я опустошён. У меня нет аппетита; я не могу заснуть; я наполнен чувствами тревоги, совести и стыда.
Читать дальше →
Total votes 81: ↑71 and ↓10+61
Comments236

Анонсирован 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
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments3

Information

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