6.9 KiB
AutoScript: Zintegrowana Platforma Serwerowa
AutoScript to w pełni zintegrowane, zautomatyzowane i bezpieczne rozwiązanie do wdrażania i zarządzania kompletną, wielousługową platformą serwerową. Ten projekt przekształca "surowy" serwer w gotowe do pracy, zabezpieczone i monitorowane środowisko, zdolne do hostowania szerokiej gamy aplikacji jednocześnie.
Spis Treści
- Architektura Platformy: Przegląd Usług
- Przewodnik Konfiguracyjny: Zdobywanie Kluczy
- Instalacja (Szybki Start)
- Przewodnik po Komendach
- Kopie Zapasowe i Odtwarzanie
- Aspekty Bezpieczeństwa
- Licencja
1. Architektura Platformy: Przegląd Usług
AutoScript buduje kompleksowy ekosystem usług, gotowych do użycia zaraz po instalacji:
| Kategoria | Usługa | Rola w Systemie |
|---|---|---|
| Sieci Społecznościowe | Mastodon | Zdecentralizowana, federacyjna sieć społecznościowa. |
| Forum Dyskusyjne | Discourse | Nowoczesna, w pełni funkcjonalna platforma do prowadzenia forów internetowych. |
| System Blogowy | WordPress | Najpopularniejszy na świecie system zarządzania treścią (CMS), idealny do prowadzenia bloga lub strony. |
| Czytnik RSS | FreshRSS | Osobisty agregator wiadomości i czytnik kanałów RSS, hostowany na własnym serwerze. |
| Poczta E-mail | Własny serwer poczty | Kompletny, samowystarczalny serwer pocztowy (IMAP/SMTP) z panelem administracyjnym. |
| Synchronizacja Poczty | imapsync | Narzędzie do masowej migracji i synchronizacji kont e-mail między serwerami. |
| Monitoring i Status | Uptime Kuma | Pulpit do monitorowania dostępności wszystkich Twoich usług z publiczną stroną statusu. |
| Infrastruktura | Traefik, Docker, PostgreSQL, etc. | Solidny fundament składający się z reverse proxy, konteneryzacji i baz danych. |
2. Przewodnik Konfiguracyjny: Zdobywanie Kluczy
(Ta sekcja pozostaje taka sama jak w poprzedniej wersji, opisując pozyskiwanie klucza SSH i tokenu Cloudflare. Dodatkowo należy opisać pozyskiwanie kluczy do Backblaze B2).
Klucze do Kopii Zapasowych (Backblaze B2)
- Zaloguj się na swoje konto Backblaze.
- Przejdź do sekcji "B2 Cloud Storage" > "Buckets" i stwórz nowy, prywatny bucket.
- Przejdź do "App Keys" i wygeneruj nowy klucz aplikacyjny z dostępem do Twojego bucketa. Będziesz potrzebował
applicationKeyId(jakoB2_ACCOUNT_ID) orazapplicationKey(jakoB2_ACCOUNT_KEY).
3. Instalacja (Szybki Start)
Proces instalacji pozostaje taki sam jak w poprzednich wersjach, ale teraz wdraża znacznie więcej usług!
4. Przewodnik po Komendach
Do istniejącej listy komend dochodzą nowe, dedykowane dla każdej usługi:
deploy_discourse,deploy_wordpress,deploy_freshrss,deploy_mail,deploy_statusbackup:init,backup:run,backup:restore <snapshot_id>
5. Kopie Zapasowe i Odtwarzanie
AutoScript jest w pełni zintegrowany z Restic i Backblaze B2, aby zapewnić bezpieczeństwo Twoich danych.
- Automatyzacja: Po poprawnej konfiguracji, skrypt automatycznie tworzy zadanie
cron, które codziennie wykonuje szyfrowaną kopię zapasową całego folderu/opt/services(zawierającego wszystkie dane aplikacji) do Twojego bucketa B2. - Odtwarzanie: W razie awarii, możesz użyć komendy
sudo ./start.sh backup:restore <ID_MIGAWKI>, aby przywrócić dane.
6. Aspekty Bezpieczeństwa: Architektura "Secure by Default"
AutoScript nie traktuje bezpieczeństwa jako opcji, ale jako fundamentalny element wbudowany w każdy aspekt platformy. Oto kluczowe mechanizmy obronne, które są wdrażane automatycznie:
Poziom Systemu Operacyjnego
- Minimalizacja Powierzchni Ataku: Skrypt instaluje tylko niezbędne pakiety. Nie ma zbędnego oprogramowania, które mogłoby stanowić potencjalne zagrożenie.
- Wzmocnione Uwierzytelnianie: Logowanie hasłem do SSH jest całkowicie wyłączone. Dostęp jest możliwy tylko za pomocą kluczy kryptograficznych. Dodatkowo, dostęp do uprawnień
root(przezsudo) jest chroniony przez uwierzytelnianie dwuetapowe (TOTP). - Ograniczenie Dostępu: Logowanie na konto
rootjest zablokowane. Dedykowany użytkownikadminma ograniczone uprawnienia, które może podnieść tylko za pomocąsudo(z weryfikacją 2FA). - Firewall (UFW): Zapora sieciowa jest skonfigurowana w trybie "blokuj wszystko, zezwalaj na wybrane". Otwierane są tylko porty niezbędne do działania wdrożonych usług.
Poziom Aplikacji i Sieci
- Proaktywna Ochrona przed Włamaniami (IPS):
CrowdSecanalizuje zachowanie w sieci i proaktywnie blokuje adresy IP znane ze złośliwej aktywności na całym świecie.Fail2bandodatkowo monitoruje logi w poszukiwaniu prób ataków brute-force. - Szyfrowanie End-to-End: Cały ruch do Twoich usług jest automatycznie szyfrowany za pomocą certyfikatów SSL/TLS od Let's Encrypt, zarządzanych przez Traefik.
- Izolacja Kontenerów: Wszystkie usługi działają w kontenerach Docker, co izoluje je od siebie i od systemu hosta. Dodatkowo, włączenie
userns-remapmapuje użytkownikarootwewnątrz kontenera na zwykłego użytkownika na hoście, co drastycznie ogranicza potencjalne szkody w razie "ucieczki" z kontenera.
Poziom Danych
- Zarządzanie Sekretami (
sops): Wszystkie wrażliwe dane – klucze API, hasła do baz danych, tokeny – są szyfrowane na dysku za pomocąsopsi kluczaage. Nigdy nie są przechowywane jako jawny tekst. - Szyfrowane Kopie Zapasowe: Wszystkie kopie zapasowe tworzone przez
Resticsą szyfrowane end-to-end przed wysłaniem ich do zewnętrznej lokalizacji (Backblaze B2). Bez hasła do repozytorium nikt nie jest w stanie odczytać Twoich danych.
7. Licencja
Projekt jest udostępniany na licencji MIT.