Об ИТ из Канады

Блог Михаила Флёнова - программист, блогер, автор нескольких скандальных книг какими-то глазами...

Безопасность 139

Знаю что такое SQL Injection, но не знаю, как защитится

Снова заметка основана на результатах интервью, которые мне приходится проводить. Я кажется уже писал, что один из вопросов, который я спрашиваю - что такое SQL Injection и как от нее защищаться. Меня сильно удивляет, что в наше время не все знают, что такое SQL Injection и чем она опасна. Из-за этого наверно и появляются дырявые сайты. 

Больше всего удивляет, когда люди знают, что такое SQL Injection, но не знают, как от нее защищаться вовсе. Для меня идеальным ответом является - используй параметры. Но не могу понять, как вообще нельзя придумать даже простого способа защиты типа - убирать одинарные кавычки. Даже не нужно говорить про замену одинарной кавычки на две одинарных, просто убрать их. Хотя бы что-то можно придумать?

Дата: 2017-02-14 12:56:15
Прочитать заметку


Подключил VPN домой

Мне тут пришлось тестировать, почему реклама становится причиной того, что видео не работает, а зависает. Когда я тестировал из Канады, то у меня Google даже не пытался запускать рекламу, наверно потому что рекламодателей не так много. И чтобы реклама работала, мне явно нужен был коннект в США.

Дата: 2017-02-04 09:44:04
Прочитать заметку


Как заставлять пользователя менять пароли

В современных системах есть возможность заставить пользователя менять пароли через определённые промежутки времени и это реально помогает с точки зрения безопасности. Только недавно утекли пароли Yahoo, и база данных оказалась достаточно старой. Если бы пароли менялись хотя бы раз в год, толку от этой базы не было бы, потому что все пароли там уже старые. 

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

Но я не видел политики на смену пароля.  Я работал в PCI окружении с кредитными картами и даже там я мог каждые три месяца менять пароль и менять в нем только одну цифру. Я не мог использовать тот же самый пароль дважды, но мог менять его незначительно. Я не админ и не знаю, в Windows есть возможность настраивать политику, чтобы пользователи не выбирали новый пароль, который будет на 80% совпадать с предыдущим. 

Дата: 2017-01-31 19:45:23
Прочитать заметку


Ограничения для повышения производительности

В честь нового года на наш сайт начало приходить все больше клиентов, пошли различные маркетинговые программы, и в итоге на базе данных нагрузка достигла 100 процентов и не падает. Конечно же стал вопрос, что делать? 

Первое предложение от технического директора стало ограничение на сервере приложений количества возможных подключений к базе данных. Таким образом мы освободим количество подключений на SQL Server и нагрузка сократится. Я говорю, а если сервер приложений не сможет подключиться из-за отсутствия доступных подключений к базе, то приложение сгенерирует ошибку, и пользователь увидит не очень приятную страницу. Готовы на это? Конечно же нет.

Следующее предложение от технического директора: ну давайте тогда установим таймаут на соединение с сервером приложений. Если пользователь не получил ответа от сервера приложений в течении 30 секунд, разрывать соединение. Я говорю - хорошо, пользователи начнут видеть таймауты. Это лучше?

Дата: 2017-01-26 10:20:07
Прочитать заметку


Спамеры не звонят дважды?

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

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

А вот с нормальными письмами как раз начнутся проблемы. Допустим, что мне кто-то на сайте написал письмо через форму обратной связи. Я на него отвечу, отправлю ответ и тут же удалю. Если в ответ на отправку придет какое-то Delivery Error, я просто проигнорирую это и никогда не буду пытаться повторить ответ, потому что пользователь мог просто ошибиться, при указании своего e-mail, а я буду писать письмо дважды. Почтальоны далеко не всегда пишут дважды. 

Дата: 2017-01-23 06:08:38
Прочитать заметку


Программисты из Индии не знают про SQL Injection

Я уже писал, что я провожу на работе интервью и я уже общался с не менее 6 программистами, по имени и по истории работы они явно из Индии. Только один из них смог правильно ответить, как нужно защищаться от SQL Injection. Большинство из этих супер программистов, архитекторов на вопрос о том, как защититься от инъекции говорят, что для этого нужно искать и убирать любые SQL инструкции типа SELECT, UPDATE или DELETE. В двух случаях вообще я не услышал ничего внятного, ответ был - там я использовал что-то, не помню что. Как так?

На этой неделе впервые выходец из Индии на вопрос про SQL Injection ответил, что нужно использовать параметры или хранимые процедуры. Меня аж шокировал этот ответ, я просто не ожидал его. Просто я начинаю интервью с простых вопросов и одним из первых идет: чем отличается static метод от других. У парня явно плохой английский и сложно было его понимать, но на такой вопрос он ответил, что у класса должен быть только один static метод. Я сразу же поставил минус и минусы летели почти на каждый мой вопрос. 

Дата: 2017-01-04 21:59:15
Прочитать заметку


Самый сложный вопрос безопасности

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

Дата: 2016-12-30 21:06:44
Прочитать заметку


Была ли кибер атака на выборную систему США?

Опять же сделаю рекламу подкастов Security Weekly, которые по поводу атаки на выборную систему США сказали - плевать кто вмешивался США или Канада. Если вмешательство было и атака была, то правительство признает, что выборная система американцев откровенное дерьмо. 

Я могу добавить, что если атаки не было и все это сопли демократов, то они опять же позорят свою систему выборов. Американцы должны быть счастливы, что любой дядя из гаража по заказу злых Русских или Китайцев может повлиять на их выборы и привести к власти такого, как Трампа. 

Вот сегодня на РБК написали, что могут быть введены санкции за вмешательство в выборы США. Я никогда не считал Путина хорошим президентом, но тут просто невозможно не согласится с ним, демократам нужно научится проигрывать с достоинством. А даже если Барак Обама введет какие-то санкции, они продержаться не долго, сколько там осталось до встувления в должность Трампа? 

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

Дата: 2016-12-28 06:12:37
Прочитать заметку


Перестали работать сайты

Как ты знаешь, я сейчас нахожусь в Портлэнде, США. Сегодня с утра сидел в интернете, писал заметку для блога и сайт прекрасно работал. И вот тут только публиковать ее, а сайт не грузится. Захожу на другой, тоже не грузится. Все сайты недоступны, хотя пять минут назад я подтвердил везде комментарии и все было отлично.

Попытался зайти на админку хостинга, а там ничего не доступно. Начал писать в поддержку, а они мне говорят, что все работает в нормальном режиме. Я попросил зайти на сайте жену, она подтвердила, что из Канады сайт доступен.

Проверил nslookup - IP адрес нормальный. Полез в traceroute, а запрос умирает на 21-м шаге на адресе 195.219.87.2. На сколько я помню, мой хостинг находится в Канаде 21 шаг из Портлэнда в Канаду - многовато. (сейчас сайт уже снова доступен и сейчас я вижу 14 шагов). Начал смотреть на этот IP, А судя по интернету он в Швейцарии. Я понял, что проблема не с хостингом и поблагодарил за проверку и отключился.

Сейчас все работает и у меня возник вопрос - это просто глюк такой был или опять виноваты русский, что взломали почту Клинтон?

Дата: 2016-11-03 15:36:30
Прочитать заметку


Проблема безопасности Google Chrome

У Google Chrome есть в настройках очень злая опция - Continue running background jobs when Google Chrome is closed. Я не знаю, когда эта опция появилась, но сегодня пришел баг от клиента, что при перезапуске браузера сессия не убивается. Оказалось, что проблема в этом параметре, который почему-то на некоторых компьютерах магическим образом поменялся на True. За счет того, что в фоне Chrome продолжает работать даже при закрытии окна, сессия не убивается.

Удивлен, что Google пропустила такое в свет и специалисты по безопасности не трубят об этой проблеме. Я смело вхожу в защищенные области сайтов иногда даже на чужих компьютерах, а вместо выхода просто закрываю браузер. Правильно написанные сайты должны убивать сессию, если я специально не указал, что хочу запомнить себя на этом компьютере.

Дата: 2016-07-22 12:17:51
Прочитать заметку


О блоге

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

Внимание!

А ты уже читал мою последнюю книгу о больших сайтах и приложениях? Узнай, что это такое здесь

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповидания на русском или английском языке.

Пишите мне