Generator .htpasswd

Wpisz nazwę użytkownika i hasło – generator stworzy linię do pliku .htpasswd z bezpiecznym hashem. Możesz też wygenerować losowe hasło.

Czym jest plik .htpasswd?

.htpasswd to plik zawierający nazwy użytkowników i zahashowane hasła, używany do uwierzytelniania HTTP Basic Auth na serwerach Apache i Nginx. Pozwala zabezpieczyć dostęp do wybranych katalogów lub plików bez konieczności tworzenia systemu logowania.

Format pliku .htpasswd

Każda linia zawiera jednego użytkownika w formacie:

użytkownik:zahashowane_hasło

Przykład z różnymi algorytmami:

admin:$2y$10$LQ7M... (bcrypt)
user1:{SHA}W6ph5Mm... (SHA-1)
user2:$apr1$xyz$abc... (MD5 Apache)

Algorytmy hashowania

AlgorytmPrefiksBezpieczeństwoZalecenie
bcrypt$2y$Bardzo wysokieZalecany
SHA-256/512$5$ / $6$WysokieDobry
MD5 (Apache)$apr1$NiskieUnikać
SHA-1{SHA}Bardzo niskieNie używać
cryptbrak prefiksuMinimalnePrzestarzały

Konfiguracja Apache

Plik .htaccess

AuthType Basic
AuthName "Strefa chroniona"
AuthUserFile /ścieżka/do/.htpasswd
Require valid-user

Ochrona konkretnego katalogu

<Directory "/var/www/html/admin">
    AuthType Basic
    AuthName "Panel administracyjny"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>

Konfiguracja Nginx

location /admin {
    auth_basic "Panel administracyjny";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Nginx + wyłączenie auth dla określonych IP

location /admin {
    satisfy any;
    allow 192.168.1.0/24;
    deny all;
    auth_basic "Panel administracyjny";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Najlepsze praktyki bezpieczeństwa

  • Używaj bcrypt – jedyny algorytm odporny na ataki brute-force (cost factor ≥ 10)
  • Nie umieszczaj .htpasswd w katalogu publicznym – przechowuj poza document root
  • HTTPS obowiązkowy – Basic Auth przesyła dane w Base64 (bez szyfrowania!)
  • Silne hasła – minimum 12 znaków, mieszanka liter, cyfr i symboli
  • Ogranicz próby logowania – skonfiguruj fail2ban lub rate limiting
  • Regularnie zmieniaj hasła – szczególnie po odejściu osoby z zespołu

Zarządzanie użytkownikami

Dodawanie użytkownika (linia poleceń)

htpasswd -B /etc/apache2/.htpasswd nowy_user

Flaga -B wymusza bcrypt. Flaga -c tworzy nowy plik (uwaga – nadpisuje istniejący!).

Usuwanie użytkownika

htpasswd -D /etc/apache2/.htpasswd user_do_usuniecia

Ograniczenia Basic Auth

  1. Brak wylogowania – przeglądarka pamięta dane do zamknięcia
  2. Brak sesji – dane przesyłane z każdym żądaniem
  3. Prosty interfejs – brak możliwości stylowania okna logowania
  4. Brak 2FA – nie obsługuje dwuskładnikowego uwierzytelniania
  5. Wydajność – hashowanie bcrypt przy każdym żądaniu obciąża serwer

Kiedy używać .htpasswd?

  • Ochrona panelu administracyjnego w fazie rozwoju
  • Zabezpieczenie środowiska staging/testowego
  • Prosty dostęp do prywatnych zasobów (dokumentacja, pliki)
  • Dodatkowa warstwa ochrony (oprócz logowania w aplikacji)

Jeśli ten kalkulator był przydatny, sprawdź również: JSON, CV, Cytaty i więcej kalkulatorów.

Kalkulator zawiera walidację danych wejściowych i działa lokalnie w przeglądarce. Dzięki temu możesz szybko porównać różne scenariusze bez przesyłania danych na serwer.

htpasswdgenerator htpasswdbasic authapache hasłonginx hasłohash hasła

Najczęstsze pytania (FAQ)

Co to jest .htpasswd?

.htpasswd to plik przechowujący pary użytkownik:hash_hasła. Używany przez Apache i Nginx do prostej autoryzacji HTTP (Basic Auth).

Czy Basic Auth jest bezpieczny?

Tylko przez HTTPS! Bez szyfrowania połączenia hasło jest przesyłane w Base64 (czytelnym). Z HTTPS jest akceptowalny do prostych zastosowań (staging, panel admina).

Jak skonfigurować Basic Auth na Apache?

Stwórz .htpasswd w katalogu, dodaj w .htaccess: AuthType Basic, AuthName "Restricted", AuthUserFile /path/.htpasswd, Require valid-user.