آموزش امنیت سرور

چگونه امنیت سرور مجازی خود را تامین کنیم؟

برای تامین امنیت سرور مجازی چه راهکارهایی وجود دارد؟ اگر شما هم دارای کسب و کار اینترنتی هستید و از سرور مجازی (VPS) استفاده می کنید تامین امنیت سرور برای شما بسیار مهم و ضروری است، زیرا احتمال حملات سایبری از سمت هکرها همیشه وجود دارد. هرگونه اختلال در امنیت VPS باعث از بین رفتن اطلاعات شما شده و علاوه بر آسیب مالی، تاثیر منفی بر روی اعتبار کسب و کار شما نیز خواهد داشت.
امروزه زیان های کسب و کار ناشی از عدم امنیت سرور بسیار بالاست و گزارش‌ها حاکی از پیشرفت این ضرر و زیان ها می باشد. کارشناسانی که همیشه در این حوزه کار کرده اند، روزبه روز به دنبال راههایی برای رفع خلاهای موجود بوده اند اما روزانه هکرها راه های جدیدتر و پیچیده تری برای حملات خود پیدا می کنند. برای جلوگیری از هرگونه خسارت مالی و اعتباری باید همیشه در حوزه امنیت سرور به روز باشید و تمامی راههای نفوذ هکرها را مسدود کنید.
در این مقاله از بلاگ وب داده به مفهوم امنیت سرور و بررسی انواع راهکارهای تامین امنیت بر روی سرور ویندوز و سرور لینوکس می پردازیم . پس تا پایان این مقاله با ما همراه باشید.

💡این مقاله به روزرسانی شده و آخرین راهکارها و ابزارها برای بالا بردن امنیت سرور مجازی (VPS) لینوکس و ویندوز را شامل می شود.

VPS وب‌داده در لوکیشن‌های متنوع در سراسر جهان

خرید سرور مجازی با منابع اختصاصی و عملکرد بی‌نظیر تنها در وب داده
👇 همین حالا موقعیت دلخواه خود را انتخاب کنید !

آنچه در این مقاله می‌خوانید:

امنیت در سرور مجازی (VPS) چه اهمیتی دارد؟

امنیت سرور به تمامی عملیات و فرآیندهایی گفته می شود  که برای محافظت از داده ها و اطلاعات روی سرور در مقابل سوء استفاده توسط مجرمان سایبری، هکرها و اشخاص ثالث مخرب انجام می دهید. با توجه به اینکه سرورها محل ذخیره داده های هر وب سایت و کسب و کارهای اینترنتی و داده های شخصی می باشند اطلاعات آن بسیار گرانبهاست و در نتیجه امنیت سرورها خود یک امر بسیار ضروری است زیرا با حملات سایبری علاوه بر از بین رفتن اطلاعات، کل شبکه و سیستم دچار اختلال و نابودی می شود. حتی یک خطای کوچک و ساده مانند انتخاب رمز عبور ضعیف، به روزرسانی های غیر ضروری و اشتباه می تواند نتایجی مانند تزریق بدافزار در سایت شما ، از بین رفتن داده های کاربران و…شود. از آنجایی که سرورها معمولا بر پایه دو سیستم عامل اجرا می شوند، سرورهای ویندوزی و سرورهای لینوکسی، در ادامه راهکارهایی برای ارتقا امنیت هر دو نوع سرور ارائه می کنیم.

افزایش امنیت سرور مجازی

چگونه امنیت سرور مجازی ویندوز خود را افزایش دهیم ؟

با گسترش شبکه، ارتقا امنیت در سرورهای ویندوزی خصوصا سرورهای مجازی ویندوزی بیش از هر زمان دیگری اهمیت بسیاری پیدا کرده است. اگر چه مایکروسافت وصله ها و به‌روزرسانی های امنیتی را بطور پیوسته عرضه می کند، اما ضعف‌های امنیتی همچنان می‌توانند به‌ دلیل پیکربندی نادرست، باقی ماندن تنظیمات و پورت‌های پیش‌فرض، یا غیرفعال بودن لایه‌های دفاعی تکمیلی در سیستم‌عامل باقی بمانند. در ادامه مجموعه‌ای از آموزش ها و روش‌های عملی برای افزایش امنیت سرورها را به شما معرفی می کنیم.

1ـ تغییر پورت پیش فرض ریموت دسکتاپ

برای اتصال به سرور مجازی از نرم افزار ریموت دسکتاپ که یک نرم افزار پیش فرض ویندوزی می باشد استفاده می شود. اولین راهکار برای حفظ امنیت سرور مجازی ویندوزی تغییر پورت پیش فرض می باشد، زیرا با تغییر پورت پیش فرض که بیش از نیمی از کاربران از آن استفاده می کنند، دسترسی هکرها یا حملات brute-force به منابع سرور را به راحتی امکان پذیر می سازد.با تغییر پورت پیش فرض RDP می توانید امنیت سرور را افزایش دهید. اما باید توجه داشته باشید که شماره پورت جدید را فراموش نکنید.
💡 بیشتر بدانید:
برای تغییر پورت TCPسرویس های استاندارد می توانید به مقاله آموزش تغییر پورت ریموت دسکتاپ در ویندوز سرور در وب داده مراجعه کنید.

2- تغییر یا غیر فعال کردن اکانت administrator

یک اکانت با دسترسی محدودتر بسازید زیرا حساب Administrator اغلب در معرض خطر حملات Brute-force است. برای ساخت یوزر متفاوت از یوزر Administrator می توانید بصورت زیر عمل کنید.

🔵ابتدا به سرور ویندوز متصل شوید سپس از منوی start عبارت cmd یا command prompt را سرچ کنید.
🔵حال بر روی آیکن آن کلیک راست کرده و run as administrator  را انتخاب کنید.
🔵اکنون کامند زیر را در cmd  کپی کنید و به جای NewName ، نام یوزرنیم دلخواه خود را وارد کنید.
wmic useraccount where name=’Administrator’ rename ‘NewName’
Bash
🔵سپس دکمه Enter را بزنید تا کامند اجرا شود.
🔵سپس سرور خود را ریستارت نمایید و با یوزر انتخابی خود به سرور متصل شوید.

3ـ فعال سازی فایروال در سرور ویندوز

همانطور که می‌دانید، سرور از طریق اینترنت قابل دسترسی است. به همین دلیل، سیستم‌عامل امینت سرور باید توسط فایروال محافظت شود. اگر آنتی‌ویروس یا فایروال نصب نکرده‌اید، فعال‌سازی Windows Firewall برای شما ضروری است. هرچه پورت‌های TCP/UDP کمتری از خارج در دسترس باشند، احتمال حمله به سرور کاهش می‌یابد.
برای امنیت سیستم‌عامل، تنها پورت‌های لازم را باز کنید و از خاموش کردن یا باز کردن تمام پورت‌های فایروال خودداری کنید. فعال‌سازی فایروال در ویندوز سرور این امکان را فراهم می‌کند که یک IP خاص را مسدود یا رفع انسداد کنید.
توجه داشته باشید که باید تنظیمات آن را با دقت انجام دهید؛ در غیر این صورت احتمال مسدود شدن IP خودتان نیز وجود دارد که باعث می‌شود نتوانید به سرور مجازی خود دسترسی پیدا کنید.

4ـ آپدیت سیستم عامل و نرم افزارها

همانطور که می دانید سیستم عامل های سرور مجازی ویندوزی، نسخه های ویندوز سرور می باشند و بهتر است در زمان نیاز آن را بروزرسانی کنید، همچنین نرم افزارهایی که بر روی سرو نصب شوند باید بروزرسانی شوند تا احتمال حمله هکر ها را به حداقل برساند.

مراحل آپدیت سرور مجازی ویندوز

1- آپدیت سیستم عامل سرور و بروز رسانی منظم و اتوماتیک سرور
2 – آپدیت و بروز رسانی نرم افزار های نصب شده روی سرور نظیر مرورگر ها، دانلود منیجر و …
3- حذف نرم افزار های بلا استفاده، اگر نرم افزاری را نیاز ندارید اقدام به پاک کردن آن نمایید. از نرم افزارهای اورجینال بر روی سرور استفاده کنید و از استفاده و نصب هر گونه نرم افزار غیر معتبر و کرک شده خودداری نمایید.
📌نکته : در سیستم‌عامل‌های ویندوزی از دانلود فایل‌های ناشناس خودداری کنید، نام کاربری و گذرواژه‌های ایمیل یا سایر حساب‌ها را در وب‌سایت‌ها ذخیره نکنید و به هیچ عنوان رمزهای عبور را روی سرور نگه‌داری نکنید.

5ـ رمز عبور قوی برای امنیت سرور

پس از خرید سرور، اولین اقدام امنیتی باید تغییر فوری پسورد پیش فرضی که شرکت ارائه دهنده سرور در اختیار شما قرار می دهد باشد.برای جلوگیری از حملات Brute‑Force و سوءاستفاده‌های احتمالی، سعی کنید از رمز عبور قوی (Strong Password) استفاده کنید؛ رمزی که حدس زدن یا شکستن آن دشوار باشد.
ویژگی های کلیدی برای داشتن رمز عبور قوی برای امنیت سرور :
ویژگی‌ها توضیحات
طول مناسب حداقل 16 تا 20 کاراکتر توصیه می‌شود. هر چه رمز طولانی تر و تصادقی تر باشد مقاومت آن در برابر حملات Brute‑Force بیشتر است.
پیچیدگی کاراکترها ترکیبی از حروف کوچک و بزرگ، ارقام و نمادها (A‑z, 0‑9, !@#…). دست‌کم از سه دسته مختلف در رمز عبور سرور خود استفاده کنید.
تصادفی‌بودن (Entropy بالا) به شدت از الگوهای قابل پیش بینی و توالی صفحه کلید اجتناب کنید.
عدم استفاده مجدد هر سرور شما باید رمزعبور منحصر به فرد داشته باشد.
حفاظت از پسورد از ارسال رمز عبور سرور در ایمیل یا پیام رسان ها و یا ذخیره آن در فایل های متنی خودداری کنید. در صورت نیاز از استانداردهای رمزنگاری استفاده کنید.
پشتیبانی از 2FA/MFA حتی قوی‌ترین پسوردها نیز با فعال‌سازی احراز هویت چندمرحله‌ای (MFA) ایمن‌تر می‌شود؛ MFA حملات مبتنی بر سرقت گذرواژه را عملاً خنثی می‌کند.
با رعایت این اصول، امنیت رمزعبور سرور مجازی خود را تا حد زیادی افزایش داده و از نفوذهای احتمالی جلوگیری می کنید.
📌 نکته مهم: پس از خرید هر نوع سرور، تغییر فوری رمز عبور به‌شدت توصیه می‌شود.

6ـ تهیه بکاپ از سرور

یکی از مهم‌ترین و پایه‌ای‌ترین اصول امنیت سرور در تمامی انواع سرورهای ویندوزی و لینوکسی، تهیه بکاپ‌های دوره‌ای و منظم از اطلاعات است. این اقدام به شما این امکان را می‌دهد که در صورت بروز هرگونه اتفاق غیرمترقبه مانند حملات هکری، خرابی سرور، حذف تصادفی اطلاعات و …بتوانید سرور خود را به حالت قبل بازگردانید و از از دست رفتن داده‌ها جلوگیری کنید.

چگونه امنیت سرور مجازی لینوکس خود را ارتقا دهیم ؟

علی رغم اینکه سرورهای لینوکسی از امنیت بالاتری نسبت به بقیه سرورها برخوردار هستند اما همیشه نقاط ضعفی هم وجود دارد که موجب آسیب پذیری سرور می شود. در ادامه مقاله به آموزش امنیت سرور لینوکس و راهکارهای امنیتی برای جلوگیری ازحملات سایبری به سرور مجازی لینوکس می‌پردازیم.

1ـ تغییر پورت پیش فرض ssh

پورت ssh پیش فرض سرور لینوکسی 22 می باشد، اما ما پیشنهاد می کنیم این پورت را تغییر دهید زیرا پورت های باز به راحتی توسط حملات brute-force اسکن می شود و دسترسی به سرور به آسانی امکان پذیر خواهد شد. اولین نکته امنیتی در برابر حملات سایبری تغییر پورت پیش فرض لینوکس می باشد.
💡 بیشتر بدانید:
آموزش تغییر پورت پیش فرض لینوکس در مقاله نحوه تغییر پورت ssh در سرور مجازی ایران  بصورت کامل آموزش داده شده است.

2ـ آپدیت سرور لینوکس

آپدیت سرور لینوکسی بسیار مهم است و یکی از نکات امنیتی سرور برای جلوگیری از حملات به حساب می آید. بروزرسانی سرور لینوکس باعث بهبود عملکرد سیستم عامل و برنامه ها نیز می شود.

برای آپدیت سرور مجازی لینوکس خودمراحل زیر را انجام دهید:

🔶جهت اتصال به سرور مجازی لینوکسی خود ابتدا از طریق نرم افزار putty وارد VPS شوید.
🔶سپس برای ورود به محیط ترمینال سرور مجازی، یوزرنیم و رمز عبور سرور خود را وارد نمایید.
🔶در ادامه پس از اتصال به سرور لینوکس کافیست کامند زیر را در ترمینال سرور لینوکس‌تان وارد کنید.
# در CentOS / AlmaLinux و  ...:

yum update

# در Ubuntu / Debian :

apt update
Bash
پس از وارد کردن دستور بالا VPS شما به راحتی آپدیت می شود.
🔶نکته ای که باید مد نظر داشته باشید این است که پس از وارد کردن دستور آپدیت سرور، از شما تاییدیه خواسته می شود که می‌بایست از کیبورد دکمه  Y را بزنید.
🔶در انتها جهت اعمال تغییرات، می بایست با استفاده از دستور زیر سرور خود را ریبوت نمایید.

reboot
Bash

3 ـ استفاده از sshkey برای ورود به VPS

ورود به سرور لینوکس با sshkey یکی دیگر از نکات تامین امنیت سرور مجازی است که شما باید در نظر بگیرید زیرا روشی امن تر و مطمئن تر نسبت به استفاده از رمز عبور می باشد. برای ساخت و تنظیم کلید SSH می توانید مقاله زیر در بلاگ وب داده را مطالعه کنید.

4ـ غیر فعال کردن ورود به VPS با یوزر root

همان طور که می دانید کاربر root در سیستم عامل لینوکس، دسترسی بدون محدودیت دارد. کاربر روت به تمامی فایل ها، دستورات، خواندن، نوشتن و اجرا دسترسی دارد. بنابراین غیرفعال کردن یوزر روت  از اهمیت زیادی برای امنیت سرور برخوردار است.بهتر است پس از خرید سرور مجازی لینوکسی خود یک یوزر جدید با دسترسی سطح root برای اجرای دستورات ایجاد کنید.
📌 هشدار مهم: تغییر تنظیمات فایروال و پیکربندی سیستم‌های امنیتی سرور مستلزم تخصص و مهارت فنی است و ممکن است منجر به قطع دسترسی به سرور شود. در صورت قفل شدن SSH session یا بروز خطا در زنجیره قوانین iptables/nftables، از کنسول VNC برای Out-of-Band Access و بازگرداندن firewall ruleset به حالت قابل دسترس استفاده کنید. توصیه می‌شود قبل از اعمال تغییرات، از تنظیمات فعلی backup تهیه کنید.

آموزش غیر فعال کردن یوزر root در سرور مجازی لینوکس

برای غیر فعال کردن کاربر root در VPS مراحل زیر را طی کنید:

🟢 پس از خرید سرور مجازی لینوکس، ابتدا از طریق SSH به VPS خود متصل شوید.
🟢سپس فایل کانفیگ کارت شبکه سرور را با ویرایشگر nano باز کنید. برای این کار کافیست دستور زیر را در ترمینال سرور کپی کنید.
nano /etc/ssh/sshd_config
Bash
🟢پس از اجرای دستور بالا وارد محیط ویرایشگر فایل اصلی پیکربندی SSH سرور خواهید شد، در این فایل دقیقا خط زیر را پیدا کرده و پارامتر را به no تبدیل کنید.
PermitRootLogin=no
Bash
📌نکته: یکی از مهم‌ترین تنظیمات برای افزایش امنیت سرور مجازی، تنظیم مقدار no برای پارامتر PermitRootLogin در فایل پیکربندی SSH است. با انجام این کار، کاربر root به‌هیچ‌وجه نمی‌تواند از طریق SSH وارد سرور شود، و در نتیجه می‌توان از بروز بخش بزرگی از حملات Brute Force روی این حساب کاربری جلوگیری کرد.
📌نکته:پس از غیرفعال‌ کردن دسترسی مستقیم root، کاربران عادی سرور می‌توانند با استفاده از دستور sudo، عملیات مدیریتی موردنیاز را با دسترسی سطح بالا انجام دهند.
🟢پس از تغییر پارامتر بالا می بایست فایل کانفیگ کارت شبکه سرور را ذخیره کنید. برای این کار کلید های ترکیبی Ctrl + X را همزمان از کیبورد فشارد دهید، سپس برای تایید حرف Y از کیبورد را زده و Enter کنید.
🟢و در انتها، ssh سرور را با استفاده از دستور زیر ریستارت کنید.
# در CentOS / Red Hat Enterprise:

systemctl restart sshd.service

 یا 
 
 sudo systemctl restart sshd
 
# در Ubuntu / Debian:
 
service ssh restart
Bash
📌 نکته مهم: توصیه می شود حتما قبل از Restart سرور، اطمینان حاصل کنید که به کنسول VNC (یا کنسول تحت وب مدیریت سرور) دسترسی دارید، زیرا با راه‌اندازی مجدد سرویس، تمامی سشن‌های SSH قطع می‌شود و اگر سرویس SSH به‌درستی بالا نیاید، تنها راه عیب‌یابی و بازیابی دسترسی، همین کنسول خواهد بود.

5ـ نصب فایروال داخلی بر روی سرور مجازی لینوکس

برای حفظ امنیت سرور لینوکس، لازم است ترافیک‌های ورودی و خروجی سرور را کنترل کرده و از ورود ترافیک‌های ناخواسته و حملات احتمالی DDos مخرب جلوگیری کنید. برای این منظور لینوکس در انواع توزیع های خود از سرویس‌های فایروال داخلی مانند UFW استفاه می کند.
این فایروال‌های داخلی سرور لینوکسی معمولاً با ابزارهایی مثل iptables یا نسخه جدیدتر آن، یعنی nftables مدیریت می‌شوند.
شیوه کار این فایروال به این صورت است که، با استفاده از جداول ترافیک ورودی و خروجی سرور را رصد کرده و بسته‌ها را فیلتر می کند. از طریق iptables یا nftables ، می‌توانید قوانینی را برای پکت‌های ورودی و خروجی سرور اعمال کنید؛ قوانینی که روی پکت‌ها نظارت کرده و آن‌ها را مجاز (Allow) یا مسدود (Block) می‌کنند. در ادامه روش استفاده هر یک از این فایروال‌ها برای افزایش امنیت سرور را آموزش داده ایم.

1-5ـ iptables و nftables

برای این منظور ابتدا وارد ترمینال SSH سرور مجازی لینوکس خود شوید و سپس می توانید از کامندهای زیر استفاده کنید:

🔶با استفاده از دستور زیر iptables / nftables را در سرور لینوکس نصب کنید. (در این قسمت انواع کامندها برای توزیع های مختلف لینوکس قرار داده شده است متناسب با توزیع لینوکس خود از دستورها استفاده کنید.)
apt-get install iptables

یا 

apt-get install nftables

 # و یا برای توزیع های سنتوس یا فدورا از دستورهای زیر استفاده نمایید: 

yum install nftables

 یا
 
dnf install nftables
Bash
🔶برای راه اندازی سرور فایروال در لینوکس از دستورات زیر برای اجرا و توقف و بارگذاری مجدد می توانید استفاده کنید:
(دقت داشته باشید که پس از اجرای هر خط کد، Enter کنید و دستور بعدی را وارد نمایید.)

service iptables start

service iptables stop

service iptables restart
Bash
🔶جهت مشاهده Ruleها یا قوانین فعال در فایروال داخلی لینوکس یا iptables با توجه به اینکه از کدام ابزار لینوکس استفاده میکنید یکی از دستورهای زیر را در ترمینال سرور خود اجرا کنید.
👈برای iptables :
iptables -L -v -n
Bash
👈برای nftables :
sudo nft list ruleset
Bash
🔶برای مسدود کردن ترافیک ورودی و خروجی از یک آی پی یا یک رنج آی پی در فایروال سرور لینوکس می توانید از دستور زیر استفاده کنید.
📌نکته: IPهایی که در مثال های زیر استفاده شده است صرفاً به‌عنوان نمونه آورده شده‌اند. شما باید از آدرس‌های IP مورد نظر خود استفاده کنید.
📌نکته امنیتی مهم: قبل از اضافه کردن قوانین با وضعیت “DROP” حتما یک SSH دوم باز نگه دارید تا در صورت بروز اشتباه قادر به اصلاح تنظیمات باشید.
👈 در ‎iptables
# بلاک کردن ترافیک ورودی از یک آی پی مشخص :

sudo iptables -A INPUT -s  192.168.0.50  -j DROP

# مسدودکردن ترافیک ورودی از یک رِنج /24
sudo iptables -A INPUT -s  192.168.0.0/24  -j DROP
Bash

در دستور بالا ترافیک ورودی به سرور فقط برای بسته هایی که از IP :192.168.0.50 یا رنج IP: 192.168.0.0/24 مسدود می شوند.
در ابتدای دستور به منظور اجرا با دسترسی مدیر سیستم از Sudo استفاده شده است در صورتی که کاربر ادمین یا root هستید نیازی به استفاده از Sudo در ابتدای دستور ندارید.

👈‎nftables
# مسدودکردن ترافیک ورودی از یک آی پی :
sudo nft add rule inet filter input  ip saddr 192.168.0.50 drop

# مسدودکردن ترافیک ورودی از یک رِنج /24
sudo nft add rule inet filter input  ip saddr 192.168.0.0/24 drop
Bash
در دستور بالا نیز درست مانند دستور قبلی، تمامی ترافیک ورودی از IP های مشخص شده به سمت سرور را مسدود (بلاک) می کند.
💡 بیشتر بدانید: DROP چیست؟
در فایروال‌های داخلی لینوکس، DROP یک اقدام (action) است که برای مسدود کردن ترافیک ورودی یا خروجی سرور استفاده می‌شود. زمانی که یک بسته در شبکه به فایروال می‌رسد و قانون DROP برای آن اعمال می‌شود، آن بسته بدون هیچ‌گونه اطلاع‌رسانی به فرستنده، رَد (drop) می‌شود و از شبکه عبور نمی‌کند.
این روش محافظت و امنیت سرور لینوکسی برای جلوگیری از ترافیک‌های ناخواسته و مشکوک استفاده می شود، زیرا هیچ پیامی مبنی بر رد شدن بسته به فرستنده ارسال نمی شود و فرستنده متوجه بلاک شدن بسته نخواهد شد.
این ویژگی باعث می‌شود تا از حملات Brute Force و DDoS جلوگیری بیشتری به عمل آید، چرا که مهاجم نمی‌تواند تشخیص دهد که ترافیکش به‌طور کامل مسدود شده است.

2-5ـ UFW (Uncomplicated Firewall)

UFW یا Uncomplicated Firewall یک رابط کاربری ساده برای iptables است که برای ساده‌سازی فرایند پیکربندی فایروال داخلی سرورهای لینوکس طراحی شده است. اگر به دنبال افزایش امنیت سرور لینوکس خود هستید و مطمئن نیستید از چه ابزاری استفاده کنید، UFW می تواند گزینه مناسبی باشد. در ادامه آموزش استفاده از این فایروال لینوکسی را آموزش داده ایم.

🔶ابتدا با استفاده از دستور زیر فایروال UFW را نصب کنید.
sudo apt install ufw
Bash
🔶اگر قصد داریدتمام ترافیک خروجی سرور خود را مسدود کنید از دستور زیر استفاده نمایید.
sudo ufw default deny outgoing comment 'deny all outgoing traffic'
Bash
👈 توجه داشته باشید که با اجرای دستور بالا تمامی ترافیک خروجی سرور شما مسدود خواهد شد. در صورتی که تصمیم به انصراف از این کار داشتید می توانید به جای دستور بالا کد زیر را استفاده نمایید:
sudo ufw default allow outgoing comment 'allow all outgoing traffic'
Bash
🔶در صورتی که قصد دارید تمام ترافیک ورودی به سرور خود را مسدود کنید از دستور زیر استفاده نمایید.
sudo ufw default deny incoming comment 'deny all incoming traffic'
Bash
🔶جهت اجازه عبور سرور از پورت‌های خاص می توانید از دستورهای زیر استفاده نمایید.
# اجازه ترافیک خروجی از پورت 53 :

sudo ufw allow out 53 comment 'allow DNS calls out'

#ا اجازه عبور ترافیک برای  HTTP, HTTPS یا FTP:

sudo ufw allow out http comment 'allow HTTP traffic out'
sudo ufw allow out https comment 'allow HTTPS traffic out'
sudo ufw allow out ftp comment 'allow FTP traffic out'
Bash
👈در دستور بالا دقت داشته باشید که در صورتی که میخواهید اجازه عبور ترافیک از پورت خاصی را بدهید، می بایست شماره پورت مناسب راوارد کنید. پورت 53 صرفاً به عنوان مثال ذکر شده است و بسته به نیازهای شما متفاوت خواهد بود.
📌نکته: برای نصب بسته‌های لینوکس و بسیاری موارد دیگر لازم است که پروتکل‌های HTTP/HTTPS را مجاز کنید.
🔶برای راه اندازی فایروال UFW و مشاهده وضعیت آن دستورهای زیر را در ترمینال لینوکس خود وارد کنید.
# راه اندازی UFW :

sudo ufw enable

# مشاهده وضعیت :

sudo ufw status
Bash
📌نکته امنیتی مهم: با اجرای دستور اول که در بالا مشاهده می کنید یعنی هنگام اجرای دستور فعال‌سازی UFW، سوالی از شما پرسیده می‌شود که اجرای این دستور ممکن است عملکرد SSH را مختل کند. در صورت تمایل به ادامه می‌توانید کلید Y کیبورد را فشار دهید. اما قبل از این کار حتماً با دستور sudo ufw allow ssh اجازه دسترسی SSH را صادر کنید تا دسترسی شما به سرور قطع نشود.
امنیت سرور لینوکس
در ادامه با اجرای دستور دوم وضعیت UFW را متناسب با Rule‌هایی که برای آن تعریف کردید مشاهده می کنید. (در نظر داشته باشید که خروجی این دستور با توجه به قوانینی که شما برای UFW در سرور خود تعیین کرده‌اید متفاوت خواهد بود.)

6ـ استفاده از برنامه Fail2Ban

fail2ban یک برنامه امنیت سرور است که کار اصلی آن نظارت لاگ‌های سرور بوده و در صورت مشاهده حمله یا ورود تکراری و تلاش های ناموفق متعدد از سمت هکرها، بصورت خودکار با کمک فایروالIP مهاجم را مسدود می کند.
همچنین، این برنامه از سرور مجازی شما در برابر حملات DoS، DDoS، حملات دیکشنری و حملات Brute-Force محافظت می‌کند. Fail2Ban از iptables و فایروال برای مسدود کردن آدرس‌های IP استفاده می‌کند.
برای نصب وراه اندازی این برنامه در سرور مجازی لینوکس با توزیع ابونتو مراحل زیر را دنبال کنید:

🟣ابتدا در محیط ترمینال از طریق اتصال SSH وارد سرور مجازی خود شوید.

🟣 سپس دستور زیر را برای نصب برنامه Fail2Ban وارد کنید.
sudo apt update
sudo apt install fail2ban -y
Bash
با اجرای دسترو بالا در ابتدا شما مخازن apt را آپدیت کرده سپس برنامه Fail2Ban نصب می شود در انتها با استفاده از y- تایید خودکار جهت نصب نرم افزار را می دهید.

🟣در ادامه فایل پیکربندی زیر را کپی کرده
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Bash
این دستور برای سفارشی سازی نرم افزار امنیت سرور Fail2Ban در ابتدا فایل jail.conf را در jail.local کپی می کند تا به این ترتیب تنظیمات شما در هنگام بروزرسانی احتمالی سرور مجازی‌تان به صورت دائمی حفظ شوند.

🟣در ادامه با استفاده از دستور زیر برنامه Fail2ban را راه اندازی مجدد کنید تا مطمئن شوید که به درستی روی سرور لینوکس شما تنظیم شده است:
sudo service fail2ban restart

# یا 

sudo systemctl restart fail2ban
Bash
با اجرای دستور بالا برنامه Fail2Ban در کمترین زمان اجرا می شود و از این طریق امکان دسترسی غیرمجاز به سرور مجازی شما بسیار کمتر خواهد بود.
این برنامه امنیت سرور مجازی به طور مداوم اجرا می شود و فایل های گزارش را برای جستجوی حملات بررسی می کند. هنگامی که Fail2ban برای چند هفته اجرا  شود، متوجه خواهید شد که لیستی از آدرس های IP ممنوعه ایجاد می کند، که برای امنیت سرور شما می تواند بسیار کمک کننده باشد.

🟣در انتها برای بررسی وضعیت این برنامه امنیت سرور و اطمینان از فعال بودن آن از دستور زیر استفاده کنید.
sudo systemctl status fail2ban
Bash
با اجرای دستور فوق در صورتی که وضعیت سرویس active (running) بود، به این معناست که تنظیمات شما به درستی اعمال شده‌اند و برنامه به‌طور صحیح در حال اجرا ست.

7ـ فعال کردن احراز هویت دو مرحله ای برای امنیت سرور مجازی

احراز هویت دو مرحله ای (2FA) یا احراز هویت چند مرحله ای یکی دیگر از فرآیندهای امنیتی است که از شما و کاربرانتان در برابر حملات فیشینگ و هکرها محافظت می کند و امنیت سرور مجازی شما را به طور قابل توجهی افزایش می دهد. در این روش، برای دسترسی به حساب کاربری یا سیستم، کاربر باید از دو روش مختلف احراز هویت استفاده کند.
برای فعال کردن احراز هویت دو مرحله ای برای SSH در سرور لینوکس باید از ماژول Google Authenticator استفاده کنیم.
برای این کار ابتدا باید ماژول Google Authenticator PAM را نصب کنید. سپس باید ssh را برای استفاده از Google Authenticator کانفیگ کنید.
💡 بیشتر بدانید: جهت استفاده از این روش،می توانید مقاله فعال کردن احراز هویت دو مرحله ای SSH در لینوکس را مطالعه بفرمایید.

8 ـ حذف و غیرفعال کردن برنامه‌ها و اپلیکیشن‌های غیر ضروری برای افزایش امنیت سرور

بر خلاف کامپوترهای شخصی، بر روی سرور تنها باید برنامه ها و سرویس های ضروری را نگه دارید، زیرا داشتن هر برنامه غیر ضروری یک تهدید امنیتی به حساب می‌آید. بنابراین، بهتر است تنها برنامه های لازم و ضروری را بر روی سرور خود نگه دارید و مابقی را حذف کنید.
همچنین، نرم افزارهایی که استفاده می کنیدباید بروزرسانی شوند، زیرا نرم افزارهای نسخه قدیمی تر ممکن است آسیب پذیرتر باشند. توسعه‌دهندگان به طور منظم به‌روزرسانی‌ها و وصله‌های امنیتی را منتشر می‌کنند. برای افزایش امنیت سرور مجازی لینوکس، حتماً نسخه‌های جدید نرم‌افزارهای خود را بررسی کرده و به محض در دسترس قرار گرفتن، آن‌ها را نصب کنید.

9 ـ تغییر پورت FTP بعد از خرید VPS

به منظور افزایش امنیت سرور به خصوص VPS، توصیه می شود که پورت پیش فرض FTP ( پورت شماره 21) را تغییر دهید. همانطور که می دانید، FTP را می توان از طریق ابزارهای مختلف راه اندازی کرد. اگر از proftpd برای راه اندازی استفاده کرده اید، برای تغییر پورت FTP باید فایل کانفیگ proftpd را ویرایش کنید.

🔵برای اینکار می بایست ابتدا فایل پیکربندی را با دستور زیر باز کنید:
/etc/proftpd/proftpd.conf
Bash
🔵پس از آن، خط Port 21 را پیدا کنید و پورت را از 21 به یک عدد دلخواه بین ۴۹۱۵۲ تا ۶۵۵۳۵ تغییر دهید که مربوط به بازه پورت های موقتی یا ثبت نشده هستند .

امنیت سرور
📌نکته: توصیه می شود برای جلوگیری از تداخل با سایر سرویس ها (که در بازه 0 تا 1023 قرار دارند)، شماره پورت FTP خود را از بازه پورت های ثبت نشده یا موقتی یعنی بین ۴۹۱۵۲ تا ۶۵۵۳۵ انتخاب کنید. (به طور پیش فرض پورت 21 برای FTP در نظر گرفته شده است که در محدوده پورت های شناخته شده است. )

امنیت سی پنل و دایرکت ادمین

تمامی مواردی که تا کنون مطرح شد، مربوط به افزایش امنیت سرورهای لینوکس و ویندوز بود، اما امنیت یک سرور میزبانی نیازمند لایه های حفاظتی بیشتری است. به‌عنوان مثال، اگر تصمیم به نصب PHP، پایتون یا هر زبان برنامه‌نویسی و دیتابیس خاصی دارید، باید تنظیمات امنیتی آن‌ها را به‌طور جداگانه انجام دهید تا از آسیب‌پذیری‌های احتمالی جلوگیری کنید.
برای سرورهای اختصاصی، هاست اشتراکی، سرور سی پنل و دایرکت ادمین یا هر سرور میزبانی که مجهز به کنترل پنل‌هایی مانند DirectAdmin، cPanel یا Plesk است، استفاده از ابزارهای امنیتی متنوعی مانند CSF (ConfigServer Firewall)، Imunify360 یا ModSecurity (WAF) می‌تواند به‌شدت امنیت سرور را افزایش دهد.
در مقالات آینده وب‌داده، آموزش‌های جامع و دقیقی در خصوص پیکربندی و استفاده از هر یک از این ابزارهای امنیتی ارائه خواهیم داد تا بتوانید امنیت سرور میزبانی خود را به بالاترین سطح برسانید.

نتیجه گیری

در نهایت، باید گفت که امنیت سرور موضوعی بسیار گسترده است و هیچ سروری را نمی‌توان به‌طور کامل در برابر تمامی تهدیدات امنیتی ایمن دانست. در این مقاله از بلاگ وب داده، سعی کردیم راهکارهای ساده اما کاربردی برای افزایش امنیت سرور مجازی ویندوزی و لینوکسی به شما ارائه دهیم. امیدواریم که این مقاله را مطالعه کرده و تمامی توصیه‌ها را بر روی سرور مجازی خود پیاده سازی کنید تا بتوانید تا حدود زیادی از حملات هکرها و فیشینگ جلوگیری کنید.
برای داشتن یک سرور مجازی با کیفیت با انواع سیستم عامل ها، می توانید به وبسایت وب داده مراجعه کنید. وب داده سرورهای مجازی و اختصاصی با کیفیت بالا، سرعت و آپتایم فوق‌العاده در بسیاری از لوکیشن های ایران و خارج ارائه می دهد. سرور مجازی ایران و سرور اختصاصی ایران  وب داده با پشتیبانی عالی و عملکرد بی‌نظیر، انتخاب مناسبی برای کسب‌وکارهای آنلاین شماست.

سوالات متداول امنیت سرور مجازی

  1. امنیت سرور مجازی چیست؟

    امنیت سرور مجازی به میزان مقاومت سرورهای شما در برابر تهدیدهای سایبری مانند بدافزارها، حملات شنود، نفوذ و سایر آسیب‌پذیری‌ها، اشاره دارد.
    یکی از راه‌هایی که می تواند به بهبود امنیت سرور مجازی شما کمک کند، مدیریت صحیح سرور است، به این معنا که باگ‌های آن برطرف شود و تنظیمات امنیتی به درستی اعمال شوند.
    همچنین پشتیبانی شرکت ارائه دهنده میزبانی، امکانات و سرویس های امنیتی که ارائه می دهند نیز نقش مهمی در تعیین سطح امنیت سرور مجازی شما دارند.
    وب داده تمامی این نیازهای امنیتی را پوشش می‌دهد. در صورت نیاز به مشاوره یا رفع مشکلات، می‌توانید از طریق تماس تلفنی یا ارسال تیکت با کارشناسان ما در ارتباط باشید تا بهترین راهکارهای امنیت سرور مجازی را دریافت کنید.

  2. چرا امنیت سرور مجازی مهم است؟

    وجود هر ضعف امنیتی در سرور مجازی، می تواند خود سرور، وبسایت هایی که بر روی آن میزبانی می شوند و حتی بازدیدکنندگان را در برابر حملات سایبری آسیب پذیر کند. این حملات ممکن است به نشت داده‌های حساس، از دست رفتن اعتماد کاربران و خسارات مالی قابل‌توجه منجر شود. بنابراین، اجرای تدابیر سخت‌افزاری و نرم‌افزاری برای امنیت سرور مجازی ضروری است.

  3. آیا میزبانی سرور مجازی (VPS) از نظر امنیت بهتر از هاست اشتراکی یا سرور اختصاصی است؟

    بله، سرور مجازی به دلیل منابع اختصاصی، دسترسی روت و امکان پیکربندی سفارشی، امنیت بالاتری نسبت به هاست اشتراکی دارد. در مقایسه با سرور اختصاصی، سطح امنیت تقریباً مشابه است. تفاوت اصلی بیشتر در ظرفیت سخت‌افزاری و مدیریت فیزیکی سرور اختصاصی است، نه در مؤلفه‌های امنیتی هسته‌ای.

  4. آیا سرور‌ مجازی (VPS)فایروال دارد؟

    بله، اغلب VPSها برای تامین امینت سرور، همراه با یک فایروال اولیه و بصورت پیش فرض ارائه می شوند و کاربران می توانند با توجه به نیازهای خود قوانین آن را تغییر دهند. در توزیع‌های لینوکسی نیز ابزارهای فایروال داخلی مانند iptables که در همین مقاله به آن اشاره کردیم برای پیکربندی فایروال در دسترس هستند.

سارا صالحی

سارا صالحی

مقاله‌ها: 26

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *