امنیت سرور لینوکس؛ چکلیست ایمنسازی SSH در ۱۰ دقیقه
سرور تازهای که راه میاندازید، در همان دقایق اول هدف است: رباتها بیوقفه اینترنت را اسکن میکنند و روی هر پورت ۲۲ بازی، هزاران رمز عبور را امتحان میکنند. لاگ auth.log هر سرور تازهای پر از این تلاشهاست. خبر خوب: با ده دقیقه پیکربندی، سرور شما از هدف آسان به دژی قفلشده تبدیل میشود. این چکلیست را به ترتیب اجرا کنید.
۱. ورود با کلید SSH بهجای رمز عبور
رمز عبور را میشود حدس زد؛ کلید ۲۵۶ بیتی را نه. اول روی سیستم خودتان کلید بسازید:
ssh-keygen -t ed25519
سپس کلید عمومی را به سرور منتقل کنید:
ssh-copy-id user@your-server-ip
حالا بدون رمز و فقط با کلید وارد میشوید. مطمئن شوید ورود کار میکند، بعد سراغ قدم ۲ بروید.
۲. غیرفعالکردن ورود با رمز و کاربر root
فایل تنظیمات SSH را باز کنید:
nano /etc/ssh/sshd_config
این سه خط را پیدا و مقدارشان را تنظیم کنید:
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
و سرویس را ریاستارت کنید: systemctl restart ssh. از این لحظه حملهی حدس رمز بیمعنا میشود.
۳. فایروال: فقط درهای لازم باز
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
هر پورتی جز وب و SSH بسته میشود. اگر سرور ابری دارید، فایروال ابری را هم از پنل فعال کنید تا ترافیک مخرب قبل از رسیدن به سرور فیلتر شود — دو لایه بهتر از یک لایه است.
۴. مسدودسازی خودکار با fail2ban
apt install fail2ban
systemctl enable --now fail2ban
fail2ban لاگها را میخواند و IPهایی که پشتسرهم تلاش ناموفق دارند را خودکار مسدود میکند. نصب پیشفرضش برای SSH همان لحظه فعال است.
۵. بهروزرسانی خودکار امنیتی
apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
وصلههای امنیتی بدون دخالت شما نصب میشوند؛ بیشتر نفوذهای واقعی از آسیبپذیریهایی رخ میدهد که ماهها قبل وصلهشان منتشر شده بود. برای نصب سریع این پکیجها روی سرور ایرانی، میرور لینوکس منیجیت را فعال کنید.
جمعبندی
پنج قدم، ده دقیقه: کلید SSH، بستن ورود با رمز، فایروال، fail2ban و آپدیت خودکار. همین چکلیست ساده جلوی عمدهی حملات خودکار را میگیرد. یادتان باشد امنیت مقصد نیست، عادت است — بکاپ منظم را هم کنارش نگه دارید.