Сообщество - Лига программистов

Лига программистов

242 поста 4 041 подписчик
66

Парольная политика

Небольшая история про то, с чем можно столкнутся при усилении безопасности информационной системы (ИС).


На  работе я  работаю программистом,  работаю над информационной системой, которой пользуется несколько регионов по России.

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

И вот пару месяцев назад прислали приказ о политике паролей в ИС, то есть напрямую связана со мной. В ней требовалось:

- Обязательно большие, маленькие символы и цифры.

- Срок действия пароля - 3 месяца.

- Пароль не должен повторятся в течение года.

- Минимальная длина паролей для юзеров - 12 символов, а для админов — 16.

- Время закрытия сессии по неактивности — 15 минут.

- Защита от подбора: При восьми ошибок подряд блокируется аккаунт на 10 минут, потом давая еще 1 попытку.


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

За одним я реализовал хеширование пароля, удаляя хранение пароля в открытом виде (из совместимости с другими системами), сделал единую процедуру авторизации в SQL.

И вот, реализовав все требования, выпустил обновление как для своего региона, так и других.

Всё было рабочее, кроме одного нюанса: в программе не успел сделать сброс счетчика ошибок ввода пароля на пользователя. Его можно было обнулить только в базе.

После обновления, если программа видела простой пароль после авторизации просила его сменить в соответствии с новой парольной политикой.


Наверно после этого обновления все пользователи и администраторы были согласны купить мне билет прямо в Ад и на отдельный котел с усиленным подогревом. Особенно администраторы ведь для них длина пароля от 16 символов. Да и я сам в первое время забывал свой пароль и пару раз менял его, поскольку все мои старые пароли попали в историю как тестовые и повторно использовать их уже нельзя. Кроме того, пароль ведь больше не хранился больше в открытом виде и пользователю нельзя было подсказать какой у него был пароль, если он его никуда не записал, только сброс на новый.


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

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

Сейчас в принципе всё спокойно. Ждем Новый Год, когда пароли юзеров и админов как раз истекут или забудут после праздников и будут вспоминать меня или московского безопасника добрым словом с его требованиями к паролям.

Показать полностью
16

Танцы на C++

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

Условие задачи выглядит следующем образом:

Танцы на C++ C++, Проблема, Программирование, Длиннопост

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

Танцы на C++ C++, Проблема, Программирование, Длиннопост

Что я делал? Я сделал два вектора и один из них преобразовывал, затем менял последний элемент на первый ( с помощью insert ) и удалял последний элемент. После этого я должен выводить элементы около p-ого элемента.

Танцы на C++ C++, Проблема, Программирование, Длиннопост

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

Весь код будет лежать ЗДЕСЬ.

Показать полностью 2
45

Цена ошибки (в коде)

Из учебного пособия А.С. Камкина "Введение в формальные методы верификации программ"


В 1982 г. канадской фирмой Atomic Energy of Canada Limited был запущен в серию

медицинский аппарат «Therac-25», предназначенный для лучевой терапии — облучения раковой опухоли. В «редких» ситуациях из-за ряда ошибок, допущенных при

проектировании и реализации встроенной системы управления, интенсивность облучения возрастала на 2 порядка и более. За время эксплуатации прибора (период

с июня 1985 г. по январь 1987 г.) как минимум два пациента умерли, а несколько

человек остались инвалидами...


23 марта 2003 г. во время войны в Ираке американский зенитно-ракетный комплекс

«Patriot» ошибочно идентифицировал британский бомбардировщик «Tornado», летевший близ кувейтской границы, как приближающуюся вражескую ракету и автоматически произвел залп. Погибли два пилота. Спустя полторы недели, 2 апреля,

«дружественным огнем» был уничтожен американский палубный истребитель-бомбардировщик F/A-18 «Hornet». Еще один пилот погиб.

89

А что у нас там творится на рынке распознавания документов удостоверяющих личность (ДУЛ)?

В бытность молодым аспирантом в конце 90-х я реализовал простенький проект на ворованном FineReader (в провинции тогда других не было). Нужно было распознать и ввести в  базу карточки студентов с фото. Классические примитивные ДУЛы. Начав с нуля проект я реализовал его за пару недель. Прошло 20 лет. Одному из моих клиентов потребовался комплекс сканер+ПО для распознавания паспортов РФ. Я, наивная душа лезу в Интернет, думаю, что уже наверное есть бесплатное ПО для таких простых задач. А фигушки. Мало того, теперь у нас распознавание ДУЛ - это SaaS. Чё там саасить? Обратился в одну фирму, они хотят 16000 евро в год за 100000 распознаваний. Щоб я так жив!


Обратился в FineReader. Типа старый друг и все такое. Они тоже почему то стали спрашивать про количество распознаваний в год. А когда узнали что всего 100 тысяч в год, сказали, что с такими нищебродами они не работают.


Народ, что случилось с рынком распознавания ДУЛов за последние 20 лет? Почему они хотят денежку за каждое распознавание (10 руб за одно распознавание). Нам что, скоро ждать SaaS за печать каждой страницы на принтере? Или за набор каждой страницы в текстовом редакторе. Что изменилось пока я тут отсутствовал?

434

Among us и языки программирования

Among us и языки программирования Among Us, Языки программирования
- Могу поручиться за Java, я наблюдал, как он выполняет задачу сборщика мусора.

...

- C++, что ты делал в вентиляции?

- Я случайно вышел за пределы комнаты.

...

- Я видел как JS отрезал кусок от HTML!

8

Вопрос о правильности направления

Товарищи ребятки здравствуйте!

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

Вводная: Пашу инженером конструктором на околосовковом предприятии. Вышка профильная по машиностроению. Неплохо знаю САПР со стороны технологов/конструкторов. Знаю о существовании служб, занимающихся сопровождением САПР и КТТП.

По начальному багажу знаний: чайник. Когда-то в универе на access сделал простую бд в рамках курсовой.

Есть желание: перейти из сферы машиностроения через сопровождение САПР (например комплекс решений асконовский), (или используя любую другую возможность) в айти. Так как на текущем месте и должности развиваться в айти не вижу возможности.

Задача общая исходя из советов грамотных товарищей и самоопределения: грести в Девопс.

Для этого решил начать с изучения sql поэтому сюда и пишу собственно

Предложили: изучать sql с помощью книги: sql для "чайников" Аллена Тейлора (т.к. в sql не разбираюсь. Только в универе что-то делал) плюс читать документацию по postgreSQL. предложили пройти пару курсов в интернете.

Вопрос:

правильная ли стратегия?

Может что-то упускаю?

Нужно ли что-то кардинально менять и глядеть как-то по другому на это вот все дело?

Может быть посоветуете ещё что нибудь к чему нужно присмотреться в разрезе изучения sql или возможных начальных направлений куда попробовать себя? Куда воевать?

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

Понимаю, что, возможно sql это немного в сторону от девопса, но на мой взгляд это самый ближайший "мост" в айти, где я смогу (возможно) далее параллельно с работой что-то ещё изучать.

Может у кого завалялась книжка по sql упомянутая выше ненужная? Или подскажете может где в интернете поискать?

Пригодится любая информация.

Хорошего вам дня товарищи.

14

Загрузка и установка СУБД ORACLE / Илья Хохлов

Как скачать с официального сайта СУБД ORACLE и установить ее на компьютер. Подготовка компьютера. Создание первой базы данных. Стандартная программа SQL Developer. Создание соединения.


Как создать пользователя / схему данных в ORACLE. В чем разница. Какие права (привилегии) дать новому пользователю. Sys или System. Ответы на эти вопросы смотрите тут.

7

Уроки SQL. Иерархические (рекурсивные) запросы / Илья Хохлов

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


Практический SQL файл к уроку Вы можете скачать по ссылке:

https://prime-soft.biz/std/sql/hierarchical_queries_01.sql


Спасибо за Ваше внимание! Напишите, пожалуйста, под видео Ваши комментарии!

Еще больше уроков на нашем ютуб канале PrimeSoft.
40

Во все тяжкие: Веб-разработчик с нуля. 16 месяцев

Во все тяжкие: Веб-разработчик с нуля. 16 месяцев IT, Программирование, Javascript, Веб-Разработка, Frontend, Web, Длиннопост

Воинское искусство обладает такой силой, что может из простолюдина сделать Короля, а из Короля - простолюдина. Никколо Макиавелли


Цель — Senior Frontend Developer.

Язык: JavaScript / TypeScript.

Возраст: 29 лет.

Работа (настоящее время): Middle Frontend Developer в компании "Open Solutions".

Локация: г. Санкт-Петербург.


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


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


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


Что хочу отметить касательно собеседований на позицию middle? Во-первых, почти во всех компаниях (в том числе куда я устроился) помимо устных ответов на вопросы, которые задают на позицию junior, здесь ты решаешь задачи и пишешь код онлайн. Во-вторых, касательно вопросов - вопросы разные, помимо базы javascript и фрэймворков, здесь задают вопросы о том, как бы ты решил ту или иную реальную конкретную задачу.


Итак, уже две недели я тружусь в компании Open Solutions на удаленной основе. У меня сейчас выстроена 3-х месячная система повышения уровня квалификации (это по желанию), где у меня есть более опытный коллега, который поставил мне задачу на самостоятельное изучение конкретной плоскости и каждый месяц буду делать отчет что получилось и что нет. Сейчас у меня уклон идет в SSR. То есть уход от SPA в изоморфные приложения.


Понятное дело, что middle разработчики бывают разные и поэтому, если вы изучите рынок, то увидите, что зарплаты колеблются от 80 т.р. до 160 т.р. или даже выше. Поэтому будем ориентироваться на средние показатели и тот факт, что по линейке компании, куда я устроился, я прошел на миддла. Вопрос соответствия вообще холиварная тема, но хочу сказать, что соотношение уровня заработной платы и задач,и которые я решаю, меня вполне устраивают.


Так, что могу официально заявить, я на втором и скорее всего самом долгом этапе в становлении профессиональным разработчиком. Компания меня устраивает, условия тоже, коллектив тоже. Поглядим, конечно, что будет дальше. Идея открыть свою компанию у меня никуда не делась.

Кстати, теперь могу спокойно ехать хоть в Турцию и жить там очень комфортно, но сейчас это не актуально.


Памятуя традицию еженедельных отчетов:


- Решил несколько тестовых заданий по React (не выкладываю в репу с тестовыми, так как еще рано, компании их еще высылают соискателям);

- Прочитал книгу Scott Chacon - ProGit (рекомендую тем, кто хочет узнать полезные команды системы контроля версий и проникнуть внутрь git);

- Посмотрел выступление рендеринг на стороне сервера;

- Прошелся по верхам Next.JS;


Да, ты спросишь, а как связаны данные новости с обложкой поста?


Всё просто. Помимо программирования я интересуюсь воинскими искусствами и планирую восстановить тренировки, для чего ищу спарринг-партнера.


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

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


ЛОКАЦИЯ: САНКТ-ПЕТЕРБУРГ. (более точное место определим позже, пока погода позволяет будем тренироваться на улице).


Что конкретно будем рассматривать в ходе тренировок:

- Стиль бокса Каса Д'амато (тренер и наставник Майка Тайсона);

- Испанское неаполитанское и палермитанское фехтование;

- Работа с ножом и против ножа(в том числе голыми руками);

- Работа со стилетом;

- Работа с другими видами оружия;

- Как всё это интегрировать в жизнь и т.д.


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


Я думаю каждый мужчина должен уметь постоять за себя, за семью и за слабого.

Пиши в телеграм, если есть желание составить мне компанию: @artem_owiii


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


Всем удачи и реализаций!

Показать полностью
Мои подписки
Подписывайтесь на интересные вам теги, сообщества,
пользователей — и читайте персональное «Горячее».
Чтобы добавить подписку, нужно авторизоваться.
Отличная работа, все прочитано!