Pereiti prie pagrindinio turinio

DirectAdmin saugumo stiprinimas VPS serveryje

Atnaujinta šią savaitę

Savarankiškai administruojamo VPS serverio saugumas naudojant DirectAdmin valdymo pultą yra kompleksinė užduotis. Šioje pamokoje pateikiame praktinius ir aktualius metodus, skirtus sustiprinti tiek valdymo pulto, tiek kitų serveryje veikiančių tarnybų ar programų, saugumą. Pamoka skirta serveriui, kuriame veikia AlmaLinux operacinė sistema (OS), tačiau dauguma Linux komandų tinka naudojant ir kitas OS.

Jei turite mažai patirties Linux administravimo srityje, rekomenduojame rasti specialistą - serverių administratorių, kuris pagelbėtų atliekant reikiamus pakeitimus.

1. Operacinės sistemos atnaujinimas

dnf update -y

Rekomenduojama įjungti automatinius saugumo atnaujinimus:

dnf install dnf-automatic -y
systemctl enable --now dnf-automatic.timer

2. DirectAdmin ir CustomBuild atnaujinimas

2.1. Atnaujinkite CustomBuild

cd /usr/local/directadmin/custombuild
./build update
./build update_versions
./build all d

2.2. Patikrinkite ir pakoreguokite options.conf

Atidarykite failą:

nano /usr/local/directadmin/custombuild/options.conf

Įsitikinkite, kad yra nustatyta:

clean_old_webapps=yes
cron=yes
notifications=yes
updates=no
webapps_updates=yes

(jeigu reikia, pakeiskite reikšmes pagal savo poreikius)

Po pakeitimų įvykdykite komandą:

./build cron

Jeigu norite įjungti automatinius atnaujinimus, pakeiskite:

updates=no

į reikšmę:

updates=yes

PASTABA: automatinius atnaujinimus reikėtų periodiškai stebėti savarankiškai.

3. PHP saugumo stiprinimas (PHP-FPM)

3.1. Išjunkite pavojingas funkcijas

Atidarykite php.ini failą:

nano /usr/local/php/php.ini

Pridėkite arba pakoreguokite šiuos nustatymus:

disable_functions = exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec
expose_php = Off
display_errors = Off
log_errors = On
allow_url_include = Off

Išsaugokite failą.

3.2. Naudokite PHP-FPM režimą

Atidarykite options.conf:

nano /usr/local/directadmin/custombuild/options.conf

Nustatykite:

php1_mode=php-fpm

Po pakeitimų atnaujinkite PHP konfigūraciją:

cd /usr/local/directadmin/custombuild
./build php n

4. MySQL (MariaDB) apsauga

Jei prie duomenų bazės nebus prisijungiama iš išorės (pvz., iš kito serverio ar įrenginio), apribokite prieigą.

Atidarykite konfigūracinį failą:

nano /etc/my.cnf

Po [mysqld] sekcijos pridėkite:

bind-address=127.0.0.1

Išsaugokite failą ir perkraukite MariaDB tarnybą:

systemctl restart mariadb

Papildomai rekomenduojama paleisti:

mysql_secure_installation

5. DirectAdmin prisijungimo prievado pakeitimas

Atidarykite DirectAdmin konfigūracinį failą:

nano /usr/local/directadmin/conf/directadmin.conf

Suraskite prievado eilutę:

port=2222

Ir prievadą pakeiskite į kitą, pavyzdžiui:

port=102030

Išsaugokite failą ir perkraukite DirectAdmin tarnybą:

systemctl restart directadmin

Nepamirškite naują prievadą atidaryti ugniasienėje.

6. named (BIND) recursion išjungimas

Atidarykite konfigūraciją:

nano /etc/named.conf

options bloke pridėkite:

recursion no;
allow-recursion { none; };

Išsaugokite ir perkraukite named tarnybą:

systemctl restart named

7. Įjunkite sudėtingų slaptažodžių politiką

Prisijunkite prie DirectAdmin su admin teisėmis.

Eikite į: Admin Level → Administrator Settings → Security ir ten varnele pažymėkite:

  • Difficult Password Enforcement

  • Check domain owner for Subdomain creation

8. SSH saugumo stiprinimas

Atidarykite SSH konfigūraciją:

nano /etc/ssh/sshd_config

Pakoreguokite:

PermitRootLogin no
PasswordAuthentication no

Išsaugokite failą ir perkraukite SSH tarnybą:

systemctl restart sshd

Ar gavote atsakymą į savo klausimą?