بعد از ساخت یک سرور جدید با اوبونتو، اولین و مهمترین کار، ایمنسازی پایهای سیستم است. سه اقدام اصلی که باید بلافاصله انجام شوند:
-
ساخت یک کاربر غیر روت با دسترسی sudo
-
فعالسازی احراز هویت SSH با کلید (بهجای پسورد)
-
فعال کردن فایروال
این سه مرحله، پایه امنیت سرور شما را تشکیل میدهند و جلوی حملاتی مثل brute-force و دسترسی غیرمجاز را میگیرند.
نصب پیشفرض Ubuntu معمولاً دسترسی مستقیم روت دارد که از نظر امنیتی بسیار پرریسک است. سرورهای تازه نصبشده، هدف اصلی رباتهایی هستند که اینترنت را برای تنظیمات پیشفرض و پسوردهای ضعیف اسکن میکنند. خوشبختانه کل این تنظیمات فقط حدود ۱۰ تا ۱۵ دقیقه زمان میبرد اما سطح حمله را بهشدت کاهش میدهد.
پیشنیازها
قبل از شروع، مطمئن شوید که موارد زیر را دارید:
-
یک سرور Ubuntu 20.04 یا بالاتر
-
آیپی عمومی سرور
-
دسترسی SSH (پسورد روت یا کلید خصوصی SSH)
-
یک ترمینال روی سیستم خودتان
⚠️ تا زمانی که ورود کاربر جدید و sudo را تست نکردهاید، سشن روت را نبندید.
مرحله ۱ — ورود به سرور با کاربر root
ssh root@IP_SERVER
اگر اولین بار است وصل میشوید، پیام هشدار fingerprint طبیعی است. yes بزنید.
کاربر root بالاترین سطح دسترسی را دارد و هر اشتباه تایپی میتواند فاجعه ایجاد کند. به همین دلیل برای استفاده روزمره مناسب نیست.
مرحله ۲ — ساخت کاربر جدید
adduser username
یک پسورد قوی انتخاب کنید. اطلاعات اضافی اختیاری هستند.
بررسی ایجاد کاربر:
id username
مرحله ۳ — دادن دسترسی sudo
usermod -aG sudo username
اکنون کاربر جدید میتواند با sudo دستورات مدیریتی اجرا کند.
تست:
su - username
sudo whoami
خروجی باید root باشد.
مرحله ۴ — فعالسازی فایروال (UFW)
نمایش اپلیکیشنهای شناختهشده:
ufw app list
اجازه دادن به SSH:
ufw allow OpenSSH
فعال کردن فایروال:
ufw enable
بررسی وضعیت:
ufw status
برای سرور وب:
ufw allow 80/tcp
ufw allow 443/tcp
مرحله ۵ — فعالسازی دسترسی SSH برای کاربر جدید
اگر ورود روت با پسورد بوده:
فقط این دستور کافی است:
ssh username@IP_SERVER
اگر ورود روت با کلید SSH بوده:
کپی کلیدها:
rsync --archive --chown=username:username ~/.ssh /home/username
بررسی:
ls -la /home/username/.ssh/
مرحله ۶ — امنسازی بیشتر SSH (اختیاری ولی توصیهشده)
ویرایش فایل:
sudo nano /etc/ssh/sshd_config
تغییرات:
PasswordAuthentication no
PermitRootLogin no
بررسی خطا:
sudo sshd -t
ریاستارت SSH:
sudo systemctl restart sshd
مرحله ۷ — امنیت بیشتر سرور
فعالسازی آپدیت خودکار امنیتی
sudo apt update
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
تنظیم تایمزون
sudo timedatectl set-timezone Asia/Tehran
نصب Fail2Ban
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
نکات مهم امنیتی
-
از روت برای کارهای روزمره استفاده نکنید
-
همیشه SSH Key را جایگزین پسورد کنید
-
قبل از فعال کردن فایروال، SSH را Allow کنید
-
روی سرورهای واقعی، ورود روت را کامل ببندید
اگر از سرور قفل شدید
از کنسول ریکاوری هاستینگ وارد شوید و موارد زیر را چک کنید:
ufw status
systemctl status sshd
sshd -t
جمعبندی
بعد از انجام این مراحل، سرور شما:
-
کاربر امن غیرروت دارد
-
فایروال فعال دارد
-
SSH امن شده
-
آپدیت امنیتی خودکار دارد
این تنظیمات پایه، سرور را در برابر رایجترین حملات ایمن میکند و بهترین نقطه شروع برای هر سرور جدید است.

