چکلیست امنیت لینوکس
سیستم خود را با این چکلیست حرفهای (۳۹ مورد) بررسی کنید. هر موردی که انجام دادهاید را علامت بزنید و برای راهحل، روی «نمایش دستور» کلیک کنید.
رمز عبور قوی (حداقل ۱۲ نویسه)
رمز عبور شامل حروف بزرگ/کوچک، اعداد و نمادها باشد.
احراز هویت دو مرحلهای (MFA)
MFA برای تمام حسابهای کاربری فعال باشد.
غیرفعالکردن ورود root با SSH
PermitRootLogin no در /etc/ssh/sshd_config
استفاده از کلید SSH بهجای رمز عبور
PasswordAuthentication no در sshd_config
تغییر پورت پیشفرض SSH (۲۲)
استفاده از پورت غیراستاندارد برای کاهش حملات brute force.
قفل کردن حساب کاربری پس از ورودهای ناموفق
استفاده از fail2ban یا pam_tally2.
فایروال فعال (UFW/iptables/nftables)
فقط پورتهای ضروری باز باشند (۲۲، ۸۰، ۴۴۳).
غیرفعالکردن سرویسهای غیرضروری
سرویسهای استفادهنشده را حذف یا غیرفعال کنید.
امنیت شبکه بیسیم (WPA3/WPA2)
رمزنگاری قوی برای شبکه Wi-Fi.
IPv6 غیرضروری را غیرفعال کنید
اگر از IPv6 استفاده نمیکنید، آن را غیرفعال کنید.
DNS over HTTPS (DoH) یا DoT
رمزنگاری ترافیک DNS برای جلوگیری از sniffing.
VPN برای دسترسی راهدور
استفاده از WireGuard یا OpenVPN بهجای exposing سرویسها.
بهروزرسانی منظم سیستم
apt update && apt upgrade یا emerge --update world
fail2ban نصب و فعال
محافظت در برابر brute force attacks.
SELinux/AppArmor فعال
کنترل اجباری دسترسی (MAC).
حداقل دسترسی (Least Privilege)
کاربران فقط دسترسی لازم را داشته باشند.
غیرفعالکردن不必要的 kernel modules
ماژولهای کرنل استفادهنشده را غیرفعال کنید.
تنظیم sysctl امنیتی
پارامترهای کرنل برای امنیت (ASLR، SYN cookies).
لاگهای سیستم فعال (journalctl/syslog)
لاگهای امنیتی بهطور منظم بررسی شوند.
آلارم ورودهای ناموفق
هشدار برای تلاشهای متعدد ورود ناموفق.
بکاپ منظم و رمزنگاریشده
بکاپ خودکار با رمزنگاری (borg/restic).
auditd برای حسابرسی سیستم
ثبت رویدادهای امنیتی حساس.
مانیتورING تغییرات فایلهای حساس
نظارت بر فایلهای پیکربندی و باینریهای سیستم.
رمزنگاری دیسک (LUKS)
دیسک یا پارتیشنهای حساس رمزنگاری شوند.
HTTPS با گواهی معتبر (Let's Encrypt)
تمام ترافیک وب رمزنگاری شود.
رمزنگاری ارتباطات SSH
استفاده از الگوریتمهای مدرن (Ed25519).
پاککردن امن فایلها
استفاده از shred بهجای rm برای فایلهای حساس.
ایمنسازی Docker daemon
Docker daemon فقط روی localhost Listen کند.
اجرای کانتینرها با non-root user
از USER در Dockerfile استفاده کنید.
اسکن ایمیجهای کانتینری
استفاده از Trivy یا Grype برای اسکن آسیبپذیری.
دسترسی IAM حداقل در کلود
فقط دسترسیهای لازم در AWS/GCP/Azure.
رمزنگاری دیتابیس در حالت استراحت
دادههای دیتابیس روی دیسک رمزنگاری شوند.
Network policies در Kubernetes
محدود کردن ترافیک بین pods.
Lynis security audit
اجرای منظم ممیزی امنیتی Lynis.
غیرفعالکردن SUID غیرضروری
بررسی و محدود کردن باینریهای SUID.
غیرفعالکردن USB storage
جلوگیری از حذف داده با USB (در صورت نیاز).
تنظیم auto-updates امنیتی
بهروزرسانی خودکار پچهای امنیتی.
HIDS (Host-based IDS)
نصب OSSEC یا Wazuh برای تشخیص نفوذ.
_hardening BIOS/UEFI
تنظیم رمز عبور BIOS و غیرفعالکردن boot از USB.