Instalowanie administratora w HestiaCP: automatyczna konfiguracja zabezpieczeń + optymalizacja zarządzania bazą danych

Najnowsze HestiaCP Ten kompletny przewodnik po instalacji Adminera obejmuje wdrożenie jednym kliknięciem, wzmocnienie zabezpieczeń i zautomatyzowane kroki konfiguracji. Uczy krok po kroku, jak wdrożyć narzędzia do zarządzania bazami danych i chronić serwer, ułatwiając początkującym szybkie rozpoczęcie pracy i rozwiązując problemy związane z obsługą i konserwacją HestiaCP + Adminer.

Jeśli nadal używasz narzędzi do zarządzania bazami danych bez żadnych zabezpieczeń, oddajesz klucze hakerom.

Dlaczego warto wybrać Adminera zamiast... phpMyAdmin?

Adminer składa się z pojedynczego pliku PHP o rozmiarze mniejszym niż 1 MB, dzięki czemu wdrożenie jest niezwykle proste, szybkie i oszczędne pod względem zasobów.

W porównaniu ze skomplikowaną strukturą phpMyAdmin, Adminer jest bardziej odpowiedni dla serwerów VPS, małych stron internetowych i projektów osobistych.

Instalowanie administratora w HestiaCP: automatyczna konfiguracja zabezpieczeń + optymalizacja zarządzania bazą danych

Kroki instalacji Administratora w HestiaCP

1. Pobierz plik administratora

Iść do Oficjalna strona internetowa administratora Pobierz najnowszą wersję adminer.php.

Prześlij plik do katalogu witryny HestiaCP, na przykład:

/home/username/web/adminer.domain.com/public_html/adminer.php

2. Utwórz subdomenę i włącz SSL.

Dodaj subdomenę w panelu HestiaCP adminer.domain.comWłącz Let's Encrypt SSL, aby zapewnić bezpieczną transmisję.

3. Skonfiguruj ochronę hasłem Nginx

Dodaj poniższy kod do pliku konfiguracyjnego Nginx dla subdomeny:

location / {
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/.htpasswd;

    root /home/username/web/adminer.domain.com/public_html;
    index index.php adminer.php;
}

Wygeneruj plik hasła:

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd adminuser

Po uzyskaniu dostępu do konta Administratora wyświetli się okno dialogowe z prośbą o podanie hasła. Aby się zalogować, należy wpisać prawidłową nazwę użytkownika i hasło.

Automatyczna aktualizacja plików administratora

Aby uniknąć zagrożeń bezpieczeństwa związanych ze starszymi wersjami, można przeprowadzić automatyczne aktualizacje za pomocą skryptów powłoki i zaplanowanych zadań Cron.

Przykład skryptu aktualizacji

#!/bin/bash
URL="https://www.adminer.org/latest.php"
TARGET="/home/username/web/adminer.domain.com/public_html/adminer.php"

wget -q -O "$TARGET" "$URL"
chown username:username "$TARGET"
chmod 644 "$TARGET"

Zapisz jako /usr/local/bin/update-adminer.shI dodaj zaplanowane zadanie:

crontab -e
0 3 * * 1 /usr/local/bin/update-adminer.sh

W ten sposób plik Administratora będzie automatycznie aktualizowany w każdy poniedziałek o godzinie 3 nad ranem.

Fail2Ban – ochrona przed atakami siłowymi

Simple Basic Auth jest podatny na ataki siłowe, natomiast Fail2Ban może automatycznie blokować złośliwe adresy IP.

Konfiguracja filtra

dokument:/etc/fail2ban/filter.d/nginx-adminer.conf

[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =

Konfiguracja więzienia (przyrostowy czas trwania bana)

dokument:/etc/fail2ban/jail.local

[nginx-adminer]
enabled  = true
filter   = nginx-adminer
port     = http,https
logpath  = /var/log/nginx/access.log
maxretry = 3
findtime = 600

bantime.increment = true
bantime.rndtime   = 60
bantime.factor    = 2
bantime           = 600

Skutek: Pierwszy ban trwa 10 minut, drugi 20 minut, trzeci 40 minut itd. Osoby notorycznie atakujące będą banowane na coraz dłuższe okresy.

Kompletny skrypt wdrożenia jednym kliknięciem

Zapisz jako /usr/local/bin/setup-fail2ban-adminer.sh:

#!/bin/bash
FILTER_PATH="/etc/fail2ban/filter.d/nginx-adminer.conf"
JAIL_PATH="/etc/fail2ban/jail.local"

cat > $FILTER_PATH << 'EOF'
[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =
EOF

cat >> $JAIL_PATH << 'EOF'

[nginx-adminer]
enabled  = true
filter   = nginx-adminer
port     = http,https
logpath  = /var/log/nginx/access.log
maxretry = 3
findtime = 600

bantime.increment = true
bantime.rndtime   = 60
bantime.factor    = 2
bantime           = 600
EOF

systemctl restart fail2ban
fail2ban-client status nginx-adminer

Tłumaczenie:

sudo chmod +x /usr/local/bin/setup-fail2ban-adminer.sh
sudo /usr/local/bin/setup-fail2ban-adminer.sh

Wnioski: Równowaga między bezpieczeństwem a wydajnością

Jestem głęboko przekonany, że narzędzia do zarządzania bazami danych nie są czymś, co można po prostu zostawić w publicznym internecie i używać ze spokojem ducha. Lekka konstrukcja Adminera jest atrakcyjna, ale środki bezpieczeństwa muszą dotrzymywać kroku. Ochrona hasłem to pierwsza linia obrony, automatyczne aktualizacje zapewniają ciągłą ochronę, a Fail2Ban oferuje inteligentne środki zaradcze. Tylko łącząc te trzy elementy, można stworzyć wydajne i bezpieczne środowisko zarządzania bazami danych.

Prawdziwym mistrzem nie jest ktoś, kto potrafi tylko wytwarzać narzędzia, ale także ktoś, kto potrafi je chronić.

发表 评论

Twój adres e-mail nie zostanie opublikowany. 必填 项 已 用 * 标注

Przewiń do góry