Как стать автором
Обновить
-9
0
Андрей Роговский @Andrey_Rogovsky

Senior Cyber Security Consultant DevSecOps

Отправить сообщение

Приглашаю все на вебинар по вопросам безопасности PHP

Время на прочтение1 мин
Количество просмотров1.2K

Вы хоть раз писал на PHP? Я - да!

А хоть раз задумывались о безопасности? Я тоже!

Давайте обсудим вместе на вебинаре, посвященном проблеме безопасности PHP!

Читать далее
Всего голосов 12: ↑5 и ↓7-2
Комментарии5

Почему я не люблю PHP

Время на прочтение1 мин
Количество просмотров13K

Не спешите прокручивать мой пост - дело совсем не в коде, не в пороге вхождения, фреймворках или отсутствия обратной совместимости.

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

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

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

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

И не беда, если у вам там обычный блог или сайт-визитка. А если интернет-магазин? А если финансовое приложение?

Только не говорите, что в финтеке нет PHP. Есть. Я лично видел.

Читать далее
Всего голосов 105: ↑12 и ↓93-81
Комментарии122

Как я перенес dedic.ru на github pages и остался доволен

Время на прочтение2 мин
Количество просмотров4.5K
Когда-то давно я достаточно плотно занимался организацией разного рода хостингов. В техническом плане, конечно — настройка серверов, конфигурация панелей управления и прочими сопутствующими штуками.

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

Для движка сайта я почему-то выбрал Drupal а не Wordpress, в последствии сам себе не смог объяснить этот выбор. Тогда мне казалось, что Drupal более гибкий, удобный и логичный.
Мое первое разочарование было в момент выхода шестой версии Drupal. Я просто не мог перенести туда свой текущий проект — постоянно что-то отваливалось, то таксономия, то форум, то еще что-то.

В результате мне пришлось оставить dedic.ru в режиме read-only и попытаться продолжить начатое на других сайтах. Но к тому времени уже появилось достаточно много сайтов на эту тематику и мои попытки не взлетели. Да и у меня самого начали меняться интересы — облака, безопасность и автоматизация.

И вот одним вечером я задумался — а как собственно можно законсервировать сайт таким образом, чтоб не платить за его содержание?
Читать дальше →
Всего голосов 22: ↑15 и ↓7+8
Комментарии11

С какими видами мошенничества я сталкивался на фрилансе и аутсорсе

Время на прочтение9 мин
Количество просмотров39K
Я знаю, что люди обожают истории, в которых автора облапошили или о событиях на пути становления. Так что надеюсь, вам будет интересно.
Читать дальше →
Всего голосов 112: ↑108 и ↓4+104
Комментарии105

Что грозит Burger King

Время на прочтение1 мин
Количество просмотров34K
Для тех, кто еще не читал новости о том, как Burger King в своем мобильном приложении интегрировал нежелательное программное обеспечение AppSee, публикую краткую информацию:

  • AppSee — это malware-сервис, который можно интегрировать в мобильное приложение и получить видеозапись экрана для какой-то там аналитики;
  • Как видно из перехваченного видео — данные передаются без какой-либо обработки, а уже в самом AppSee видео обрабатывается и данные держателей карт (ДДК) закрашиваются черными квадратами, как они утверждают;
  • Представители Burger King заняли позицию, что они ничего не нарушают, так как данные от AppSee им уже приходят после обработки и они не видят в них ДДК, как они утверждают.

Даже если поверить, что оба утверждения верные, то все равно Burger King своими действиями нарушает стандарт безопасности отправку видео файла на AppSee: нельзя передавать с номером карты (PAN) дату истечения и имя владельца. Про телефон я вообще молчу. Это прямое нарушение PCI DSS в частности и здравого смысла вообще. Обычный MITM в публичном WiFi организовать утечку ДДК, а номер телефона — вообще легчайший способ получить дубликат sim карты в любом отделении с помощью имени владельца и базовых навыков графического редактора.

Сама компания Burger King прошла проверку стандартам, а значит попадает под все карательные меры, а именно:
Читать дальше →
Всего голосов 116: ↑65 и ↓51+14
Комментарии64

Что вы можете реально сделать за 1000 рублей или ошибки фрилансеров

Время на прочтение2 мин
Количество просмотров8.2K
Хочу подвести итоги конкурса, который я когда-то давно попросил опубликовать одного моего знакомого odessky.
Прежде всего хочу сказать, что это конечно же был социальный эксперимент, в котором я попытался изучить типичные ошибки фрилансеров, чтоб избегать их в дальнейшем самому.

А задания были вот какие:
  • Создание сайта-визитки crossolt
  • Фото сессия от Assargin
  • Хабропицца — andorro
  • Провокационный видеоролик от alexkl
  • Фото недостроенной АЭС от neochapay

Напоминаю, что за каждое задание я оценивал в 1000 рублей. Ну а теперь — результаты и выводы.
Читать дальше →
Всего голосов 244: ↑194 и ↓50+144
Комментарии293

Защита от DDOS атаки случайными аргументами при помощи Nginx

Время на прочтение1 мин
Количество просмотров3.3K
Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
GET someurl/?t1555ss5326=5326, где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение "?", если в URI идут аргументы. Базовая конструкция выглядит так:

if ($is_args = "?") {
return 403 444;
}

Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты:
load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.
Всего голосов 94: ↑79 и ↓15+64
Комментарии55

Тихо и незаметно weblancer.net стал полностью платный

Время на прочтение1 мин
Количество просмотров4.1K
image
Все началось в феврале. Тогда у фриланс-биржи появились платные аккаунты для фрилансеров, а точнее три тарифных плана: Базовый, Оптимальный и Максимальный.
Но оставался Начальный тариф, он бесплатен, но в нем мало заявок и комиссия выше. Кроме того, фрилансеры с Начальным тарифом не включены в каталог.

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

  1. Я не получил никаких оповещений о закрытии Начального тарифа, а в его описании отсутсвуют временные лимиты.
  2. Пополнить счет можно только по Webmoney, что прекращает работу с сервисом тех фрилансеров, у которых Yandex.Деньги или карты (Paypal).

А вы готовы платить за этот сервис?

P.S. Возможно у вас есть выбор тарифа Начальный. Пока еще есть…
Всего голосов 31: ↑16 и ↓15+1
Комментарии8

Как сделать облачный (кластерный) хостинг за пару копеек*

Время на прочтение3 мин
Количество просмотров6.2K
Три года назад у меня была интересная задача. Необходимо было собрать платформу, объединявшую несколько стоек с серверами в единое целое, для динамического распределения ресурсов между сайтами написанным для LAMP платформы. Причем так, чтоб вмешательство в код сайтов было минимальным, а еще лучше — вообще отсутствовало.
При этом никаких дорогих решений вроде Cisco Content Switch или дисковой полки с оптоволокном использовать нельзя — не хватало бюджета.
А кроме того, разумеется, в случае выхода одного из серверов из строя — это не должно было влиять на работу платформы.
Читать дальше →
Всего голосов 72: ↑58 и ↓14+44
Комментарии64

Как быть сисадмином и прожить до 100 лет

Время на прочтение4 мин
Количество просмотров1.9K
Много раз пользовался всякими книжками от O'Reilly. То вдруг на Perl рецептик приготовить, то в Bind срочно чего-то поправить. Или вдруг надо поговорить на «программерской фене» — регулярные выражения, стало быть. Вся кухня в
любимом издательстве есть. Но жизнь сисадмина, это ведь не только чтение книг и документаций. Сисадмин живой человек. Ему также не чужды радости человеческой жизни. Какое-то время, пока ты молод, кажется, что ни китайская лапша, ни обеды по-быстрому на рабочем месте, не могут свернуть тебя с пути IT- джедая. Пепси, пироги с котятами, фаст-фуды, многие проходили эту школу выживания. Пока однажды не начинаешь искать между строк в книгах O'Reilly рецепта домашней пиццы.
Читать дальше →
Всего голосов 5: ↑2 и ↓3-1
Комментарии3

Как я продавал софт в суровые 90-ые

Время на прочтение2 мин
Количество просмотров377


imageСейчас трудно кого-то удивить такой вещью, как продажей ПО. Мы привыкли покупать софт на дисках или скачивать и платить вебманями/кредиткой.

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

В начале я записывал программы для ПК-01 Львов и пытася их продавать на местном одесском радиобазаре, который почему-то постоянно менял свою дислокацию.
Читать дальше →
Всего голосов 165: ↑85 и ↓80+5
Комментарии60

Распространяется ли гарантия на зарядки для Макбуков?

Время на прочтение1 мин
Количество просмотров4.8K

Знакомая проблема, не так ли? Произошло какое-то повреждение в проводе или в коннекторе со штырьками. Казалось бы — что проще поменять по гарантии?

Однако многие покупатели сталкиваются с тем, что в сервисных центрах отказываются менять зарядки, мотивируя тем, что Apple считает их расходным матерьялом и не дает гарантию. Все бы ничего, однако цена на пластиковую коробочку с проводком составляет 80-100$.

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

Хотелось бы знать — сталкивались ли вы с такой проблемой? Как на нее отреагировали в сервис-центре? А может быть вы сами успешно чинили такую полмку и расскажите как это сделать самостоятельно?
Всего голосов 19: ↑5 и ↓14-9
Комментарии14

Защита Assassin's Creed 2 под серьезной угрозой

Время на прочтение1 мин
Количество просмотров1.2K
Удар, как обычно это бывает, был нанесен внезапно и со стороны, с которой его не ожидала Ubisoft. Это была не отвязка игры от проверки серверов и не реверсирование протокола.

Просто геймеры купившие лицензионную игру, и обладающие широкополосным доступом к интернет, достигли точки критического числа одновременных подключений и сервера DRM рухнули словно от DDOS атаки.

Надеюсь, это создаст прецедент и подобную защиту запретят, как ранее запретили StarForce.
Всего голосов 134: ↑108 и ↓26+82
Комментарии179

Про оптимизацию кода

Время на прочтение2 мин
Количество просмотров1K
Кодер Один мой знакомый получил работу в очень престижной конторе по разработке устройств связи уоки-токи, мобильные и так далее. Контора надо сказать очень большая и входит в ТОП-50 по этой сфере индустрии.

И из-за такого размера в конторе было очень много бюрократических моментов — согласований, совещаний и уходило на общение очень много времени. Программисты там были в большей части индусы и делали они свою работу очень неторопливо, медитируя так сказать в рабочее время.
Что было дальше
Всего голосов 86: ↑49 и ↓37+12
Комментарии18

Как сделать бюджетный геокластерный хостинг

Время на прочтение3 мин
Количество просмотров987
В качестве распределенного хостинга возьмем классический пример — создание блогосервиса на основе mu-Wordpress.
Задача — при ограниченном бюджете собрать отказоустойчивую (насколько это возможно) геораспределенную систему. Соответственно все оборудование берется в аредну в различных Дата-Центрах.
И тут следует сказать что не все Дата-Центры одинаково полезны. Высококачественные сдают сервер за 800$, а у низкокачественных вполне можно взять примерно такой же сервер в аренду уже за 100$. И именно эти особенности надо учитывать при создании геокластера.

Теперь о небольших хаках. По умолчанию в mu-Wordpress функция отдачи загружаемого контента сделана крайне неудачно — через PHP. Соответственно она была заменена на загрузку отдельным сервисом и вставкой загружаемого контента прямой ссылкой на статику.
Вторым хаком была модификация контроля кеширования. Кроме указаний кешировать статичные элементы дизайна был введен еще такой хак, который запрещал кешировать запись на время ее обсуждения (по умолчанию — 14 дней), а уже после она отдавалась с заголовком разрешающим кеширование. Кроме того хитро кешировались фиды RSS.
Финальным хаком стала система синхронизации БД — каждый INSERT/DELETE/UPDATE выполнялся на «соседе». Получился такой себе софт-рейд в контексте MySQL+PHP.
Читать дальше →
Всего голосов 49: ↑33 и ↓16+17
Комментарии25

Новогодний подарок хостерам: Как разместить на сервере 10000 клиентов или даже больше

Время на прочтение4 мин
Количество просмотров1.5K
image

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

Следует отметить, что под клиентом воспринимается обычный аккаунт на LAMP (Linux+Apache+Mysql+PHP), с одним-двумя виртхостами и работающим со всеми опциями php.ini по умолчанию. Основное — это 16MB RAM и 30 сек исполнения. Вполне достаточно для большинства движков — Wordpress, Drupal и Joomla.
Читать дальше →
Всего голосов 102: ↑83 и ↓19+64
Комментарии169

Прототип боевого гиганского человекоподобного робота

Время на прочтение1 мин
Количество просмотров1.8K

По началу это меня улыбало, но когда дело дошло до снайперки — я понял, что это очень серьезно.
Всего голосов 122: ↑89 и ↓33+56
Комментарии66

Информация

В рейтинге
Не участвует
Откуда
Одесса, Одесская обл., Украина
Дата рождения
Зарегистрирован
Активность