بعد از خرید سرور مجازی چه کارهایی انجام دهیم؟ چکلیست راهاندازی و امنیت VPS
خرید سرور مجازی پایان کار نیست؛ در واقع از همین لحظه مرحله مهم راهاندازی و ایمنسازی VPS آغاز میشود. بیشتر سرورهای تازهخریداریشده با حداقل تنظیمات تحویل داده میشوند و ممکن است ورود مستقیم کاربر root، احراز هویت با رمز عبور یا سرویسهای غیرضروری روی آنها فعال باشد. اگر سرور بدون بررسی و تنظیمات اولیه وارد محیط عملیاتی شود، احتمال اختلال، نفوذ یا ازدسترفتن اطلاعات افزایش پیدا میکند.
در این راهنما، کارهای ضروری بعد از خرید VPS را بهترتیب انجام میدهیم؛ از اولین اتصال و بهروزرسانی سیستم گرفته تا ساخت کاربر مدیریتی، استفاده از کلید SSH، فعالسازی فایروال، تنظیم بکاپ و بررسی منابع سرور.
نکته: دستورهای این آموزش برای Ubuntu و Debian نوشته شدهاند. در توزیعهایی مانند AlmaLinux و Rocky Linux، نام بستهها و بعضی دستورها متفاوت است. هنگام تغییر تنظیمات شبکه یا SSH، نشست فعلی خود را باز نگه دارید و اتصال جدید را در یک پنجره جداگانه آزمایش کنید.
۱. اطلاعات دریافتی از سرویسدهنده را بررسی کنید
بعد از فعالشدن سرور مجازی، معمولاً این اطلاعات در اختیار شما قرار میگیرد:
آدرس IP سرور
نام کاربری اولیه؛ اغلب
rootیا یک کاربر مدیریتیرمز عبور موقت یا کلید SSH
سیستمعامل نصبشده و نسخه آن
موقعیت دیتاسنتر و مشخصات منابع
آدرس پنل مدیریتی یا کنسول اضطراری
اطلاعات ورود را در پیامرسانها یا فایلهای عمومی نگهداری نکنید. بهتر است رمز عبور و کلیدهای بازیابی را داخل یک ابزار مدیریت رمز معتبر ذخیره کنید. دسترسی به پنل سرویسدهنده نیز باید با رمز قوی و در صورت امکان، احراز هویت دومرحلهای محافظت شود؛ زیرا کنسول، نصب مجدد سیستمعامل و خاموش یا روشنکردن VPS معمولاً از همان پنل انجام میشود.
۲. برای اولین بار از طریق SSH متصل شوید
در ویندوز، لینوکس و macOS میتوانید با دستور زیر به سرور متصل شوید:
ssh root@SERVER_IPبهجای SERVER_IP، آدرس IP واقعی سرور را وارد کنید. اگر پورت SSH با عددی غیر از ۲۲ تنظیم شده است، از گزینه -p استفاده کنید:
ssh root@SERVER_IP -p PORTدر اولین اتصال، اثر انگشت یا Fingerprint سرور نمایش داده میشود. بهتر است آن را با اطلاعاتی که سرویسدهنده ارائه کرده است مقایسه کنید و سپس اتصال را بپذیرید. برای توضیحات بیشتر میتوانید راهنمای اتصال SSH به سرور لینوکس با CMD ویندوز را بخوانید.
بعد از ورود، نسخه سیستمعامل و نام میزبان را بررسی کنید:
cat /etc/os-release
hostnamectlاین اطلاعات کمک میکند دستورهای متناسب با توزیع و نسخه صحیح را اجرا کنید.
۳. سیستمعامل و بستهها را بهروزرسانی کنید
یکی از اولین کارها پس از خرید VPS، نصب بهروزرسانیهای امنیتی است. ایمیج نصبشده روی سرور ممکن است مدتی قبل ساخته شده باشد و آخرین اصلاحات امنیتی را نداشته باشد.
در Ubuntu و Debian ابتدا فهرست بستهها و سپس بستههای نصبشده را بهروزرسانی کنید:
sudo apt update
sudo apt upgrade -yاگر در پایان بهروزرسانی اعلام شد که برای بارگذاری کرنل یا کتابخانههای جدید باید سرور راهاندازی مجدد شود، ابتدا مطمئن شوید سرویس مهمی روی سرور فعال نیست و سپس دستور زیر را اجرا کنید:
sudo rebootپس از چند لحظه دوباره از طریق SSH متصل شوید. بهروزرسانی منظم، یکی از سادهترین و مؤثرترین اقدامات برای کاهش آسیبپذیریهای شناختهشده است.
۴. یک کاربر مدیریتی جدید بسازید
انجام تمام کارها با حساب root ریسک خطای انسانی و سوءاستفاده از دسترسی را افزایش میدهد. بهتر است یک کاربر عادی بسازید و فقط هنگام نیاز از sudo استفاده کنید.
برای نمونه، کاربری با نام netzo_admin ایجاد میکنیم:
adduser netzo_admin
usermod -aG sudo netzo_adminنام کاربری را میتوانید تغییر دهید. سپس در یک پنجره جدید، ورود کاربر ساختهشده را آزمایش کنید:
ssh netzo_admin@SERVER_IPبرای بررسی دسترسی مدیریتی این دستور را اجرا کنید:
sudo whoamiاگر خروجی root بود، دسترسی sudo بهدرستی تنظیم شده است. پس از این مرحله، کارهای روزمره را با کاربر جدید انجام دهید.
۵. ورود با کلید SSH را فعال کنید
ورود با کلید عمومی SSH، در صورت نگهداری صحیح از کلید خصوصی، امنتر و کاربردیتر از ورود با رمز عبور است. در این روش، کلید خصوصی روی رایانه شما باقی میماند و فقط کلید عمومی روی سرور ذخیره میشود.
اگر هنوز کلید ندارید، روی رایانه شخصی خود یک کلید Ed25519 بسازید:
ssh-keygen -t ed25519 -C "your-email@example.com"برای کلید خصوصی یک Passphrase قوی تعیین کنید. سپس کلید عمومی را روی سرور کپی کنید:
ssh-copy-id netzo_admin@SERVER_IPدر ویندوزهای جدید نیز OpenSSH معمولاً در دسترس است. اگر دستور ssh-copy-id وجود نداشت، میتوانید محتوای فایل کلید عمومی با پسوند .pub را داخل فایل زیر در حساب کاربر سرور قرار دهید:
~/.ssh/authorized_keysمجوزهای این مسیر باید محدود باشد:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysاگر درباره مجوزهای لینوکس ابهام دارید، مقاله chmod در لینوکس چیست؟ را ببینید.
اکنون در یک پنجره جدید، ورود با کلید را آزمایش کنید:
ssh netzo_admin@SERVER_IPتا وقتی ورود با کلید با موفقیت آزمایش نشده است، ورود با رمز یا دسترسی root را غیرفعال نکنید.
۶. تنظیمات SSH را ایمنتر کنید
پس از اطمینان از کارکرد کلید SSH و دسترسی sudo، میتوانید ورود مستقیم root و احراز هویت با رمز عبور را غیرفعال کنید. فایل تنظیمات SSH را باز کنید:
sudo nano /etc/ssh/sshd_configاین گزینهها را پیدا یا به انتهای فایل اضافه کنید:
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication noقبل از اعمال تغییرات، صحت فایل پیکربندی را بررسی کنید:
sudo sshd -tاگر هیچ خطایی نمایش داده نشد، سرویس SSH را بدون قطع اجباری نشست فعلی بارگذاری مجدد کنید:
sudo systemctl reload sshحالا بدون بستن پنجره فعلی، در یک پنجره دیگر دوباره وارد سرور شوید. اگر اتصال جدید موفق بود، تنظیمات قابل استفاده هستند. اگر مشکلی وجود داشت، از نشست باز یا کنسول مدیریتی سرویسدهنده برای اصلاح پیکربندی استفاده کنید.
تغییر پورت پیشفرض SSH میتواند بخشی از اسکنهای خودکار و شلوغی لاگ را کاهش دهد، اما جایگزین کلید SSH، فایروال و بهروزرسانی امنیتی نیست. اگر پورت را تغییر میدهید، ابتدا پورت جدید را در فایروال باز کنید و بعد تنظیم SSH را تغییر دهید.
۷. فایروال UFW را فعال کنید
فایروال مشخص میکند کدام پورتها از اینترنت در دسترس باشند. در Ubuntu، ابزار UFW روش سادهای برای مدیریت قوانین فایروال است. ابتدا وضعیت آن را بررسی کنید:
sudo ufw statusقبل از فعالکردن فایروال، دسترسی SSH را مجاز کنید تا ارتباط شما قطع نشود:
sudo ufw allow OpenSSHاگر از پورت سفارشی، مثلاً ۲۲۲۲، استفاده میکنید، همان پورت را باز کنید:
sudo ufw allow 2222/tcpبرای یک وبسرور نیز معمولاً پورتهای HTTP و HTTPS لازماند:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpسپس فایروال را فعال و قوانین را بررسی کنید:
sudo ufw enable
sudo ufw status verboseفقط پورتهایی را باز کنید که واقعاً برای سرویس شما ضروریاند. برای مثال، پورت پایگاه داده نباید بدون دلیل در دسترس عموم اینترنت قرار گیرد.
۸. بهروزرسانیهای امنیتی خودکار را تنظیم کنید
اگر سرور را مرتب بررسی نمیکنید، فعالبودن بهروزرسانی امنیتی خودکار میتواند فاصله میان انتشار اصلاحیه و نصب آن را کاهش دهد. در Ubuntu و Debian بسته مربوط را نصب کنید:
sudo apt install unattended-upgrades -yسپس تنظیمات اولیه را انجام دهید:
sudo dpkg-reconfigure -plow unattended-upgradesبهروزرسانی خودکار به معنی بینیازی از نگهداری نیست. همچنان باید گزارشها، فضای دیسک، سرویسها و نیاز به راهاندازی مجدد را بررسی کنید. برای سرورهای حساس نیز بهتر است فرایند آزمایش و زمانبندی مشخصی برای بهروزرسانی داشته باشید.
۹. منطقه زمانی و نام سرور را تنظیم کنید
تنظیم صحیح ساعت برای بررسی لاگها، اجرای Cron Job، صدور گواهی و عیبیابی اهمیت دارد. وضعیت زمان را ببینید:
timedatectlبرای تنظیم منطقه زمانی ایران میتوانید از این دستور استفاده کنید:
sudo timedatectl set-timezone Asia/Tehranهمگامسازی ساعت شبکه را نیز بررسی کنید:
timedatectl show --property=NTPSynchronizedبرای انتخاب یک نام مشخص برای سرور، مثلاً web-01، دستور زیر را اجرا کنید:
sudo hostnamectl set-hostname web-01استفاده از نامهای هدفمند، مدیریت چند سرور و تشخیص آنها در گزارشها را آسانتر میکند.
۱۰. سرویسها و پورتهای فعال را بررسی کنید
هر سرویس فعال میتواند سطح حمله و مصرف منابع را افزایش دهد. پورتهای در حال شنود را بررسی کنید:
sudo ss -tulpnسرویسهای فعال systemd را نیز میتوانید با دستور زیر ببینید:
systemctl --type=service --state=runningپیش از متوقف یا حذفکردن هر سرویس، کاربرد آن را بررسی کنید. سرویسهایی که برای سیستمعامل، شبکه یا اپلیکیشن ضروریاند نباید بدون شناخت غیرفعال شوند.
۱۱. مصرف منابع سرور را پایش کنید
کمبود RAM، پرشدن دیسک یا مصرف غیرعادی CPU میتواند باعث کندی و از دسترس خارجشدن سرویس شود. برای بررسی سریع منابع، این دستورها کاربردی هستند:
free -h
df -h
uptime
topبرای مشاهده حجم پوشههای سطح اول نیز میتوانید اجرا کنید:
sudo du -xhd1 / 2>/dev/null | sort -hبهتر است برای مصرف CPU، RAM، فضای دیسک، خطاهای سرویس و در دسترسبودن وبسایت هشدار تعریف کنید. بررسی دستی برای شروع مفید است، اما در سرور عملیاتی جای سیستم مانیتورینگ را نمیگیرد.
۱۲. بکاپ منظم و قابلبازیابی داشته باشید
Snapshot یا بکاپ سرویسدهنده مفید است، اما بهتر است تنها نسخه پشتیبان شما نباشد. یک برنامه بکاپ مناسب باید شامل این موارد باشد:
فایلهای اپلیکیشن و فایلهای آپلودشده
پایگاه داده
فایلهای تنظیمات مهم
کلیدها و اطلاعات لازم برای بازیابی امن
نگهداری یک نسخه خارج از همان سرور
دوره نگهداری و زمانبندی مشخص
مهمتر از تهیه بکاپ، آزمایش بازیابی آن است. فایلی که سالم بازیابی نمیشود، بکاپ قابل اتکایی نیست. همچنین دسترسی به نسخههای پشتیبان را محدود و در صورت امکان آنها را رمزگذاری کنید.
۱۳. فقط نرمافزارهای موردنیاز را نصب کنید
پس از ایمنسازی پایه، نوبت نصب سرویس اصلی است؛ برای مثال Nginx یا Apache، پایگاه داده، Docker، کنترلپنل یا ابزارهای موردنیاز اپلیکیشن. انتخاب نرمافزار باید بر اساس کاربرد VPS انجام شود.
پیش از نصب، پاسخ این پرسشها را مشخص کنید:
سرور برای میزبانی سایت است یا اجرای اپلیکیشن؟
وبسرور و نسخه زبان برنامهنویسی موردنیاز چیست؟
پایگاه داده باید روی همین سرور باشد یا سرور جداگانه؟
چه پورتهایی باید عمومی باشند؟
SSL، دامنه و تمدید خودکار گواهی چگونه مدیریت میشوند؟
برنامه استقرار و بازگشت به نسخه قبلی چیست؟
اگر هنوز درباره انتخاب سرویس مطمئن نیستید، ابتدا مقاله سرور مجازی چیست؟ و سپس راهنمای تفاوت هاست و VPS را مطالعه کنید.
اشتباهات رایج بعد از خرید VPS
استفاده دائمی از حساب root
ورود مستقیم root برای تمام کارها، هم احتمال اشتباه را بیشتر میکند و هم هدف جذابی برای تلاشهای ورود خودکار است. از یک کاربر عادی با دسترسی sudo استفاده کنید.
غیرفعالکردن ورود با رمز قبل از آزمایش کلید SSH
این اشتباه ممکن است شما را کاملاً از سرور بیرون نگه دارد. همیشه ابتدا کلید را در یک نشست جدید آزمایش کنید و پنجره قبلی را باز نگه دارید.
فعالکردن UFW بدون بازکردن پورت SSH
پیش از اجرای ufw enable، قانون دسترسی SSH یا پورت سفارشی آن را اضافه کنید.
بازگذاشتن پورتهای غیرضروری
پورتهای پایگاه داده، پنل مدیریت و ابزارهای داخلی نباید بدون نیاز از تمام اینترنت قابل دسترسی باشند. دسترسی را با فایروال، VPN یا محدودیت IP کنترل کنید.
نداشتن بکاپ خارج از سرور
اگر VPS و تنها نسخه بکاپ روی یک دیسک یا زیرساخت باشند، خرابی یا نفوذ میتواند هر دو را از بین ببرد. حداقل یک نسخه پشتیبان جداگانه نگهداری کنید.
نصب اسکریپتهای ناشناس
اجرای دستورهای کپیشده از منابع نامعتبر، مخصوصاً با دسترسی root، میتواند امنیت کل سرور را به خطر بیندازد. قبل از اجرای اسکریپت، منبع و محتوای آن را بررسی کنید.
چکلیست نهایی راهاندازی VPS
اطلاعات ورود و دسترسی کنسول اضطراری ذخیره شده است.
سیستمعامل و بستهها بهروزرسانی شدهاند.
یک کاربر مدیریتی با دسترسی sudo ساخته شده است.
ورود با کلید SSH آزمایش شده است.
ورود مستقیم root و ورود با رمز، پس از آزمایش کلید، محدود شدهاند.
فایروال فعال است و فقط پورتهای ضروری باز هستند.
ساعت، منطقه زمانی و نام میزبان تنظیم شدهاند.
سرویسها و پورتهای فعال بررسی شدهاند.
مانیتورینگ منابع و هشدارها در نظر گرفته شدهاند.
بکاپ منظم، جدا از سرور و قابلبازیابی وجود دارد.
فقط نرمافزارهای ضروری نصب شدهاند.
سؤالات متداول
آیا تغییر پورت SSH امنیت VPS را تضمین میکند؟
خیر. تغییر پورت میتواند تعداد اسکنها و تلاشهای خودکار روی پورت ۲۲ را کاهش دهد، اما یک کنترل امنیتی اصلی نیست. استفاده از کلید SSH، غیرفعالکردن ورود غیرضروری، فایروال و بهروزرسانی منظم اهمیت بیشتری دارند.
آیا بعد از خرید VPS باید کنترلپنل نصب کنیم؟
خیر. نصب کنترلپنل به نوع استفاده و سطح دانش شما بستگی دارد. برای میزبانی چند سایت ممکن است کنترلپنل مدیریت را سادهتر کند، اما منابع بیشتری مصرف میکند و خودش نیز به نگهداری و بهروزرسانی نیاز دارد.
آیا UFW برای امنیت کامل سرور کافی است؟
UFW فقط یکی از لایههای امنیت است. امنیت سرور به تنظیم صحیح سرویسها، کنترل دسترسی، بهروزرسانی، بکاپ، مانیتورینگ و امنیت اپلیکیشن نیز وابسته است.
هر چند وقت یکبار باید از VPS بکاپ بگیریم؟
فاصله بکاپ به میزان تغییر اطلاعات و حداکثر دادهای که میتوانید از دست بدهید بستگی دارد. برای یک سایت پویا یا فروشگاه، بکاپ پایگاه داده ممکن است روزانه یا حتی کوتاهتر لازم باشد؛ در حالی که برای یک سایت کمتغییر، برنامه متفاوتی کافی است. بازیابی بکاپ را نیز بهصورت دورهای آزمایش کنید.
جمعبندی
مهمترین کار بعد از خرید سرور مجازی، آمادهکردن یک پایه امن و قابل مدیریت است. بهروزرسانی سیستم، ساخت کاربر sudo، استفاده از کلید SSH، تنظیم فایروال و تهیه بکاپ، اقداماتی هستند که باید پیش از راهاندازی سرویس اصلی انجام شوند. پس از آن نیز نگهداری VPS یک فرایند مداوم است و به پایش منابع، نصب اصلاحیهها و آزمایش بازیابی اطلاعات نیاز دارد.
اگر برای انتخاب منابع، سیستمعامل یا راهاندازی VPS مناسب پروژه خود مطمئن نیستید، میتوانید پیش از خرید یا مهاجرت با تیم نتزو مشورت کنید.



