Диплом: Автоматизация управления продажами книжного интернет магазина ООО "Литера"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
66
Для обеспечения защиты от внутренних угроз используется разграничение
прав доступа. Группы пользователей интернет-магазина и их права отображены
в таблице №7.
Таблица №7.
Разграничение прав доступа пользователей
Группа
пользователей
Права
Супер
администратор
Имеет доступ ко всем функциям административной
панели. Пользователи этой группы не могут быть удалены
или переведены в другую группу.
Администратор
имеет несколько урезанные права по сравнению с супер
администраторами. Пользователи, принадлежащие к этой
группе, не могут:
добавлять и редактировать пользователей группы
«супер администратор»;
входить в раздел глобальных настроек;
осуществлять массовую email рассылку;
изменять / добавлять шаблоны;
изменять / добавлять языковые файлы.
Менеджер
Группа создана в основном для управления контентом на
сайте. Пользователи этой группы могут авторизоваться в
административной панели сайта, но не могут:
редактировать других пользователей;
устанавливать модули;
устанавливать компоненты;
иметь доступ к некоторым компонентам,
указанным супер администратором.
Зарегистрированный
Пользователи могу входить на сайт с помощью логин-
формы, они могут получить доступ к дополнительной
информации на сайте, например, статус заказа.
67
Для осуществления минимальной защиты от пользователя требуется
иметь пароль длиной от 6 до 30 символов, состоящий из цифр и латинских букв
различного регистра. Пользователям групп «супер администратор»,
«администратор», «менеджер» требуется менять пароль не реже одного раза в
месяц. Пользователи указанных групп не должны хранить свои пароли в
открытом виде и сохранять их в браузере.
В Устав организации понадобится внести дополнения, указанные ниже. В
раздел «Права и обязанности» следует внести следующие пункты:
Фирма имеет право:
устанавливать состав, объем и порядок защиты конфиденциальных
данных;
обязывать сотрудников защищать конфиденциальные данные;
обеспечивать контроль за соблюдением мер обеспечения
экономической безопасности и защиты конфиденциальных данных.
Фирма обязана:
обеспечить экономическую безопасность и надежное хранение
конфиденциальных данных;
обеспечивать эффективный контроль соблюдения мер экономической
безопасности и защиты конфиденциальных данных.
Следует создать параграф «Конфиденциальная информация», в котором
будут следующие пункты:
компания формирует защиту своих конфиденциальных данных;
порядок защиты состава и объема информации конфиденциального
характера определяются генеральным директором.
Внедрение данных дополнений наделяет администрацию компании
следующими привилегиями:
формировать организационные структуры по защите коммерческой
тайны или делегировать эти обязанности отвечающим требованиям
должностным лицам;
составлять нормативные и распорядительные документы,
устанавливающие порядок выделения сведений, основывающих
коммерческую тайну, и механизмы их защиты;
68
вносить требования по защите коммерческой тайны в договоры по всем
видам деятельности (коллективный и совместные со смежниками);
предъявлять требование защиты интересов компании перед
государственными и судебными властями;
управлять данными, являющимися собственностью компании, с целью
получения прибыли и предотвращения экономического ущерба
коллективу и собственнику средств производства.
Для защиты конфиденциальных данных в компании должны быть созданы
надлежащие нормативно-правовые документы:
список информации, являющейся коммерческой тайной;
обязательство о неразглашении коммерческой тайны в виде договора;
правила соблюдения защиты коммерческой тайны.
Защита данных, представленных в электронной форме, должна
претворяться в жизнь в соответствии с условиями РД ФСТЭК, и СТР-К
(специальные требования и рекомендации по технической защите
конфиденциальной информации).
Прежде всего надлежит создать перечень сведений, которые
образовывают коммерческую тайну. Сведения, включенные в Перечень, имеют
ограниченный характер на использование (применение). Ограничения, вводимые
на использования сведений, составляющих коммерческую тайну, направлены на
защиту интеллектуальной, материальной, финансовой собственности и других
интересов, возникающих при формировании трудовой деятельности служащих
(персонала) её подразделений, а также при их сотрудничестве со служащими
других компаний.
Следом нужно составить инструкцию, устанавливающую методику
доступа сотрудников к конфиденциальным данным, систему создания, учёта,
хранения и ликвидации конфиденциальных данных компании.
Защита от внешних угроз.
PHP очень популярный язык во всем мире. По этой причине, хакеры часто
пытаются найти способы взлома сайта на PHP. Все приведенные ниже советы
рассчитаны на то, что PHP работает под управлением Nginx или Apache, сам
интерпретатор PHP недоступен из внешней сети. А теперь, перейдем к
69
рассмотрению того, как выполняется защита php кода, сайта и сервера в целом.
[11]
1. ЗНАЙТЕ ВРАГА В ЛИЦО
Приложения на основе PHP могут подвергаться различным типам атак,
вот основные из них:
XSS - это уязвимость в веб-приложениях, с помощью которой
злоумышленники могут выполнять произвольный JavaScript код в браузере
пользователей, и таким образом, украсть его данные. Возникает из-за отсутствия
проверки данных в скриптах на правильность;
SQL инъекция - это уязвимость в коде работы с базой данных. Если
пользовательский ввод неверно фильтруется скриптом, и используется для
формирования запроса к базе данных, то злоумышленники могут выполнить
любые запросы к базе данных. Для предотвращения такой проблемы
рекомендуется фильтровать данные функцией mysql_real_escape_string() перед
отправкой запроса;
Загрузка файлов - позволяет посетителю загружать файлы на ваш сервер.
Загрузив определенный тип файлов, пользователи могут получить доступ к
системе или даже украсть информацию из базы данных, поэтому нужно следить,
чтобы можно было загружать только картинки;
Удаленное выполнение - злоумышленник может удаленно выполнять php
файлы, которые есть на сервере, поэтому вместе с возможностью загрузки PHP
файлов это представляет серьезную опасность;
Eval() - позволяет выполнить код PHP, переданный в строке, часто
используется злоумышленниками, чтобы скрыть свой код на вашем сервере;
CSRF атака - позволяет заставить пользователя выполнить нежелательные
действия в веб-приложениях. Если пользователь является администратором, это
может поставить под угрозу все приложение.
2. ИСПОЛЬЗУЙТЕ ТОЛЬКО НЕОБХОДИМЫЕ МОДУЛИ
Чтобы посмотреть все скомпилированные модули PHP, выполняется
команда:
php -m
70
Рекомендуется использовать только самые необходимые модули, чтобы
увеличить безопасность. Например, можно отключить модуль sqlite. Для этого
можно удалить его конфигурационный файл в /etc/php5/conf.d/. Но для полного
удаления нужно пересобрать PHP без этого модуля.
3. ИЗБЕГАЙТЕ УТЕЧЕК ИНФОРМАЦИИ
В конфигурационном файле php.ini есть строка:
expose_php = Off
Если установлено значение On, то PHP будет отправлять версию PHP в
ответ на все запросы в заголовке X-Powered-By. Также рекомендуется скрыть
версию Apache и другую информацию. Защита php от взлома - это не только
аккуратное программирование, но и сокрытие информации о системе.
4. ОТКЛЮЧИТЕ ДИНАМИЧЕСКИЕ РАСШИРЕНИЯ
PHP поддерживает динамическую загрузку расширений. По умолчанию
загружаются все расширения, конфигурационные файлы которых есть в
/etc/php/conf.d/. Также загружаются модули, которые указаны директивой
extension в основном конфиге php.ini. Можно удалить ненужное.
5. ВЫВОД ОШИБОК
Сообщения об ошибках содержат много информации, не стоит позволять
их смотреть всем пользователям сайта. Можно привести директиву display_errors
к такому виду:
display_errors = Off
Убедимся, что мы сохраняем все ошибки в лог файл:
log_errors = On
error_log = /var/log/httpd/php_scripts_error.log
6. ЗАПРЕТИТЕ ЗАГРУЗКУ ФАЙЛОВ
Если загрузка файлов не нужна - запретите ее:
file_uploads = Off
Но если такая функция необходима, то лучше ограничить размер файла:
file_uploads = On
upload_max_filesize = 1M
Пользователи смогут загружать файлы размером не более 1 мегабайт, что
повышает безопасность..
71
6. ОТКЛЮЧИТЕ УДАЛЕННОЕ ВЫПОЛНЕНИЕ КОДА
Если параметр allow_url_fopen включен, php может использовать такие
файловые функции, как file_get_contents. С помощью нее скрипт может
загружать файлы из удаленных серверов. Программисты часто забывают
выполнить надлежащую фильтрацию данных, и тем самым открывают
уязвимость. Для отключения измените директиву:
allow_url_fopen = Off
Также рекомендуется отключить allow_url_include:
allow_url_include = Off
7. ВКЛЮЧИТЕ БЕЗОПАСНЫЙ РЕЖИМ SQL
В безопасном режиме SQL интерпретатор игнорирует все аргументы,
передаваемые в функции mysql_connect и mysql_pcconnect. Но в таком режиме
будут работать не все скрипты, например, не будет работать WordPress, так что
используйте аккуратно. Для включения добавьте директиву:
sql.safe_mode = Оn
Также рекомендуется отключить функцию magic_quotes_gpc, вместо нее
лучше использовать mysql_escape_string:
magic_quotes_gpc=Off
9. КОНТРОЛИРУЙТЕ РАЗМЕР POST
Метод POST используется, когда браузер хочет передать веб-серверу
определенное количество данных как часть запроса, например, при загрузке
файла. Злоумышленники могут использовать большие запросы, чтобы истратить
ресурсы сервера. Поэтому размер лучше ограничить:
post_max_size=1K
10. КОНТРОЛИРУЙТЕ РЕСУРСЫ
Можно указать максимальное время выполнения для каждого скрипта,
максимальное количество памяти и максимальное время чтения данных, это
увеличит безопасность сайта php в плане DOS атак:
max_execution_time = 30
max_input_time = 30
memory_limit = 40M
72
11. ОТКЛЮЧИТЕ ОПАСНЫЕ ФУНКЦИИ
PHP содержит множество функций, которые могут использоваться для
взлома сервера, например, те, которые позволяют выполнять команды оболочки.
Чтобы отключить, достаточно их перечислить в директиве disable_functions:
disable_functions
=exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_i
ni_file,show_source
12. НАСТРОЙТЕ FASTCGI ДЛЯ ЛУЧШЕЙ БЕЗОПАСНОСТИ
PHP может работать через FastCGI, это уменьшает использование памяти
веб-сервера. Нужно включить директиву force_redirect, чтобы предотвратить
прямое выполнение php скриптов из строки запроса, например, cgi-
bin/php/hackerdir/backdoor.php. Для этого добавляется:
cgi.force_redirect=On
13. UID И GID ИНТЕРПРЕТАТОРА PHP
Если используется внешний FastCGI сервер, то нужно, чтобы он был
запущен не от пользователя root. Запускайте php от имени
непривилегированного пользователя. Как мы знаем, у PHP есть функции,
которые позволяют выполнять команды оболочки. Очень небезопасно, если они
будут выполняться от суперпользователя.
14. ОГРАНИЧЕНИЕ ДОСТУПА К ФАЙЛОВОЙ СИСТЕМЕ
Директива open_basedir позволяет установить каталог, в котором php
может получить доступ к файлам с помощью таких функций, как fopen,
file_get_contents и т. д. Если файл находится вне этой директории, PHP
откажется его открывать. Не получится даже не использовать символические
ссылки.
open_basedir = "/var/www/html/"
15. ПУТЬ ДЛЯ ХРАНЕНИЯ СЕССИЙ
Нужна не только защита php сайта, чтобы скрипты не смогли причинить
вред системе, но и чтобы пользователи не могли получить доступ к файлам php.
Сессии в php позволяют сохранить определенную информацию между
обращениями пользователя. Путь, где будет храниться эта информация, указан в
73
файле /etc/php/php.ini. Следует убедиться, что этот путь находится вне /var/www/
и недоступен для чтения или записи для других пользователей системы.
upload_tmp_dir = "/var/lib/php/session"
16. ДЕРЖИТЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ В АКТУАЛЬНОМ
СОСТОЯНИИ
Все программы могут содержать различные уязвимости, поэтому важно
выполнять регулярное обновление системы, чтобы вовремя применить все патчи
безопасности. Нужно обновлять не только PHP, а весь программный стек, в том
числе Apache.
17. ИСПОЛЬЗУЙТЕ SELINUX
SELinux - это система безопасности, используемая по умолчанию в
RedHat. Ее можно использовать для предотвращения несанкционированного
доступа к файлам и ресурсам. Например, можно установить политики
безопасности для веб-сервера Apache или отдельного сервера PHP. Это тоже
отличная защита PHP и не только.
18. УСТАНОВИТЕ MOD_SECURITY
Это модуль Apache для обнаружения и предотвращения в веб-
приложения. Он может защитить php и ваше приложение от XSS и SQL-Inj атак.
Например, чтобы не позволять открывать файлы в /etc/, после установки модуля
добавьте в конфигурационный файл Apache:
SecFilter /etc/
А для предотвращения SQL инъекций:
SecFilter "delete[[:space:]]+from"
SecFilter "select.+from"
19. ПРОСМАТРИВАЙТЕ ЖУРНАЛЫ
Следует регулярно просматривать файлы журналов Apache и PHP, так
можно получить некоторые представления о том, как работает сервер и
проверить уровень безопасности.
tail -f /var/log/httpd/error_log
$ tail -f /var/log/httpd/php_scripts_error.log
74
2.2 Информационное обеспечение задачи
2.2.1 Информационная модель и её описание.
Информационная модель представляет собой схему, отражающую
преобразование информационных реквизитов от источников информации до её
получателей или, иными словами, процесс обработки информации в
информационной системе.
Ниже, на рисунке 11, отображена информационная модель процесса
составления заказа.
75
Покупатель АСУ
Интернет-
магазин
Регистрация Авторизация
Управление
справочникам
и каталогами
Спр* «Категории»
Спр* «Товары»
Выбор
товара
Т* «Корзина»
Оформление
заказа
Т* «Заказы»
Заказ
принят
Покупатель
Ф «E-mail
уведомление»
Спр «Категории»
Спр «Товары»
Спр*
«Пользователи»
Спр
«Пользователи»
Т «Корзина»
Спр «Способ
оплаты»
Спр «Способ
доставки»
АСУ
Спр* «Способ
оплаты»
Т «Заказы»
Спр* «Способ
доставки»
Вывод
информации о
ранних заказах
Рис. 11. Информационная модель.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)