24-03-2022

Чек-лист технического аудита Интернет-проекта

Чек-лист технического аудита Интернет-проекта
NJ Soft

К нам в NJ Soft переодически обращаются за техническим аудитом Интернет-проектов. Делюсь чек-листом, который может быть также полезен для внутренней приемке/передаче дел по web/mobile-проектам в компании.

Чек-лист структурирован по смысловым блокам. Рекомендую собрать максимальное количество информации. Работа по пунктам данного чек-листа может быть отличным началом для базы знаний по проекту.

1. Окружение
1.1. Операционная система
1.2. Веб сервер (тип, версия, файлы конфигураций общие и виртуальных хостов)
1.3. Сервер БД (тип, файлы конфигураций)
1.4. Дополнительные службы (docker/memcached/rabbitmq и т.п.) - если есть и их файлы конфигураций
1.5. Использование crontab или других плановых заданий
1.6. Резервное копирование ведется - да/нет? Если да - доступы к серверу хранения резервных копий и описание формата копирования

2. Доступы
2.1. root-доступ на сервер
2.2. пароль от пользователя, под которым работает приложение
2.3. пользователь и пароль от БД
2.4. доступ в административную панель (главнвый администратор)
2.5. доступы к тестовому окружению

3. Структура БД
3.1. Список таблиц и комментарии по каждой таблице и ключевым данным
3.2. Схема взаимосвязей между таблицами БД (если есть)

4. Приложение
4.1. Язык и фреймворк (например PHP/Symfony)
4.2. Ведется ли контроль версий кода (Git ?). Если ведется - доступ к удаленному репозиторию (если есть).
4.3. Ведется ли документация по проекту? Если да - ссылка и доступ к документации.
4.4. В какой системе ведутся задачи по проекту (trello, jira, битрикс24 ? доступ к системе если есть)
4.5. Есть ли в проекте API. Если да - есть ли документация.
4.6. Технический долг - какой код требует внимания в первую очередь (может создавать проблемы - нужен рефакторинг)

5. Интеграции
5.1. Интеграции с sms/мессенджерами/почтовыми рассылками? Ссылка на API/документацию
5.2. Интеграции с платежными системами
5.3. Интеграции с внутренними корпоративными системами

6. Дизайн/верстка
6.1. Есть ли отдельные шаблоны дизайна/верстки проекта
6.2. Ведется ли репозиторий верстки? Если да - нужны доступы к удаленному репозиторию (если есть).

7. Документация
7.1. Есть ли документация по проекту для пользователей/сотрудников компании?
7.2. Группы пользователей и пользовательские сценарии
7.3. Инструкции по типовым операциям для администраторов проекта

8. Безопасность
8.1. Проверить, что /.git/ или другие служебные директории закрыты от доступа извне
8.2. Документация по проекту и тестовые сервера закрыты под basic-авторизацией (логин/пароль)
8.3. Пароли соответствуют требованиям к безопасности (есть цифры, большие/маленькие буквы, спец. символы)
8.4. Все пароли только что изменены и сохранены
8.5. Пароли специальном в защищенном хранилище

business dev web