Linux VPS-те SSH-ты қалай қорғауға болады
Жария VPS іске қосылғаннан кейін бірнеше минут ішінде автоматты кіру әрекеттерін қабылдайды. Төмендегі қадамдар SSH-ты шабуылдау әлдеқайда қиын етеді. Олар Ubuntu немесе Debian үшін жазылған. Егер сервер әлі жасалмаған болса, Linux VPS жалдап таза кескіннен бастауға болады. Жаңа параметрлерді екінші терезеден тексергенге дейін ағымдағы SSH сессиясын ашық ұстаңыз.
1. sudo құқығы бар қалыпты пайдаланушы жасау
adduser deploy
usermod -aG sudo deploy2. Құписөздердің орнына SSH кілттерін қолдану
Өз компьютеріңізде:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPҚұписөзді өшірмес бұрын кілтпен бір рет кіріп, оның жұмыс істейтінін растаңыз.
3. Құписөзбен және root арқылы кіруді өшіру
/etc/ssh/sshd_config.d/99-hardening.conf файлын жасаңыз:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Синтаксисті тексеріп, қызметті қайта жүктеңіз. Қызметтің атауы Ubuntu және Debian жүйелерінде ssh, RHEL негізіндегі жүйелерде sshd болады:
sudo sshd -t && sudo systemctl reload sshЕкінші терминалды ашып, қайта кіріңіз. Тек содан кейін ескі сессияны жабыңыз.
4. Брандмауэрді қосу
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseТек қажетті порттарды ашыңыз, мысалы, веб-сервер үшін 80 және 443. Сондай-ақ bulut консолінің брандмауэр ережесі арқылы SSH-қа тек өз IP-мекенжайыңыздан кіруге рұқсат беруге болады.
5. Қайталанған қателіктерді Fail2ban арқылы бұғаттау
sudo apt install -y fail2ban/etc/fail2ban/jail.local файлын жасаңыз:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. Қауіпсіздік жаңартуларын автоматты орнату
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. Қосымша опциялар
- SSH портын өзгерту журнал шуын азайтады, бірақ өздігінен қауіпсіздік шарасы болып табылмайды.
- Жеке кілтті құпия сөз фразасымен қорғап, резервтік көшірмесін қауіпсіз жерде сақтаңыз.
- Кірулерді
lastжәнеsudo journalctl -u ssh --since todayкомандаларымен қараңыз. - Сервер бапталғаннан кейін snapshot жасаңыз, сонда таза бастапқы күйге қайта оралуға болады.
Егер кіру мүмкін болмай қалса, bulut панеліндегі браузер консолін пайдаланып кіріп, конфигурацияны түзетіңіз. Келесі қорғаныс деңгейі туралы DDoS қорғанысы нұсқаулығында жазылған.
Жиі қойылатын сұрақтар
Root кіруін өшіру қауіпсіз бе?
Иә, егер алдымен sudo пайдаланушысын жасап, оның кілтінің жұмыс істейтінін тексерсеңіз. Әкімшілік командаларды әлі де sudo арқылы орындай аласыз.
Тек кілттерді қолдансам, Fail2ban керек пе?
Міндетті емес. Құписөзбен кіру өшірілгеннен кейін брутфорс шабуылы сәтті бола алмайды, бірақ Fail2ban журнал шуын және жүктемені азайтады.
SSH кілтімді жоғалтсам не істеймін?
Bulut панеліндегі консольді пайдаланып кіріңіз, жаңа ашық кілтті ~/.ssh/authorized_keys файлына қосып, ескісін жойыңыз.