بعد از خرید سرور مجازی چه کارهایی باید انجام دهیم؟
سروری که تازه تحویل گرفتهاید روی اینترنت باز است و از همان دقیقه اول آزمایش میشود. این فهرست، کارهای اولیهای را که قبل از هر چیز دیگری باید انجام دهید مرتب میکند.
سروری که تازه تحویل گرفتهاید آدرس IP عمومی دارد، یعنی از همان دقیقه اول روی اینترنت دیده میشود. تلاشهای خودکار برای ورود، چیزی نیست که بعداً شروع شود؛ همین حالا در جریان است. در سرور مجازی، برخلاف هاست اشتراکی، امن نگه داشتن سیستمعامل کار خود شماست — اگر این تفاوت برایتان تازه است، سرور مجازی چیست را ببینید. کارهای زیر را به همین ترتیب انجام دهید.
دستورهای لینوکسی این فهرست برای اوبونتو و دبیان نوشته شدهاند و هر جا خانواده RHEL (مثل AlmaLinux و Rocky) فرق دارد، معادلش آمده است. دستورها با فرض ورود با کاربر root نوشته شدهاند؛ اگر با کاربر عادی وارد شدهاید، ابتدای هر دستور مدیریتی sudo بگذارید. برای اتصال به سرور، اتصال به سرور مجازی لینوکس با SSH یا اتصال به سرور مجازی ویندوز را ببینید.
1. رمز عبور را عوض کنید
رمزی که همراه سرور تحویل داده شده، جایی تولید و منتقل شده است. روی لینوکس:
passwd
روی ویندوز، داخل جلسه Remote Desktop کلیدهای Ctrl + Alt + End و بعد Change a password.
رمز جدید را در یک مدیر رمز عبور نگه دارید. رمزی که در حساب کاربری نمایش داده میشود رمز اولیه است و بعد از این قدم دیگر کار نمیکند.
2. سیستم را بهروز کنید
یک سیستمعامل تازهنصب معمولاً چند بهروزرسانی امنیتی عقب است. روی اوبونتو و دبیان:
apt update
apt upgrade
روی خانواده RHEL مثل AlmaLinux و Rocky:
dnf upgrade
اگر هسته سیستم (kernel) یا کتابخانههای پایه بهروز شده باشند، تغییر تا راهاندازی مجدد اعمال نمیشود. روی اوبونتو و دبیان وجود این فایل یعنی راهاندازی مجدد لازم است:
ls /var/run/reboot-required
اگر فایل وجود داشت، با reboot سرور را راهاندازی مجدد کنید و یکی دو دقیقه بعد دوباره وصل شوید.
روی ویندوز، از Windows Update.
3. بهروزرسانی امنیتی خودکار را بررسی کنید
طبق مستندات اوبونتو، بسته unattended-upgrades روی اوبونتو سرور بهطور پیشفرض نصب است، روزی یک بار اجرا میشود و بهروزرسانیهای امنیتی را خودکار نصب میکند؛ اما راهاندازی مجدد خودکار بهطور پیشفرض خاموش است. برای اطمینان از فعال بودنش:
cat /etc/apt/apt.conf.d/20auto-upgrades
باید خطی با APT::Periodic::Unattended-Upgrade "1"; ببینید. اگر بسته نصب نبود، با apt install unattended-upgrades نصبش کنید. گزارش اجراهایش در پوشه /var/log/unattended-upgrades/ ثبت میشود. چون راهاندازی مجدد خودکار نیست، هر چند وقت یک بار فایل reboot-required را خودتان بررسی کنید.
4. یک کاربر غیر root بسازید
کار روزمره با کاربر root یعنی هر اشتباه تایپی میتواند سیستم را از کار بیندازد. روی اوبونتو و دبیان:
adduser deploy
usermod -aG sudo deploy
روی خانواده RHEL، گروه مدیران wheel نام دارد:
useradd -m deploy
passwd deploy
usermod -aG wheel deploy
از این به بعد با deploy وارد شوید و هر جا دسترسی بالاتر لازم بود از sudo استفاده کنید. قبل از رفتن سراغ قدم بعد، در یک پنجره جدید با کاربر تازه وارد شوید و با sudo -v مطمئن شوید دسترسی sudo دارد.
5. ورود با کلید را فعال کنید
کلید SSH جای رمز عبور را میگیرد و حدس زدنی نیست. مراحلش را قدمبهقدم در اتصال به سرور مجازی لینوکس با SSH نوشتهایم. برای کاربر تازه، سادهترین راه این است که تا وقتی ورود با رمز هنوز باز است، از کامپیوتر خودتان کلید را برای همان کاربر کپی کنید:
ssh-copy-id deploy@203.0.113.10
ترتیب مهم است: اول کلید را تنظیم کنید، بعد در یک پنجره جدید آزمایش کنید که کار میکند، و فقط بعد از آن ورود با رمز را ببندید. پنجرهای که با آن وارد شدهاید را تا پایان آزمایش نبندید.
6. دیواره آتش را روشن کنید
روی اوبونتو ufw معمولاً نصب است اما خاموش؛ روی دبیان ممکن است اول لازم باشد با apt install ufw نصبش کنید. طبق راهنمای دیواره آتش اوبونتو:
ufw allow OpenSSH
ufw enable
ترتیب این دو خط را عوض نکنید. اگر اول دیواره آتش را روشن کنید و بعد SSH را مجاز کنید، اتصال فعلیتان قطع میشود و راهی برای برگشتن ندارید. اگر پورت SSH را از 22 عوض کردهاید، به جای OpenSSH همان پورت را مجاز کنید، مثلاً ufw allow 2222/tcp.
بعد هر پورتی را که واقعاً لازم دارید باز کنید — مثلاً برای یک وبسرور:
ufw allow 80/tcp
ufw allow 443/tcp
و وضعیت را ببینید:
ufw status verbose
روی خانواده RHEL، دیواره آتش firewalld است. اول با firewall-cmd --list-all ببینید ssh در فهرست سرویسهای مجاز هست، بعد پورتهای لازم را اضافه کنید:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
روی ویندوز، دیواره آتش ویندوز بهطور پیشفرض روشن است؛ خاموشش نکنید و فقط پورتهای لازم را در آن باز کنید.
7. ببینید چه چیزی روی سرور گوش میدهد
دیواره آتش فقط نیمی از ماجراست. بدانید کدام برنامهها روی کدام پورت منتظر اتصالاند:
ss -tulpn
هر سرویسی که روی 0.0.0.0 یا [::] گوش میدهد از بیرون قابل دسترسی است مگر دیواره آتش جلویش را بگیرد. اگر چیزی در این فهرست هست که نمیشناسید یا لازم ندارید، قبل از هر کار دیگری بفهمید چیست.
8. ساعت سرور را بررسی کنید
timedatectl
ساعت اشتباه باعث میشود گواهیهای TLS رد شوند و لاگها بیمعنی به نظر برسند. در خروجی، System clock synchronized: yes یعنی همگامسازی کار میکند. اگر نبود، با timedatectl set-ntp true روشنش کنید. اگر میخواهید لاگها به وقت تهران باشند:
timedatectl set-timezone Asia/Tehran
9. برنامه پشتیبانگیری داشته باشید
این مهمترین قدم این فهرست است و بیشترین احتمال را دارد که به تعویق بیفتد. نگهداری و پشتیبانگیری از اطلاعات روی سرور بر عهده خود شماست. سه چیز را روشن کنید:
- چه چیزی پشتیبانگیری میشود؟ معمولاً پایگاه داده، فایلهای کاربران و فایلهای پیکربندی.
- کجا نگهداری میشود؟ نسخه پشتیبانی که روی همان سرور بماند، با خود سرور از بین میرود.
- آیا برمیگردد؟ یک بار بازگردانی را آزمایش کنید. نسخه پشتیبانی که هرگز آزمایش نشده، یک فرض است نه یک نسخه پشتیبان.
یک شروع ساده: از پیکربندیها یک فایل فشرده در پوشه کاربر deploy بسازید:
sudo mkdir -p /home/deploy/backups
sudo tar -czf /home/deploy/backups/etc-$(date +%F).tar.gz /etc
sudo chown -R deploy:deploy /home/deploy/backups
و آن را از کامپیوتر خودتان پایین بکشید:
rsync -av deploy@203.0.113.10:backups/ ./vps-backups/
این فایل شامل تنظیمات حساسی مثل رمزهای درهمشده کاربران و کلیدهای خود سرور است؛ جای امنی نگهش دارید. برای پایگاه داده، از ابزار خروجی گرفتن خود همان پایگاه داده استفاده کنید؛ کپی کردن فایلهای پایگاه دادهای که در حال کار است، نسخه سالمی نمیدهد.
10. بدانید کجا را نگاه کنید
وقتی چیزی خراب شود، اینها اولین جاهاییاند که نگاه میکنید:
journalctl -xe
df -h
free -h
به ترتیب: لاگهای اخیر سیستم، فضای باقیمانده دیسک، و حافظه آزاد. دیسک پر شده، یکی از شایعترین دلایلی است که یک سرور سالم ناگهان از کار میافتد.
11. تاریخ تمدید را یادداشت کنید
روی سرورهای تاپگیفت تمدید خودکار بهطور پیشفرض خاموش است و فقط اگر خودتان روشنش کنید انجام میشود. بعد از تاریخ انقضا یک مهلت ارفاق وجود دارد و پس از آن سرویس تعلیق میشود. جزئیات اینها در صفحه خرید سرور مجازی نوشته شده است. اگر سرور برایتان مهم است، یا تمدید خودکار را روشن کنید یا چند روز قبل از انقضا یک یادآور بگذارید.
چند کار که نباید انجام دهید
- نصب مجدد سیستمعامل را سرسری نگیرید. تمام اطلاعات روی سرور را برای همیشه پاک میکند و برگشتی ندارد.
- کلید خصوصی SSH را روی سرور نگذارید. کلید خصوصی روی کامپیوتر خودتان میماند.
- پورتها را «موقتاً» باز نگذارید. موقت معمولاً دائمی میشود.
- دیواره آتش را برای «رفع مشکل» خاموش نکنید. اگر سرویسی در دسترس نیست، پورت همان سرویس را باز کنید.
- به خاموش کردن سرور برای صرفهجویی امید نبندید. منابع تا پایان دوره رزرو میمانند و هزینه با خاموش بودن متوقف نمیشود.
فهرست خلاصه
| کار | دستور یا محل |
|---|---|
| عوض کردن رمز | passwd / Ctrl + Alt + End |
| بهروزرسانی | apt update و apt upgrade / dnf upgrade |
| بهروزرسانی خودکار | /etc/apt/apt.conf.d/20auto-upgrades |
| کاربر غیر root | adduser و گروه sudo یا wheel |
| ورود با کلید | ssh-copy-id |
| دیواره آتش | ufw / firewall-cmd |
| پورتهای باز | ss -tulpn |
| ساعت | timedatectl |
| پشتیبان | نسخهای بیرون از سرور، با بازگردانی آزمایششده |
قدم بعدی
اگر قرار است سرویسی روی سرور اجرا شود که باید همیشه روشن بماند، اجرای پروژه پایتون روی سرور مجازی لینوکس نشان میدهد چطور آن را بهصورت سرویس سیستمی در بیاورید تا بعد از راهاندازی مجدد خودش بالا بیاید.