របៀបការពារ SSH លើ VPS Linux
VPS សាធារណៈណាមួយទទួលការព្យាយាមចូលដោយស្វ័យប្រវត្តិក្នុងរយៈពេលពីរបីនាទីបន្ទាប់ពីបើកដំណើរការ។ ជំហានទាំងនេះធ្វើឱ្យការវាយប្រហារលើ SSH ពិបាកជាងមុនច្រើន។ ការណែនាំនេះសរសេរសម្រាប់ Ubuntu ឬ Debian; បើអ្នកមិនទាន់បានបង្កើតម៉ាស៊ីនមេ អ្នកអាចជួល Linux VPS ហើយចាប់ផ្តើមពីរូបភាពស្អាត។ សូមរក្សាវគ្គ SSH បច្ចុប្បន្នរបស់អ្នកឱ្យនៅបើកជានិច្च រហូតដល់អ្នកបានសាកល្បងការកំណត់ថ្មីពីបង្អួចទីពីរ។
1. បង្កើតអ្នកប្រើធម្មតាដែលមាន sudo
adduser deploy
usermod -aG sudo deploy2. ប្រើ SSH key ជំនួសពាក្យសម្ងាត់
នៅលើកុំព្យូទ័ររបស់អ្នក៖
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPចូលម្តងដោយប្រើ key ដើម្បីបញ្ជាក់ថាវាដំណើរការ មុនពេលអ្នកបិទការចូលដោយពាក្យសម្ងាត់។
3. បិទការចូលដោយពាក្យសម្ងាត់ និង root
បង្កើតឯកសារ /etc/ssh/sshd_config.d/99-hardening.conf៖
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3ពិនិត្យ syntax ហើយ reload សេវាកម្ម។ សេវាកម្មឈ្មោះ ssh នៅលើ Ubuntu និង Debian ហើយឈ្មោះ sshd នៅលើប្រព័ន្ធ RHEL៖
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បើកតែ port ដែលអ្នកត្រូវការ ដូចជា 80 និង 443 សម្រាប់ web server។ អ្នកក៏អាចកំណត់ឱ្យ SSH អាចចូលបានតែពី IP address របស់អ្នកផ្ទាល់ តាមរយៈក្បួនហ្វែលនៅក្នុង cloud console ផងដែរ។
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. ជម្រើសបន្ថែម
- ការប្តូរ port SSH កាត់បន្ថយចំនួន log ដែលមិនចាំបាច់ ប៉ុន្តែវាមិនមែនជាវិធានការសុវត្ថិភាពដោយខ្លួនឯងទេ។
- ការពារ private key ដោយ passphrase ហើយរក្សាច្បាប់ចម្លងនៅកន្លែងសុវត្ថិភាព។
- ពិនិត្យការចូលដោយប្រើ
lastនិងsudo journalctl -u ssh --since today។ - ថតរូបថតស្ថានភាព (snapshot) នៅពេលម៉ាស៊ីនមេត្រូវបានកំណត់រចនាសម្ព័ន្ធរួច ដើម្បីអាចស្តារមូលដ្ឋានស្អាតវិញបាន។
បើអ្នកត្រូវបានចាក់សោក្រៅ សូមប្រើ browser console នៅក្នុង cloud panel របស់អ្នកដើម្បីចូល និងកែការកំណត់។ ការណែនាំការពារ DDoS របស់យើងគ្របដណ្តប់លើស្រទាប់ការពារបន្ទាប់។
សំណួរដែលសួរញឹកញាប់
តើការបិទការចូល root មានសុវត្ថិភាពទេ?
មានសុវត្ថិភាព បើអ្នកបានបង្កើតអ្នកប្រើ sudo ជាមុន ហើយសាកល្បងថា key របស់វាដំណើរការ។ អ្នកនៅតែអាចដំណើរការពាក្យបញ្ជាគ្រប់គ្រងដោយប្រើ sudo បាន។
តើខ្ញុំត្រូវការ Fail2ban ទេ បើខ្ញុំប្រើតែ key?
វាជាជម្រើស។ ពេលបិទការចូលដោយពាក្យសម្ងាត់ការវាយប្រហារ brute force មិនអាចជោគជ័យបានទេ ប៉ុន្តែ Fail2ban ជួយកាត់បន្ថយ log ដែលមិនចាំបាច់ និងបន្ទុកលើប្រព័ន្ធ។
តើធ្វើដូចម្តេចបើខ្ញុំបាត់ SSH key?
ប្រើ console នៅក្នុង cloud panel របស់អ្នកដើម្បីចូល បន្ថែម public key ថ្មីទៅក្នុង ~/.ssh/authorized_keys ហើយលុប key ចាស់ចេញ។