Rocky Linux 9 to darmowy wybór zgodny z RHEL: te same pakiety, ten sam dnf, te same firewalld i SELinux. Jeśli konfigurowałeś już Debiana albo Ubuntu, kolejność kroków jest taka sama, różnią się narzędzia. Oto pierwsze dziesięć minut na świeżym serwerze z Rocky 9.
Każde polecenie poniżej uruchomiliśmy przed publikacją na naszym obrazie Rocky Linux 9. Na czystym serwerze cała sekwencja zajmuje kilka minut.
1. Zaktualizuj system
Zaloguj się jako root hasłem z panelu i zaktualizuj:
dnf -y upgrade
Na naszym obrazie w teście trwało to kilka sekund, bo obraz był już aktualny.
2. Utwórz użytkownika sudo i dodaj klucz SSH
W Rocky grupa administratorów to wheel, nie sudo:
useradd -m -G wheel deploy
passwd deploy # sudo will ask for this password
Wgraj swój klucz publiczny na serwer (jak go utworzyć). Jeśli skopiowałeś go do /root/key.pub:
install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh
restorecon nadaje etykiety SELinux, których oczekuje sshd. Ze złą etykietą logowanie kluczem kończy się porażką bez czytelnego błędu.
Otwórz drugi terminal i sprawdź, że ssh deploy@YOUR.SERVER.IP działa, a sudo -v przyjmuje hasło. Do tego czasu nie zamykaj sesji roota.
3. Wyłącz logowanie roota i hasłem
Tu Rocky różni się od podręcznikowej edycji sshd_config. Ustawienia leżą w osobnych plikach w /etc/ssh/sshd_config.d/, a sshd bierze pierwszą znalezioną wartość. Na naszym obrazie pierwszym plikiem jest 00-eqvps.conf, który pozwala na root i hasło, żebyś mógł wejść pierwszego dnia. Zmień to tam:
sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
-e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
/etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '
Ostatnie polecenie pokazuje, co sshd naprawdę egzekwuje. Powinieneś zobaczyć:
permitrootlogin no
passwordauthentication no
Od teraz ssh root@… jest odrzucane nawet z kluczem, a deploy loguje się tylko kluczem.
4. Zapora: firewalld
Obraz chmurowy nie zawiera firewalld. Zainstaluj go, uruchom i zostaw otwarte tylko to, co potrzebne:
dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services
Strefa domyślna otwiera cockpit (port 9090) i dhcpv6-client. Cockpit nie jest zainstalowany, ale nie ma powodu zostawiać jego portu otwartego. Gdy dodasz aplikację, otwórz jej port tak samo, na przykład firewall-cmd --permanent --add-service=https.
5. Automatyczne aktualizacje bezpieczeństwa
dnf-automatic pobiera aktualizacje według timera. Domyślnie ich nie instaluje, więc to włącz:
dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
Jeśli chcesz tylko poprawek bezpieczeństwa, ustaw w tym samym pliku także upgrade_type = security.
6. Zostaw SELinux włączony
getenforce na świeżym serwerze pokazuje Enforcing, a wszystko powyżej z nim działa. Gdy aplikacja potrzebuje niestandardowego portu lub katalogu, rozwiązaniem jest etykieta (semanage port, restorecon), a nie setenforce 0.
Jaki plan
Rocky 9 zajmuje w spoczynku około 400 MB RAM. Plan Nano (1 GB, $3/mies.) wystarczy dla jednej małej usługi; Micro (2 GB, $5/mies.) zostawia miejsce na bazę danych. W planach NAT SSH wchodzi przez osobisty port pokazany w panelu. Jeśli potrzebujesz portów 80/443 otwartych dla wszystkich, wybierz plan z własnym IPv4, na przykład Micro-IP za $10/mies.
Rocky Linux 9 jest jednym z obrazów na stronie rodziny RHEL i jest dostępny w każdym planie w dziale VPS. Płatność w USDT, USDC lub ETH w sieciach Base, Ethereum lub Polygon, bez dokumentów i karty. Jeśli wolisz sterować serwerem ze skryptów, zamówienie, reinstalację i odnowienie opisuje dokumentacja API.
Komentarze
Brak komentarzy. Bądź pierwszy.