امنیت و شبکه

امن‌سازی سرور اوبونتو در ۱۰ قدم

سرور تازه از دقیقه اول هدف اسکن‌های خودکار است. این ده قدم، بیش از ۹۰ درصد این حمله‌ها را بی‌اثر می‌کند.

تیم فنی پاسارگاد میزبان(مهندسی زیرساخت) 2 دقیقه مطالعه

سرور تازه‌ای که به اینترنت وصل می‌شود، از همان دقیقه اول هدف اسکن‌های خودکار است: ربات‌ها پورت‌ها را می‌زنند و رمزهای رایج را امتحان می‌کنند. خبر خوب اینکه امن‌سازی سرور اوبونتو کار پیچیده‌ای نیست؛ ده قدم زیر، بیش از ۹۰ درصد این حمله‌ها را بی‌اثر می‌کند.

۱) همه بسته‌ها را به‌روز کنید

apt update && apt upgrade -y

بیشتر رخنه‌ها از آسیب‌پذیری‌های شناخته‌شده و وصله‌شده سوءاستفاده می‌کنند. به‌روزرسانی، ارزان‌ترین کار امنیتی دنیاست.

۲) کاربر غیرروت بسازید

کار روزمره با root یعنی یک اشتباه تایپی می‌تواند سرور را از بین ببرد:

adduser pm
usermod -aG sudo pm

از این به بعد با کاربر pm وارد شوید و برای کارهای مدیریتی sudo بزنید.

۳) ورود با کلید SSH را فعال و ورود با رمز را ببندید

کلید SSH هم امن‌تر است هم راحت‌تر. مراحلش را کامل در آموزش اتصال به سرور با SSH نوشته‌ایم. پس از آزمایش موفق کلید، در /etc/ssh/sshd_config:

PasswordAuthentication no
PermitRootLogin prohibit-password
systemctl restart ssh

۴) فایروال را روشن کنید

قاعده ساده: همه چیز بسته، جز آنچه لازم است.

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80,443/tcp
ufw enable
ufw status verbose

اگر سرویس دیگری دارید (مثلاً دیتابیس)، آن را فقط برای آی‌پی‌های مشخص باز کنید، نه برای همه.

۵) پورت SSH را جابه‌جا کنید (اختیاری)

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

Port 2222

یادتان باشد پورت تازه را در فایروال باز کنید.

۶) Fail2ban را نصب کنید

Fail2ban آی‌پی‌هایی که پشت سر هم ورود ناموفق دارند را موقتاً بلاک می‌کند:

apt install fail2ban -y
systemctl enable --now fail2ban
fail2ban-client status sshd

۷) به‌روزرسانی‌های امنیتی را خودکار کنید

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

اینطور وصله‌های امنیتی بدون دخالت شما نصب می‌شوند.

۸) سرویس‌های بی‌استفاده را خاموش کنید

هر سرویس باز، یک سطح حمله است. ببینید چه چیزی گوش می‌دهد:

ss -tulpn | grep LISTEN

هر چه را نمی‌شناسید یا لازم ندارید، غیرفعال کنید:

systemctl disable --now نام-سرویس

۹) گواهی SSL بگیرید

برای هر سایتی که کاربر در آن فرم پر می‌کند، HTTPS اجباری است. با Let's Encrypt رایگان است:

apt install certbot python3-certbot-nginx -y
certbot --nginx -d example.com -d www.example.com

تمدید گواهی خودکار انجام می‌شود. HTTPS یک سیگنال رتبه در گوگل هم هست؛ سایت بدون آن در نتایج ضرر می‌کند.

۱۰) بکاپ و اسنپ‌شات را جدی بگیرید

امنیت فقط جلوگیری از نفوذ نیست؛ توان برگشتن هم هست.

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

چک‌لیست ماهانه

  • لاگ ورودهای ناموفق را ببینید: journalctl -u ssh | tail -50
  • کاربران سرور را بازبینی کنید: cat /etc/passwd | tail
  • فضای دیسک و مصرف منابع را چک کنید: df -h و free -m
  • آخرین اسنپ‌شات را آزمایش کنید (بازگردانی روی یک سرور موقت)

منابع بیشتر

راهنمای امنیت اوبونتو مرجع رسمی خوبی است: ubuntu.com/security. اگر تازه سرور گرفته‌اید، راهنمای انتخاب پلن و تفاوت سرور ابری و مجازی را هم ببینید.

سرور ندارید و می‌خواهید این قدم‌ها را تمرین کنید؟ با پرداخت ساعتی یک سرور کوچک بسازید؛ چند ساعت تمرین، هزینه‌ای ناچیز دارد.

پرسش‌های پرتکرار

عوض کردن پورت SSH واقعاً امنیت می‌آورد؟

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

Fail2ban چه کاری انجام می‌دهد؟

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

اسنپ‌شات جای بکاپ را می‌گیرد؟

نه. اسنپ‌شات تصویر لحظه‌ای کل دیسک برای تغییرهای ریسک‌دار است و بکاپ، نسخه‌های زمان‌بندی‌شده داده‌های روزمره. برای سرور جدی، هر دو لازم است.

اشتراک‌گذاری: تلگرام واتساپ ایکس

تیم فنی پاسارگاد میزبان

مهندسی زیرساخت

ما هر روز سرور می‌سازیم، نگه می‌داریم و مشکل‌هایشان را حل می‌کنیم؛ این مقاله‌ها خلاصه همان تجربه روزمره است.

سرور ساعتی ایران و خارج، در کمتر از یک دقیقه

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

ساخت سرور ساعتی

آخرین بازبینی این مقاله: