Potencjalne zagrożenia bezpieczeństwa w blogach open source: Jak chronić dane osobowe przed wyciekami

Przegląd

GitHub Pages jako darmowa platforma hostingowa dla blogów open source zyskała popularność dzięki swojej wygodzie i braku opłat. Jednak wersja darmowa wymaga, aby repozytorium było publiczne, aby zapewnić publiczny dostęp, co może prowadzić do nieoczekrych ryzyk wycieku informacji.

Mimo że treść artykułu może nie zawierać poufnych informacji, repozytorium kodu źródłowego bloga może przypadkowo ujawnić prywatne informacje. W niniejszym artykule omówimy te potencjalne ryzyka i przedstawimy praktyczne rozwiązania.

🔍 Częste typy wycieków informacji

Wrażliwe chińskie słowa

Następujące chińskie słowa mogą zawierać wrażliwe informacje osobiste i zaleca się sprawdzenie ich przed przesłaniem kodu:

  • Hasło
  • Konto
  • Dowód osobisty
  • Karta bankowa
  • Alipay
  • WeChat
  • Numer telefonu
  • Adres zamieszkania
  • Miejsce pracy
  • Karta ubezpieczenia społecznego
  • Prawo jazdy
  • Paszport
  • Karta kredytowa

Kluczowe słowa w języku angielskim

W środowisku angielskim należy szczególnie zwracać uwagę na następujące słowa kluczowe:

  • username
  • password
  • account
  • key
  • ini
  • credential
  • card
  • bank
  • alipay
  • wechat
  • passport
  • id
  • phone
  • address
  • company

Wykrywanie za pomocą wyrażeń regularnych

Można użyć następującego wyrażenia regularnego do skanowania potencjalnych wrażliwych informacji w repozytorium:

(Hasło|Konto|Dowód osobisty|Karta bankowa|Alipay|WeChat|Numer telefonu|Adres zamieszkania|Miejsce pracy|Karta ubezpieczenia społecznego|Prawo jazdy|Paszport|Karta kredytowa|username|password|passwd|account|key\s*:|\.ini|credential|card|bank|alipay|wechat|passport|id\s*:|phone|address|company)

Skanowanie w VSCode

Jeśli używasz VSCode jako edytora bloga, możesz wykonać poniższe kroki, aby przeprowadzić pełne skanowanie wrażliwych informacji w całym serwisie:

  1. Otwórz VSCode
  2. Użyj skrótu klawiaturowego Ctrl+Shift+F (Windows/Linux) lub Cmd+Shift+F (Mac), aby otworzyć globalne wyszukiwanie
  3. Wpisz powyższe wyrażenie regularne w polu wyszukiwania
  4. Włącz tryb wyrażeń regularnych (kliknij ikonę .* obok pola wyszukiwania)
  5. Kliknij przycisk wyszukiwania i sprawdź potencjalne wrażliwe informacje w wynikach

Przykład wyszukiwania wyrażeń regularnych w VSCode

🕰️ Wyciek informacji w historii Git

Historia wersji Git może zawierać poufne informacje z usuniętych plików. Nawet jeśli obecny kod nie zawiera poufnych treści, w przeszłych commitach mogą nadal znajdować się te informacje.

Skanowanie historii Git

Można użyć prostego skryptu do skanowania przeszłych commitów w otwartym blogu w celu sprawdzenia potencjalnego wycieku informacji.

Czyszczenie historii Git

Jeśli konieczne jest wyczyszczenie wrażliwych informacji z historii Git, można użyć następującej metody:

⚠️ Ważne ostrzeżenie: Wykonanie poniższych operacji permanentnie usunie historię Git. Proszę koniecznie utworzyć kopię zapasową ważnych danych i upewnić się, że w pełni rozumiesz znaczenie tych poleceń.

# Zresetuj do pierwszego commita (zachowując zmiany w obszarze roboczym)
git reset --soft ${first-commit}

# Wymuś push na zdalne repozytorium
git push -f

Uwaga: Jeśli chcesz zachować pełną historię commitów, nie używaj powyższej metody.

🛠️ Zalecane profesjonalne narzędzia do skanowania

Oprócz ręcznego sprawdzania, można użyć profesjonalnych narzędzi do bardziej kompleksowego skanowania:

TruffleHog

TruffleHog to potężne narzędzie do odkrywania, weryfikowania i analizowania wycieków danych uwierzytelniających.

Logo TruffleHog

Cechy:

  • Liczba gwiazdek na GitHub: 17,2k
  • Liczba forków: 1,7k
  • Obsługuje różne tryby skanowania
  • Może wykrywać głęboko zagnieżdżone wrażliwe informacje

🔒 Alternatywy dla bezpiecznej publikacji bloga

Jeśli obawiasz się ryzyka bezpieczeństwa związanego z publicznym repozytorium, rozważ następujące alternatywy:

1. Użycie GitHub Pro

  • GitHub Pro pozwala publikować prywatne repozytorium na Pages
  • Koszt: około 4 USD miesięcznie
  • Zalety: zachowanie prywatności kodu źródłowego, jednocześnie ciesząc się wygodą GitHub Pages

2. Użycie Cloudflare Pages

  • Ustaw repozytorium jako prywatne
  • Wdrożenie za pośrednictwem Cloudflare Pages
  • Zalety: całkowicie darmowe, obsługuje prywatne repozytoria

3. Strategia podwójnego repozytorium

  • Prywatne repozytorium: przechowuje artykuły w trakcie edycji i szkice
  • Publiczne repozytorium: przechowuje tylko ostatecznie opublikowane artykuły
  • Zalety: maksymalna ochrona szkiców i nieopublikowanych treści
  • Uwaga: jeśli używasz systemów komentarzy zależnych od GitHub, takich jak giscus, nadal potrzebujesz publicznego repozytorium

📝 Najlepsze praktyki

  1. Regularne przeglądy: regularnie używaj narzędzi skanujących do sprawdzania wrażliwych informacji w repozytorium
  2. Sprawdzanie przed commitowaniem: przed każdym commitowaniem kodu sprawdź, czy nie zawiera on poufnych informacji
  3. Używanie .gitignore: poprawnie skonfiguruj plik .gitignore, aby wykluczyć poufne pliki
  4. Zmienne środowiskowe: przechowuj poufne ustawienia w zmiennych środowiskowych, a nie w repozytorium kodu
  5. Zarządzanie szkicami: rozważ użycie dedykowanego systemu zarządzania szkicami, aby uniknąć przypadkowego commitowania szkiców

🎯 Podsumowanie

Błogowanie open source, choć wygodne, rzeczywiście wiąże się z ryzykiem wycieku informacji. Poprzez stosowanie odpowiednich narzędzi i metod możemy skutecznie zmniejszyć te ryzyka. Wybierając odpowiednią platformę i strategię publikacji, możemy cieszyć się wygodą open source, jednocześnie chroniąc prywatność.

Pamiętaj, że bezpieczeństwo informacji to proces ciągły, który wymaga od nas stałej czujności.

Zasoby referencyjne