Потенциальные угрозы безопасности в блогах с открытым исходным кодом: как защитить личную информацию от утечек
Categories:
Обзор
GitHub Pages как бесплатная платформа для хостинга блогов с открытым исходным кодом пользуется популярностью благодаря своей удобности и бесплатности. Однако бесплатная версия требует, чтобы репозиторий был публичным для предоставления публичного доступа, что может привести к непреднамеренной утечке информации.
Даже если содержимое статьи не содержит конфиденциальной информации, исходный код блога может непреднамеренно раскрыть личную информацию. В этой статье рассматриваются эти потенциальные риски и предлагаются практические решения.
🔍 Типичные типы утечек информации
Китайские чувствительные слова
Следующие китайские слова могут содержать личную конфиденциальную информацию, рекомендуется проверять их перед отправкой кода:
- Пароль
- Аккаунт
- Идентификационный номер
- Банковская карта
- Alipay
- Номер телефона
- Домашний адрес
- Место работы
- Социальная карта
- Водительское удостоверение
- Паспорт
- Кредитная карта
Английские ключевые слова
В англоязычной среде следует особое внимание уделять следующим ключевым словам:
- username
- password
- account
- key
- ini
- credential
- card
- bank
- alipay
- passport
- id
- phone
- address
- company
Использование регулярных выражений для обнаружения
Можно использовать следующее регулярное выражение для сканирования потенциально конфиденциальной информации в репозитории:
(密码|账号|身份证|银行卡|支付宝|微信|手机号|家庭住址|工作单位|社保卡|驾驶证|护照|信用卡|username|password|passwd|account|key\s*:|\.ini|credential|card|bank|alipay|wechat|passport|id\s*:|phone|address|company)
Сканирование в VSCode
Если вы используете VSCode в качестве редактора блога, вы можете выполнить полный сканирование чувствительной информации по сайту следующим образом:
- Откройте VSCode
- Используйте сочетание клавиш
Ctrl+Shift+F(Windows/Linux) илиCmd+Shift+F(Mac) для открытия глобального поиска - Введите указанное выше регулярное выражение в поле поиска
- Включите режим регулярных выражений (нажмите значок
.*рядом с полем поиска) - Нажмите поиск и проверьте результаты на наличие потенциально чувствительной информации

🕰️ Утечки информации в истории Git
История версий Git может содержать чувствительную информацию из удаленных файлов. Даже если в текущем коде нет чувствительной информации, в исторических коммитах она может сохраниться.
Сканирование истории Git
Можно использовать простой скрипт для сканирования истории коммитов блога с открытым исходным кодом на предмет утечек информации.
Очистка истории Git
Если необходимо очистить чувствительную информацию из истории Git, можно использовать следующие методы:
⚠️ Важное напоминание:Выполнение следующих операций приведет к постоянному удалению истории Git, пожалуйста, обязательно создайте резервные копии важных данных и убедитесь, что вы полностью понимаете значение этих команд.
# Сброс до первого коммита (сохранение изменений в рабочей области)
git reset --soft ${first-commit}
# Принудительная отправка в удаленный репозиторий
git push -f
Примечание:Если вы хотите сохранить полную историю коммитов, не используйте вышеуказанный метод.
🛠️ Рекомендуемые профессиональные инструменты сканирования
Помимо ручной проверки, можно использовать профессиональные инструменты для более комплексного сканирования:
TruffleHog
TruffleHog — это мощный инструмент для обнаружения, проверки и анализа утечек учетных данных.
Характеристики:
- Звезды на GitHub:17.2k
- Forks:1.7k
- Поддержка различных режимов сканирования
- Может обнаруживать глубоко вложенные чувствительные данные
🔒 Альтернативные решения для безопасной публикации блога
Если вы беспокоитесь о рисках безопасности, связанных с публичными репозиториями, вы можете рассмотреть следующие альтернативы:
1. Использование GitHub Pro
- GitHub Pro поддерживает публикацию частных репозиториев на Pages
- Стоимость:около 4 долларов США в месяц
- Преимущества:сохранение конфиденциальности исходного кода при сохранении удобства GitHub Pages
2. Использование Cloudflare Pages
- Установите репозиторий как частный
- Разверните через Cloudflare Pages
- Преимущества:полностью бесплатно, поддержка частных репозиториев
3. Стратегия двойного репозитория
- Частный репозиторий:хранит статьи в процессе редактирования и черновики
- Публичный репозиторий:хранит только опубликованные статьи
- Преимущества:максимальная защита черновиков и неопубликованного контента
- Примечание:если вы используете системы комментариев, зависящие от GitHub, такие как
giscus, вам все равно понадобится публичный репозиторий
📝 Рекомендации по лучшим практикам
- Регулярный аудит:регулярно используйте инструменты сканирования для проверки чувствительной информации в репозитории
- Проверка перед отправкой:перед каждым коммитом кода проверяйте, не содержит ли он чувствительной информации
- Использование .gitignore:правильно настройте файл
.gitignoreдля исключения чувствительных файлов - Переменные окружения:храните чувствительные настройки в переменных окружения, а не в репозитории кода
- Управление черновиками:рассмотрите возможность использования специальной системы управления черновиками, чтобы избежать случайной отправки черновиков
🎯 Заключение
Блог с открытым исходным кодом удобен, но действительно несет риски утечки информации. Используя соответствующие инструменты и методы, мы можем эффективно снизить эти риски. Выбор подходящей платформы и стратегии публикации позволяет наслаждаться удобствами открытого исходного кода, одновременно защищая личную безопасность.
Помните, что информационная безопасность — это непрерывный процесс, требующий постоянной бдительности.