چطور امنیت سرور ساعتی را بالا ببریم؟
چطور امنیت سرور ساعتی را بالا ببریم؟
سرورهای ساعتی با انعطافپذیری و هزینه کم، به گزینهای جذاب برای کاربران زیادی تبدیل شدهاند؛ از توسعهدهندگان و تستکنندهها گرفته تا کسبوکارهایی که نیاز به منابع موقتی دارند. این سرورها، چه برای اجرای پروژههای کوچک باشند و چه برای مقاصد بزرگتر، به شما این امکان را میدهند که تنها به میزان استفادهتان هزینه کنید. اما درست مثل هر سیستم متصل به اینترنت، امنیت سرور ساعتی هم از اهمیت بالایی برخوردار است.
اما سوال اصلی برای کاربران این است که چطور امنیت سرور ساعتی را بالا ببریم در این مطلب دقیقا قصد داریم به این سوال پرتکرار پاسخ بدهیم.
بسیاری از کاربران تازهکار و حتی نیمهحرفهای، به دلیل عدم آشنایی کافی، اقدامات امنیتی لازم را روی این سرورها انجام نمیدهند که همین موضوع میتواند سرورشان را در معرض حملات سایبری قرار دهد. در این مطلب، قصد داریم به بررسی راهکارهای عملی و قابل اجرا برای افزایش امنیت سرور ساعتی بپردازیم که نه تنها برای سرور مجازی ساعتی، بلکه برای انواع دیگر سرورها مثل سرور ابری و سرور مجازی نیز کاربرد دارند.
چرا امنیت سرور ساعتی مهم است؟
ممکن است فکر کنید سرورهای موقتی که فقط چند ساعت یا چند روز مورد استفاده قرار میگیرند، نیازی به اقدامات امنیتی قوی ندارند. اما این یک تصور اشتباه است. سرورهای تازه راهاندازی شده، معمولا با تنظیمات پیشفرض ارائه میشوند که میتوانند نقاط ضعف امنیتی زیادی داشته باشند. از آنجایی که بسیاری از کاربران، مخصوصا تازهکارها، این تنظیمات را تغییر نمیدهند یا اقدامات امنیتی پایه را انجام نمیدهند، این سرورها به اهداف آسانی برای هکرها تبدیل میشوند.
مجرمان سایبری همواره در جستجوی سرورهای آسیبپذیر هستند تا از آنها برای مقاصد مخرب خود مانند حملات DDoS، استخراج رمزارز یا انتشار بدافزار سوءاستفاده کنند. بنابراین، حتی اگر سرور شما برای مدت کوتاهی فعال است، تامین امنیت آن ضروری است تا از سوءاستفادههای احتمالی جلوگیری شود.
بدیهی است که اعمال دستورات و چک لیستهای این مقاله، پس از خرید سرور مجازی ساعتی سرور.آیآر نیز توصیه میشود و این دستورات، بین انواع سرورهای لینوکسی یکسان است.
چکلیست کامل افزایش امنیت سرور ساعتی
با رعایت چند نکته ساده اما تاثیرگذار، میتوانید امنیت سرور ساعتی خود را به شکل چشمگیری افزایش دهید. دقت داشته باشید که تمام موارد اشاره شده در این مقاله، نیاز به دانش حداقلی از خط فرمان در لینوکس دارند و در صورتی که هیچ آشنایی خاصی با این موضوع ندارید، بهتر است که در ابتدا یک مقدمه ساده از نحوه استفاده از خط فرمان لینوکس را مطالعه کنید.
در ادامه، به یک چکلیست کامل از اقدامات امنیتی میپردازیم که هر کاربر تازهکار یا نیمهحرفهای میتواند آنها را روی سرور خود پیادهسازی کند:
۱. تغییر پورت پیشفرض SSH
پورت ۲۲، پورت پیشفرض برای اتصال SSH است و هکرها معمولا اولین جایی که برای حملات brute-force امتحان میکنند، همین پورت است. با تغییر پورت پیشفرض SSH به یک پورت غیرمعمول دیگر، میتوانید تا حد زیادی از این حملات جلوگیری کنید.
برای تغییر پورت، فایل تنظیمات SSH را ویرایش کنید:
sudo nano /etc/ssh/sshd_config
خط مربوط به Port 22 را پیدا کرده و عدد ۲۲ را به یک عدد دلخواه دیگر (مثلا ۲۲۲۲) تغییر دهید. دقت کنید که پورت انتخابی شما نباید توسط سرویس دیگری استفاده شده باشد و بالای عدد ۱۰۲۴ باشد. سپس سرویس SSH را ریستارت کنید:
sudo systemctl restart sshd
۲. غیرفعالسازی ورود مستقیم به root
ورود مستقیم به کاربر root از طریق SSH، یک خطر بزرگ برای امنیت سرور ساعتی است. در صورت لو رفتن رمز عبور root، مهاجم به تمام اختیارات سرور دسترسی پیدا خواهد کرد. توصیه میشود یک کاربر جدید با دسترسی sudo ایجاد کرده و ورود مستقیم root را غیرفعال کنید.
برای ایجاد کاربر جدید:
sudo adduser username
sudo usermod -aG sudo username
سپس برای غیرفعال کردن ورود مستقیم root، فایل sshd_config را مجددا ویرایش کنید:
sudo nano /etc/ssh/sshd_config
خط PermitRootLogin yes را به PermitRootLogin no تغییر دهید و سرویس SSH را ریستارت کنید.
۳. فعالسازی احراز هویت با کلید SSH
احراز هویت با کلید SSH یا همان (SSH Key) بسیار امنتر از رمز عبور است. در این روش، به جای وارد کردن رمز عبور، از یک جفت کلید عمومی و خصوصی برای ورود استفاده میشود. کلید عمومی روی سرور و کلید خصوصی روی سیستم شما قرار میگیرد. این روش برای سرورهای مهم یا طولانیمدت اکیدا توصیه میشود.
در هنگام فعال سازی این سیستم احراز هویت، از داشتن کلید خصوصی روی سیستم خود اطمینان حاصل کنید، چرا که اتصال شما به سرور، منوط به داشتن کلید خصوصی است. در غیر این صورت، دوباره باید از یوزرنیم و پسورد ارائه شده توسط شرکت میزبان استفاده کنید.
برای ایجاد کلید SSH روی سیستم خود:
ssh-keygen -t rsa -b 4096
دقت داشته باشید که این کد را باید در خط فرمان (Command Prompt یا CMD) یا ترمینال سیستم عامل خودتان وارد کنید.
سپس کلید عمومی را روی سرور کپی کنید:
ssh-copy-id username@your_server_ip
۴. نصب و فعالسازی فایروال (UFW یا CSF)
فایروال یکی از اساسیترین ابزارهای امنیت سرور ساعتی است که با محدود کردن دسترسی فقط به پورتهای مورد نیاز (مثلا پورت ۸۰ برای وب، پورت ۴۴۳ برای HTTPS و پورت SSH تغییر یافته)، از حملات ناخواسته جلوگیری میکند. UFW یا همان (Uncomplicated Firewall) یک ابزار ساده و کاربردی برای مدیریت فایروال در لینوکس است.
برای نصب و فعالسازی UFW:
sudo apt update
sudo apt install ufw
sudo ufw enable
مجاز کردن پورتها:
sudo ufw allow ssh # اگر پورت SSH را تغییر دادهاید، پورت جدید را وارد کنید
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status
۵. نصب ابزار fail2ban
Fail2ban یک ابزار فوقالعاده برای جلوگیری از حملات brute-force است. این ابزار لاگهای سرور را مانیتور میکند و در صورت مشاهده تلاشهای لاگین ناموفق پیدرپی از یک آدرس IP مشخص، آن IP را برای مدت زمان مشخصی بلاک میکند.
برای نصب fail2ban:
sudo apt update
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
۶. تنظیم بکاپ خودکار
حتی روی سرور VPS، بکاپگیری منظم از اطلاعات حیاتی است. در صورت بروز هرگونه مشکل امنیتی یا خرابی سیستم، بکاپ به شما کمک میکند تا اطلاعات خود را بازیابی کنید. میتوانید از ابزارهایی مانند rsync برای همگامسازی فایلها با یک سرور بکاپ دیگر یا از Rclone برای بکاپگیری در فضای ابری استفاده کنید.
واسط خط فرمان برای بکاپگیری با rsync:
rsync -avz /path/to/your/data user@backup_server_ip:/path/to/backup/destination
توضیحات اضافی :
/path/to/your/data
چیست؟ این مسیر پوشه یا فایلی است که میخواهید از آن بکاپ بگیرید. این مسیر روی سرور اصلی شما قرار دارد.
backup_server_ip
چیست؟ این آدرس IP یا نام دامنه سرور بکاپ شماست. یعنی سروری که قرار است اطلاعات روی آن ذخیره شود.
/path/to/backup/destination
چیست؟ این مسیر داخل سرور بکاپ است که میخواهید اطلاعات در آنجا ذخیره شوند.
۷. نصب و فعالسازی SSL رایگان
اگر قصد دارید یک سرویس وب (مثل وبسایت یا اپلیکیشن) روی سرور ساعتی خود اجرا کنید، نصب گواهی SSL برای رمزنگاری ارتباطات بسیار مهم است. Let’s Encrypt گواهیهای SSL رایگان ارائه میدهد که به راحتی با ابزارهایی مانند Certbot قابل نصب هستند.
نصب Certbot برای Apache
اگر وبسرور شما Apache است:
sudo apt install certbot python3-certbot-apache
نصب Certbot برای Nginx
اگر وبسرور شما Nginx است:
sudo apt install certbot python3-certbot-nginx
۸. بهروزرسانی مرتب سیستمعامل و پکیجها
بهروزرسانیهای سیستمعامل و پکیجها معمولا شامل پچهای امنیتی برای آسیبپذیریهای کشف شده هستند. بهروز نگه داشتن سرور ابری، یکی از سادهترین و در عین حال مهمترین کارهای امنیتی است.
برای بهروزرسانی در سیستمهای مبتنی بر Debian/Ubuntu:
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
و در سیستمهای مبتنی بر Red Hat/CentOS:
sudo yum update
به دنبال خرید اس اس ال Sectigo هستید؟
Sectigo یکی از مراکز ارائه دهنده گواهینامه SSL است که تنها پسوندهای بینالمللی را پشتیبانی میکند.
ابزارهای مانیتورینگ امنیت سرور
پس از اعمال تنظیمات امنیتی، مانیتورینگ وضعیت امنیتی سرور نیز از اهمیت بالایی برخوردار است. ابزارهای زیر میتوانند به شما در این زمینه کمک کنند:
- Logwatch: این ابزار لاگهای سیستمی را جمعآوری و خلاصهای از فعالیتهای مهم، شامل تلاشهای ورود ناموفق، فعالیتهای مشکوک و خطاهای سیستم را به شما ایمیل میکند.
- Lynis: یک ابزار ممیزی امنیتی است که سرور شما را برای نقاط ضعف، تنظیمات نادرست و موارد امنیتی بررسی میکند و گزارش جامعی ارائه میدهد.
- Netdata: یک ابزار مانیتورینگ عملکرد سیستم است که میتواند اطلاعات لحظهای در مورد استفاده از منابع، اتصالات شبکه و فعالیتهای کاربر ارائه دهد و به شما کمک کند فعالیتهای غیرعادی را تشخیص دهید.
با استفاده از این ابزارها میتوانید به طور مداوم امنیت سرور مجازی و سرور ابری ساعتی خود را پایش کنید و در برابر حملات سایبری روی سرور، آمادگی مناسبی داشته باشید.
پیشنهادات و جمع بندی برای افزایش امنیت سرور ساعتی
افزایش امنیت سرور ساعتی، چه سرور مجازی ساعتی باشد و چه یک سرور ابری موقتی، از اهمیت ویژهای برخوردار است. همانطور که دیدیم، با پیادهسازی چند راهکار ساده میتوان تا حد زیادی از سرور در برابر حملات سایبری محافظت کرد. به یاد داشته باشید که امنیت یک فرآیند پیوسته است و نیازمند توجه و بهروزرسانی مداوم است.
اگر به دنبال راهی برای حذف نگرانیهای امنیتی و مدیریت سرور هستید، پیشنهاد میکنیم از خدماتی استفاده کنید که امنیت پیشفرض قویتری دارند و شامل پشتیبانی حرفهای میشوند. انتخاب یک سرویس سرور مجازی با تیم پشتیبانی متخصص، میتواند در مدیریت امنیت و رفع مشکلات احتمالی به شما کمک شایانی کند و به شما این امکان را بدهد که با خیال راحتتری روی پروژههای خود تمرکز کنید.
سوالات متداول
حتی اگر از یک سرور مجازی ساعتی برای مدت کوتاهی استفاده کنید، سرور شما بلافاصله پس از راهاندازی به اینترنت متصل میشود. سرورهایی که با تنظیمات پیشفرض رها میشوند، به سرعت توسط هکرها اسکن و شناسایی میشوند. آنها به دنبال نقاط ضعف برای حملات سایبری روی سرور هستند تا از منابع شما برای اهداف مخرب مانند ارسال اسپم، انجام حملات DDoS یا استخراج رمزارز استفاده کنند. بنابراین، رعایت نکات امنیتی از لحظه اول ضروری است.
بله، این اقدام بسیار موثر است. پورت ۲۲ پورت استاندارد SSH است و هکرها و رباتها دائماً در حال اسکن این پورت برای انجام حملات brute-force هستند. با تغییر آن به یک پورت غیرمعمول (مثلا ۲۲۲۲)، شما عملا سرور خود را از دید اکثر این حملات خودکار پنهان میکنید. این کار یک لایه امنیتی اولیه و مهم برای هاردن (Harden) کردن سرور شماست.
احراز هویت با کلید SSH به مراتب امنتر از رمز عبور است. رمزهای عبور ممکن است ضعیف باشند، لو بروند یا توسط حملات brute-force حدس زده شوند. اما کلیدهای SSH، یک جفت کلید رمزنگاری شده بسیار طولانی و پیچیده هستند که حدس زدن آنها تقریبا غیرممکن است. این روش به شما کمک میکند تا بدون نگرانی از لو رفتن رمز عبور، به صورت امن به سرور خود متصل شوید و امنیت سرور ساعتی خود را به شدت افزایش دهید.
UFW یا همان
(Uncomplicated Firewall) یک ابزار فایروال داخلی لینوکس است که به شما امکان میدهد ترافیک ورودی و خروجی سرور را کنترل کنید. UFW
ضروری است چون به شما اجازه میدهد تنها پورتهایی را باز کنید که سرور شما واقعا به آنها نیاز دارد (مثلا پورت SSH، پورت ۸۰ برای وب). با این کار، شما تمام پورتهای دیگر را میبندید و سطح حمله (attack surface) سرور خود را به شدت کاهش میدهید و از حملات سایبری روی سرور جلوگیری میکنید. این یکی از حیاتیترین تنظیمات امنیتی لینوکس است.
حتی روی سرور مجازی ساعتی، ممکن است اطلاعات مهمی (مانند دادههای تست، تنظیمات پروژه یا کدهای در حال توسعه) وجود داشته باشد. احتمال بروز خطا، حملات سایبری، یا حتی اتمام ناخواسته سرویس ساعتی وجود دارد. داشتن یک بکاپ سرور ساعتی منظم به شما اطمینان میدهد که در صورت بروز هرگونه مشکل، میتوانید اطلاعات خود را بازیابی کرده و از از دست رفتن تلاشها و دادههایتان جلوگیری کنید.
توصیه میشود با تغییر پورت SSH، غیرفعال کردن ورود مستقیم root، و نصب و پیکربندی UFW شروع کنید. این سه گام اولیه، بیشترین تاثیر را در امنیت سرور ساعتی شما خواهند داشت. پس از آن، به سراغ نصب fail2ban و در نظر گرفتن بکاپ سرور ساعتی بروید. همیشه به خاطر داشته باشید که بهروزرسانی منظم سیستمعامل و پکیجها نیز از اهمیت بالایی برخوردار است.
شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.