Pull to refresh
-9
0
Андрей Роговский @Andrey_Rogovsky

Senior Cyber Security Consultant DevSecOps

Send message

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

Reading time1 min
Views1.2K

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

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

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

Читать далее
Total votes 12: ↑5 and ↓7-2
Comments5

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

Reading time1 min
Views13K

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

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

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

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

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

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

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

Читать далее
Total votes 105: ↑12 and ↓93-81
Comments122

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

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

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

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

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

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

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

Reading time9 min
Views39K
Я знаю, что люди обожают истории, в которых автора облапошили или о событиях на пути становления. Так что надеюсь, вам будет интересно.
Читать дальше →
Total votes 112: ↑108 and ↓4+104
Comments105

Что грозит Burger King

Reading time1 min
Views34K
Для тех, кто еще не читал новости о том, как Burger King в своем мобильном приложении интегрировал нежелательное программное обеспечение AppSee, публикую краткую информацию:

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

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

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

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

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

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

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

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

Reading time1 min
Views3.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 одновременных запросов.
Total votes 94: ↑79 and ↓15+64
Comments55

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

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

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

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

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

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

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

Reading time3 min
Views6.2K
Три года назад у меня была интересная задача. Необходимо было собрать платформу, объединявшую несколько стоек с серверами в единое целое, для динамического распределения ресурсов между сайтами написанным для LAMP платформы. Причем так, чтоб вмешательство в код сайтов было минимальным, а еще лучше — вообще отсутствовало.
При этом никаких дорогих решений вроде Cisco Content Switch или дисковой полки с оптоволокном использовать нельзя — не хватало бюджета.
А кроме того, разумеется, в случае выхода одного из серверов из строя — это не должно было влиять на работу платформы.
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Comments64

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

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

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

Reading time2 min
Views377


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

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

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

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

Reading time1 min
Views4.8K

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

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

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

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

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

Reading time1 min
Views1.2K
Удар, как обычно это бывает, был нанесен внезапно и со стороны, с которой его не ожидала Ubisoft. Это была не отвязка игры от проверки серверов и не реверсирование протокола.

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

Надеюсь, это создаст прецедент и подобную защиту запретят, как ранее запретили StarForce.
Total votes 134: ↑108 and ↓26+82
Comments179

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

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

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

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

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

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

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

Reading time4 min
Views1.5K
image

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

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

Information

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