Poyasnitelnaya (1210311), страница 5
Текст из файла (страница 5)
Рисунок 3.1 – Скриншот сайта – административная панель
-
Идентификация и аутентификация субъектов доступа и объектов доступа
На сайте были обеспечены процедуры идентификации и аутентификации пользователей. При доступе к административной панели сайта либо к информации образовательных курсов (конфиденциальной информации) осуществляется идентификация (на основе имени пользователя или электронной почты) и аутентификация пользователей. Аутентификация пользователя осуществляется с использованием пароля, соответствующего следующим характеристикам (рисунок 3.2):
-
длина пароля не менее шести символов;
-
алфавит пароля не менее 30 символов;
-
смена паролей не более чем через 180 дней.
Рисунок 3.2 – Скриншот сайта – модальное окно авторизации
В административной панели был реализован функционал для создания, редактирования, удаления, блокирования учетных записей.
Была создана возможность восстановления пароля с помощью электронной почты или имени пользователя. Система сайта генерирует ссылку для сброса пароля и направляет ее на адрес электронной почты пользователя. Пользователь, переходя по данной ссылке, должен создать указать новый пароль и подтвердить ввод данных.
-
Управление доступом субъектов доступа к объектам доступа
Были установлены и реализованы следующие функции управления учетными записями пользователей:
-
определение типа учетной записи (администратор, слушатель);
-
объединение учетных записей в группы (категории);
-
заведение, активация, блокирование и уничтожение учетных записей пользователей;
-
предоставление пользователям прав доступа к сайту, основываясь на роле (слушатель, администратор).
Было реализовано автоматическое блокирование неактивных (неиспользуемых) учетных записей пользователей после периода времени неиспользования более 90 дней.
На сайте для управления доступом субъектов доступа к объектам доступа были реализованы методы управления доступом, назначены типы доступа субъектов к объектам доступа и реализованы правила разграничения доступа субъектов доступа к объектам доступа. Был реализован ролевой метод управления доступом, предусматривающий управление доступом субъектов доступа к объектам доступа на основе ролей субъектов доступа (совокупность действий и обязанностей, связанных с определенным видом деятельности).
Реализовано завершение сеанса доступа пользователя после времени его бездействия (неактивности) на сайте. Данное время равняется 90 минутам. С использованием функции «запомни меня» при авторизации происходит сохранение данных сессии с помощью cookies на семь дней.
Cookie – небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Веб-клиент (обычно веб-браузер) всякий раз при попытке открыть страницу соответствующего сайта пересылает этот фрагмент данных веб-серверу в составе HTTP-запроса.
Был установлен перечень действий пользователей, разрешенных до прохождения ими процедур идентификации и аутентификации, и запрет действий пользователей, не включенных в перечень разрешенных действий, до прохождения пользователями процедур идентификации и аутентификации. Пользователям разрешается до прохождения ими процедур идентификации и аутентификации получать доступ к общедоступной информации на сайте, а также отправлять вопросы с помощью контактной формы и подавать заявку на образовательные курсы.
-
Регистрация событий безопасности
Были определены события безопасности на сайте, подлежащие регистрации, и сроки их хранения.
На сайте подлежат регистрации следующие события:
-
вход (выход) на сайт;
-
попытки доступа к определяемым оператором защищаемым объектам доступа (неавторизированная попытка доступа к образовательным курсам, неавторизованная попытка доступа к административной панели);
-
изменение контента (новостей, статей, образовательных курсов).
Был внедрен контроль версий контента при его изменении. То есть у каждой новости, статьи (материала) или образовательного курса есть история с версиями. Данная история содержит сам контент, дату и время изменения, а также имя привилегированного (имеющего доступ к административной панели) пользователя.
Был обеспечен срок хранения информации о зарегистрированных событиях безопасности не менее трех месяцев.
Состав и содержание информации о событиях безопасности, включаемой в записи регистрации о событиях безопасности обеспечивают возможность идентификации типа события безопасности, даты и времени события безопасности, идентификационной информации источника события безопасности, результат события безопасности (успешно или неуспешно), субъект доступа (пользователь), связанный с данным событием безопасности. Например, регистрация попыток входа изображена на рисунке 3.4. Создана навигация между таблицами успешных и не успешных попыток, в которых обозначаются имена пользователей, IP, время и дата попытки. Данная функция была реализована с помощью интеграции и модернизации плагина «WordFence Security».
Рисунок 3.4 – Скриншот административной панели сайта – плагин «WordFence Secutiry»
-
Антивирусная защита
Была обеспечена антивирусная защита сайта с помощью интеграции и модернизации плагина «WordFence Secutiry». Реализация антивирусной защиты предусматривает:
-
установку, конфигурирование и управление средством антивирусной защиты;
-
предоставление доступа средства антивирусной защиты к объектам сайта, которые должны быть подвергнуты проверке средством антивирусной защиты;
-
проведение периодических проверок объектов сайта (файлов) на наличие вредоносных компьютерных программ (вирусов);
-
оповещение администраторов безопасности в масштабе времени, близком к реальному, об обнаружении вредоносных компьютерных программ (вирусов);
-
определение действий при обнаружении на сайте объектов, подвергшихся заражению вредоносными компьютерными программами (вирусами).
Было обеспечено автоматическое обновление базы данных признаков вредоносных компьютерных программ (вирусов). Обновление базы данных признаков вредоносных компьютерных программ (вирусов) предусматривает:
-
получение уведомлений о необходимости обновлений и непосредственном обновлении базы данных признаков вредоносных компьютерных программ (вирусов);
-
получение из доверенных источников и установка обновлений базы данных признаков вредоносных компьютерных программ (вирусов);
-
контроль целостности обновлений базы данных признаков вредоносных компьютерных программ (вирусов).
-
Дополнительные меры: защита от несанкционированного доступа к программному обеспечению сайта
Основываясь на «ГОСТ Р 53114-2008 Защита информации. Обеспечение информационной безопасности в организации» несанкционированный доступ – это доступ к информации или к ресурсам автоматизированной информационной системы, осуществляемый с нарушением установленных прав и (или) правил доступа. Несанкционированный доступ может быть осуществлен преднамеренно или непреднамеренно. Права и правила доступа к информации и ресурсам информационной системы устанавливаются для процессов обработки информации, обслуживания автоматизированной информационной системы, изменения программных, технических и информационных ресурсов, а также получения информации о них [10].
В соответствие с «ГОСТ Р 50922-2006 Защита информации. Основные термины и определения» защита информации от несанкционированного доступа должна быть направлена на предотвращение получения защищаемой информации заинтересованными субъектами с нарушением установленных нормативными и правовыми документами (актами) или обладателями информации прав или правил разграничения доступа к защищаемой информации [11].
После проведенного анализа открытых источников в виде статистики известных предприятий в области информационной безопасности («Лаборатория Касперского», «Positive Technologies», «SoftLine») несанкционированный доступ к программному обеспечению сайта может возникать в следующих основных случаях [17]:
-
атака с помощью SQL-инъекций;
-
атака межсайтового выполнения сценариев;
-
атака межсайтовой подделки запроса.
Рассмотрим защиту от данных атак, которая была реализована на сайте ДВУНЦ.
Внедрение SQL-кода (англ. SQL injection) – один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.
Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере.
Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах.
SQL инъекция (SQL injection) – уязвимость которая возникает при недостаточной проверке и обработке данных, которые передаются от пользователя, и позволяет модифицировать и выполнять непредвиденные кодом программы SQL запросы.
Использование этой уязвимости дает путь к большим возможностям: кража, изменение или уничтожение данных, отказ в обслуживании, и т.д.
Для предотвращения данной атаки были соблюдены следующие правила и действия:
-
обрабатывались и экранировались данные «GET» и «POST» запросов с помощью функций «mysql_real_escape_string»;
-
был отключен вывод информации об ошибках при запросах к базе данных, а также была реализована обработка ошибок;
-
был создан пользователь базы данных с ограниченными правами (необходимыми для выполнения конкретных задач в рамках администрирования и ведения сайта);
-
в поиске было ограничено минимальное и максимальное количество символов, являющееся параметрами запроса;
-
была внедрена проверка количества возвращенных записей после каждого запроса.
XSS (англ. Cross-Site Scripting – «межсайтовый скриптинг») – тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника.
Специфика подобных атак заключается в том, что вредоносный код может использовать авторизацию пользователя в веб-системе для получения к ней расширенного доступа или для получения авторизационных данных пользователя. Вредоносный код может быть вставлен в страницу как через уязвимость в веб-сервере.
Суть XSS-атаки заключается во внедрении в страницу, которая генерируется скриптом, произвольного кода. Это работает, если переменная, передаваемая в адресе страницы, не проверяется на присутствие в ней символов типа кавычек.
Основная опасность – кража cookies, и, следовательно, получение доступа к аккаунтам пользователей. Также хакер может получить информацию о системе посетителя, об истории посещенных сайтов и т. п. Внедрить также можно не только java-скрипт, а и ссылку на php-скрипт, размещенный на стороннем сервере, что намного опаснее.
Для предотвращения данной атаки были соблюдены следующие правила и действия:
-
была реализована фильтрация входных параметров (параметров, которые передаются) с использованием следующих функций «filter_sanitize_encoded» (для кодирования URL), «htmlentities» (для фильтрации HTML);
-
была указана кодировка на каждой странице сайта (UTF-8) до пользовательских полей;
-
была обеспечена безопасность cookies, путём ограничения домена и пути для принимаемых cookies;
-
был использован заголовок Content Security Policy, позволяющего задавать список, в который заносятся желательные источники, с которых можно подгружать различные данные, например, JS, CSS, изображения и пр.
CSRF (англ. Сross Site Request Forgery – «Межсайтовая подделка запроса», также известен как XSRF) – вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP. Если жертва заходит на сайт, созданный злоумышленником, от её лица тайно отправляется запрос на другой сервер (например, на сервер платёжной системы), осуществляющий некую вредоносную операцию (например, перевод денег на счёт злоумышленника). Для осуществления данной атаки жертва должна быть аутентифицирована на том сервере, на который отправляется запрос, и этот запрос не должен требовать какого-либо подтверждения со стороны пользователя, которое не может быть проигнорировано или подделано атакующим скриптом.