Administratora instalēšana HestiaCP: automatizēta drošības iestatīšana + datubāzes pārvaldības optimizācija

Jaunākais HestiaCP Šajā pilnīgajā Adminer instalēšanas rokasgrāmatā ir iekļauta izvietošana ar vienu klikšķi, drošības pastiprināšana un automatizētas konfigurācijas darbības. Tajā soli pa solim ir aprakstīts, kā izvietot datubāzes pārvaldības rīkus un aizsargāt serveri, atvieglojot iesācējiem ātru sākšanu un risinot HestiaCP + Adminer darbības un uzturēšanas problēmas.

Ja jūs joprojām izmantojat datubāzes pārvaldības rīkus bez jebkādas aizsardzības, jūs nododat atslēgas hakeriem.

Kāpēc izvēlēties Admin, nevis... phpMyAdmin?

Administrators sastāv no viena PHP faila, kas ir mazāks par 1 MB, padarot izvietošanu ārkārtīgi vienkāršu, ātru un resursu ziņā efektīvu.

Salīdzinot ar phpMyAdmin sarežģīto struktūru, Adminer ir piemērotāks VPS, mazām vietnēm un personīgiem projektiem.

Administratora instalēšana HestiaCP: automatizēta drošības iestatīšana + datubāzes pārvaldības optimizācija

Administratora instalēšanas darbības programmā HestiaCP

1. Lejupielādējiet administratora failu

Iet uz Administratora oficiālā tīmekļa vietne Lejupielādēt jaunāko versiju adminer.php.

Augšupielādējiet failu HestiaCP vietnes direktorijā, piemēram:

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

2. Izveidojiet apakšdomēnu un iespējojiet SSL.

Pievienojiet apakšdomēnu HestiaCP panelī adminer.domain.comIespējojiet Let's Encrypt SSL, lai nodrošinātu drošu pārraidi.

3. Konfigurējiet Nginx paroles aizsardzību

Pievienojiet apakšdomēna Nginx konfigurācijas failam sekojošo:

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;
}

Ģenerēt paroles failu:

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

Piekļūstot administratoram, parādīsies paroles dialoglodziņš, un jūs varēsiet pieteikties tikai ievadot pareizo lietotājvārdu un paroli.

Automātiski atjaunināt administratora failus

Lai izvairītos no drošības riskiem, kas saistīti ar vecāku versiju lietošanu, automātiskos atjauninājumus var panākt, izmantojot čaulas skriptus un Cron plānotos uzdevumus.

Atjaunināšanas skripta piemērs

#!/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"

Saglabāt kā /usr/local/bin/update-adminer.shUn pievienojiet ieplānotu uzdevumu:

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

Tādā veidā administratora fails tiks automātiski atjaunināts katru pirmdienu plkst. 3:00.

Fail2Ban pretbrutāla spēka uzbrukums

Vienkāršā pamata autentifikācija ir neaizsargāta pret brutāla spēka uzbrukumiem, savukārt Fail2Ban var automātiski bloķēt ļaunprātīgas IP adreses.

Filtra konfigurācija

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

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

Cietuma konfigurācija (pakāpenisks aizlieguma ilgums)

dokuments:/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

Iedarbība: Pirmais aizliegums ir 10 minūtes, otrais — 20 minūtes, trešais — 40 minūtes utt. Nepārtraukti uzbrucēji tiks aizliegti uz arvien ilgāku laiku.

Pabeigt izvietošanas skriptu ar vienu klikšķi

Saglabāt kā /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

执行:

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

Secinājums: drošības un efektivitātes līdzsvarošana

Esmu stingri pārliecināts, ka datubāzu pārvaldības rīki nav kaut kas tāds, ko var vienkārši atstāt publiskajā internetā un lietot ar mierīgu sirdi. Adminer vieglā konstrukcija ir pievilcīga, taču drošības pasākumiem ir jāiet līdzi. Paroles aizsardzība ir pirmā aizsardzības līnija, automātiskie atjauninājumi nodrošina nepārtrauktu aizsardzību, un Fail2Ban piedāvā inteliģentus pretpasākumus. Tikai apvienojot šos trīs elementus, jūs varat izveidot datubāzu pārvaldības vidi, kas ir gan efektīva, gan droša.

Īsts meistars nav tikai tas, kurš prot izgatavot instrumentus, bet gan tas, kurš prot tos sargāt.

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

Rakstu katalogs
Ritiniet uz augšu