Pull to refresh
-1
0
Константин Абаев @dady_KK

ПМ

Send message

Ловушки для хакера. Обнаруживаем взлом на раннем этапе с помощью Canarytokens

Reading time7 min
Views32K
Honey Tokens (англ. — «медовые приметы/признаки/идентификаторы») одна из разновидностей идеи Honeypot, приманки для злоумышленников, позволяющей обнаружить факт взлома или опознать его источник. Когда атакующий уже проник в систему, он, скорее всего, выполнит действия, несвойственные обычному пользователю. Это можно использовать как способ обнаружения взлома. В статье мы рассмотрим, как легко сделать собственные триггеры для обнаружения взлома на раннем этапе. Такие ловушки полезно использовать системному администратору и даже обычному пользователю, переживающему о приватности своих данных.


До изобретения газоанализаторов шахтеры брали c собой в шахту канарейку. Из-за маленького организма и быстрого обмена веществ, птицы намного раньше реагировали на опасные газы в воздухе и предупреждали шахтеров.
Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments19

[Nginx] Как победить response_status = 0

Reading time2 min
Views7.2K
Статья из разряда «заметки на полях».

TL:DR:
http2_max_field_size 8k; # всех спасет!


На одном из проектов, после изменения некоторой внутренней логики бекенда, начал наблюдать странный response_code в логах, а именно — 0. В логах выглядит примерно так:

{
  "timestamp": "2020-01-17T08:41:51+00:00",
  "remote_addr": "zzz.zzz.zzz.zzz",
  "request_time": 0,
  "upstream_response_time": "",
  "upstream_header_time": "",
  "http_accept_language": "-language",
  "response_status": 0,
  "request": "",
  "host": "example.com",
  "upstream_addr": "",
  "http_referrer": "",
  "request_length": 5854,
  "bytes_sent": 0,
  "http_user_agent": ""
}
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments4

Модальные окна, которые мы заслужили

Reading time3 min
Views33K

Начнем


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

Многие зададут вопрос: «Почему не использовать готовые решения?». Проблема в том, что этот функционал либо вообще не реализован, либо сделан очень плохо. Можно использовать самое простое и плохое решение:
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments99

Как оценить уровень владения английским языком

Reading time4 min
Views124K


На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
Читать дальше →
Total votes 99: ↑95 and ↓4+91
Comments62

Опенсорс-хелпдеск как альтернатива Zendesk и Help Scout. Архитектура, дизайн и юзабилити

Reading time6 min
Views12K


Это перевод ряда статей из блога одного опенсорсного хелпдеска (и общего почтового ящика) на Laravel. История данного проекта — хороший пример того, как опенсорс-сообщество может не просто повторить, но и местами улучшить дизайн и функционал уже готового распиаренного коммерческого продукта, а также стимулировать его развитие и изменение к лучшему.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments5

Сравнение производительности инструментов обхода блокировок\VPN

Reading time8 min
Views53K
По мере того, как нам все активнее закрывают доступ к различным ресурсам в сети, все актуальнее становится вопрос обхода блокировок, а значит все актуальнее становится вопрос «А как же быстрее обходить блокировки?».

Оставим тему эффективности, с точки зрения обхода DPI\вайтлистов\блеклистов для другого случая, и просто сравним производительность популярных инструментов обхода блокировок.

Внимание: В статье под спойлерами будет много картинок.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments59

Накрутка показов на поиске Я. Директ: почему вы платите за клик в 1,5 раза больше

Reading time4 min
Views21K
В последний квартал я столкнулся с тем, что у всех моих клиентов по контекстной рекламе, работающих в высококонкурентных нишах, резко упал CTR (кликабельность объявлений) на поиске.

При дроблении на ключевые слова, устройства и группы объявлений причину выявить не удалось. Однако при разбитии кампаний на поиске на пол и возраст, выявилась заметная аномалия: группы людей с неопределенными демографическими характеристиками имеют до 87% показов с почти нулевым CTR.


Рисунок 1. Отчет в Яндекс Директ по поисковой компании с характеристикой дробления пол и возраст

Как узнать, есть ли у вас накрутка показов?


Необходимо построить отчет по интересующим нас рекламным кампаниям в Я. Директ:

Как построить отчет показывающий накрутку показов

Рисунок 2. Выбираем интересующие нас кампании на поиске

Далее в поле “Показать статистику” нажимаем “Выполнить”:


Рисунок 3. Выполняем отчет в Я. Директ

Переходим в “Мастер отчетов”:


Рисунок 4. Переход в “мастер отчетов” Директ

Настраиваем интересующий нас отчет в “Мастере отчетов”:


Рисунок 5. Отчет по показам рекламы по половозрастным характеристикам

Первый признак накрутки показов в поисковых рекламных — это падение CTR (кликабельности).
«CTR (кликабельность, от англ. Click-Through Rate) — это отношение числа кликов на объявление к числу его показов, измеряется в процентах. Можно сказать, что этот показатель определяет эффективность работы объявления»
глоссарий Я. Директа.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments40

Медиавыражения в CSS — это не только max-width

Reading time6 min
Views34K


Недавно мы опубликовали новый веб-сайт нашей компании Mabiloft с полностью переработанным чистым дизайном и множеством новых великолепных иллюстраций и анимаций.

После того, как наш дизайнер проделал потрясающую работу, продумав и нарисовав сайт, нам, разработчикам, было необходимо реализовать макет, сохранив его чистым и цельным для каждого устройства, от большого 2K экрана, на которых мы пишем код, до старого iPhone 4 с его 3.5-дюймовым дисплеем.

Несколько недель спустя веб-сайт был почти готов и я просматривал его, чтобы убедиться, что всё работает как нужно. Заметив, что макет главной страницы неправильно отображался на нашем iPad, я быстро изменил некоторые CSS-правила и исправил ошибку, но… это привело к проблемам отображения макета на всех всех ноутбуках с небольшим экраном
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments6

CSS-переход свойства height от 0px до auto

Reading time2 min
Views30K
Здравствуй, Хабр!

Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto.

Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в DataGrid — строки с дополнительным контентом. Почитав интернет, нашёл несколько способов реализации, основные — через свойство max-height и на javascript. Реализация на javascript была исключена — есть же css с поддержкой переходов и анимаций. Остался max-height, тем более в примерах с выпадающими меню всё работает.
Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments42

Замена EAV на JSONB в PostgreSQL

Reading time6 min
Views21K
TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах.

Введение


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

Самый простой путь решения этой проблемы – это создание столбца в таблице БД для каждого значение свойства, и просто заполнять те, которые нужны для определенного экземпляра сущности. Отлично! Проблема решена… до того момента, пока ваша таблица не содержит миллионы записей и у вас не возникнет необходимость добавить новую запись.

Рассмотрим паттерн EAV (Entity-Attribute-Value), он встречается достаточно часто. Одна таблица содержит сущности (записи), другая таблица содержит имена свойств (атрибутов), а третья таблица связывает сущности с их атрибутами и содержит значение этих атрибутов для текущей сущности. Это дает вам возможность иметь разные наборы свойств для разных объектов, а также добавлять свойства “на лету”, не изменяя структуры БД.
Читать дальше →
Total votes 41: ↑36 and ↓5+31
Comments39

Где брать аудио для разработки игр и других коммерческих проектов? Библиотеки со звуками природы

Reading time4 min
Views11K
Существует множество сервисов и приложений для релаксации, в которых можно послушать звуки природы. Но что если вы хотите использовать такие аудиозаписи в рамках собственного проекта?

В подборке расскажем о пяти библиотеках, откуда можно скачать реальные звуки природы и использовать их в коммерческих целях.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments2

Двойной VPN в один клик. Как легко разделить IP-адрес точки входа и выхода

Reading time13 min
Views110K


TL;DR В статье описывается самый простой способ настроить VPN-сервер, у которого IP-адрес для подключения VPN-клиентов отличается от IP-адреса, с которого клиенты выходят в интернет.

Используете VPN для защиты приватности в интернете и арендуете для этого свой личный сервер? При этом вы единственный клиент, который подключается к этому серверу во всем мире? Так ли сложно найти ваш реальный IP-адрес, как вам кажется? С вступлением в силу пакета Яровой, это становится намного проще.

Double VPN — популярная тема, вокруг которой много спекуляций. Часто этим термином называют совершенно разные технологии, но почти всегда это означает разнесенные на уровне IP-адресов точки подключения и выхода в интернет. Мы рассмотрим самый простой способ настройки VPN-сервера в таком режиме, который не требует дополнительной настройки на серверной стороне и позволяет получить максимальную скорость и самые низкие задержки.
Читать дальше →
Total votes 49: ↑41 and ↓8+33
Comments59

Домофон — ухо шпиона?

Reading time4 min
Views41K
Еще во времена аналоговых телефонных дисковых аппаратов ходили слухи о прослушивания линии, даже о возможности слушать обстановку без поднятия трубки и разговора по ней. С появлением кнопочных телефонов проблема вроде бы ушла, к тому же в связи с принципами коммутации сигналов на витой паре это было проблематично.

В статье описана версия, — что если, сегодня эта возможность перекочевала в домофонные сети, более того, используется для негласного вмешательства в частную жизнь?

В эпоху цифровых технологий ничто не должно казаться заоблачным.
Возможно, в своем доме тоже следует тщательно выбирать слова и темы для житейских разговоров, какими безобидными они бы не были, если не сегодня, то в ближайшем будущем.
Сегодня почти в каждой квартире установлен домофон, в частности, УКП — абонентское устройство (устройство квартирное переговорное), выполненное в виде телефонной трубки, именуемой в простонародье — аудиотрубка.

Сперва немного теории о видах домофона


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

Многоквартирный домофон работает по схеме мини АТС (аналоговой или цифровой).
Аналоговые (координатная система адресации) работают по принципу обычной телефонной связи с помощью аналогового коммутатора (мини АТС) и специального многожильного шлейфа, соединяющего коммутатор с квартирами, они более распространены и менее затратны.
Читать дальше →
Total votes 69: ↑57 and ↓12+45
Comments90

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

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

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

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

image

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

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

.container больше не нужен

Reading time7 min
Views131K
Все верстальщики в своих проектах используют div.container для центрирования контента и этот способ имеет некоторые особенности, от которых можно избавиться. Прочитав эту статью, Вы узнаете про способ, который позволит полностью отказаться от контейнера. Я попытаюсь рассказать о плюсах и минусах использования контейнера и альтернативного способа центрирования контента средствами только лишь css.
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments51

Как решить проблемы сайтов-агрегаторов с помощью резидентных прокси

Reading time3 min
Views3.1K


Изображение: Pexels

Для сайтов-агрегаторов в сфере электронной коммерции крайне важно поддерживать актуальную информацию. В противном случае исчезает главное их преимущество – возможность видеть самые релевантные данные в одном месте.

Для того, чтобы решить эту задачу необходимо использовать технику веб-скрейпинга. Ее смысл в том, что создается специальный софт – краулер, который обходит нужные сайты из списка, парсит информацию с них и загружает ее на сайт-агрегатор.

Проблема в том, что зачастую владельцы сайтов, с которых берут данные агрегаторы, вовсе не хотят так легко предоставлять им доступ. Это можно понять – если информация о цене в интернет-магазине попадет на сайт агрегатор и окажется выше, чем у конкурентов, представленных там же – бизнес потеряет покупателей.
Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments4

Новый билд Nemesida WAF Free для NGINX

Reading time3 min
Views5.6K

В прошлом году мы выпустили Nemesida WAF Free — динамический модуль для NGINX, блокирующий атаки на веб-приложения. В отличие от коммерческой версии, основанной на работе машинного обучения, бесплатная версия анализирует запросы только сигнатурным методом.

Особенности релиза Nemesida WAF 4.0.129


До текущего релиза динамический модуль Nemesida WAF поддерживал только Nginx Stable 1.12, 1.14 и 1.16. В новом релизе добавлена поддержка Nginx Mainline, начиная с 1.17, и Nginx Plus, начиная с 1.15.10 (R18).

Зачем делать еще один WAF?

Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments2

Что поставить на периметр сети: Cisco маршрутизатор или Cisco ASA?

Reading time12 min
Views71K


Всем привет! Периодически при проектировании компьютерных сетей на базе оборудования Cisco возникает вопрос, что поставить на периметр сети: маршрутизатор или межсетевой экран Adaptive Security Appliance (ASA)? Далеко не всегда можно однозначно ответить на данный вопрос. Хотел бы в очередной раз сделать попытку и провести небольшое сравнение этих двух устройств. Вы заметите, что уже много раз это обсуждалось. Согласен. Но устройства постоянно развиваются: появляются новые модели, добавляется функционал. Поэтому иногда стоит отойти подальше и ещё раз посмотреть со стороны на данный вопрос. Вдруг что-то поменялось?
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments58

Защищаем сайт с помощью ZIP-бомб

Reading time3 min
Views87K

Старые методы по-прежнему работают


[Обновление] Теперь я в каком-то списке спецслужб, потому что написал статью про некий вид «бомбы», так?

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

Когда я в возрасте 13 лет впервые захостил свою маленькую Linux-коробочку с доступом по SSH, я смотрел логи и каждый день видел IP-адреса (в основном, из Китая и России), которые пытались подключиться к моей сладенькой маленькой коробочке (которая на самом деле была старым ноутом ThinkPad T21 со сломанным дисплеем, жужжавшим под кроватью). Я сообщал эти IP их провайдерам.

На самом деле если у вас Linux-сервер с открытым SSH, то можете сами посмотреть, сколько попыток подключений происходит ежедневно:

grep 'authentication failures' /var/log/auth.log
Читать дальше →
Total votes 157: ↑155 and ↓2+153
Comments184

Индекс борща. Системный подход в оценке, сравнении, определении отношения цена/качество

Reading time4 min
Views7.3K
Основной целью индекса борща BI (borsch index) является формирование непредвзятой, комплексной системы оценки и сравнения борща в разных местах и заведениях.
Кроме этого, представленная ниже методика – универсальный способ провести комплексную оценку не только борща, но и любого другого товара, оборудования, продукта, работы и услуги, а представленная в конце методология «справедливой цены» даст ещё один инструмент проверки назначаемых вами цен на свой товар или услугу.

Индекс BI включает интегральную оценку борща, которая выражается в баллах, а также стоимость борща.

Этап первый. Интегральная оценка


Для определения индекса борща BI на первом этапе необходимо провести интегральную оценку борща.

Интегральная оценка IA (integral assessment) служит для комплексной оценки вкусовых и визуальных качеств борща.

Результатом интегральной оценки будет присвоение борщу определенного количества баллов (возможный максимум 500 баллов). Чем большее число баллов набирает борщ, тем он по совокупности параметров лучше.

1. Выбираем параметры оценки борща

Мной определены 5 параметров, с помощью которых будет проводиться оценка борща:

  • Вкус и запах борща без сметаны;
  • Внешний вид, консистенция;
  • Вкус и запах борща со сметаной;
  • Подача;
  • Субъективное дополнение.

Данные параметры включают в себя следующие характеристики:
Читать дальше →
Total votes 31: ↑19 and ↓12+7
Comments21

Information

Rating
Does not participate
Location
Запорожье, Запорожская обл., Украина
Date of birth
Registered
Activity