CentOS-RHEL-Linux-Enterprise-Community-پایداری-رایگان-سرور-پشتیبانی-تجاری-دیتاسنتر-SLES-OracleLinux-UbuntuLTS-Stream-AlmaLinux-RockyLinux-LTS-Security-Serverدوره رایگان-الگوریتم اول-free-آموزش کامل

لطفا صبر کنید...

مباحث پایه امنیتی در CentOS

در CentOS هم مثل سایر توزیع‌های لینوکسی، امنیت سیستم از سه لایه اصلی تشکیل می‌شود: کاربران و سطح دسترسی، سخت‌کردن سرویس‌ها (Hardening)، و بروزرسانی و پایش مداوم.

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

1. مدیریت ایمن کاربران

  • عدم استفاده مستقیم از root (ورود به سیستم به عنوان root را غیرفعال کن):
passwd -l root
  • ایجاد کاربر عادی و دادن دسترسی sudo:
useradd -m -s /bin/bash myuser
usermod -aG wheel myuser
  • پسورد قوی با ترکیب حروف بزرگ/کوچک، عدد، و کاراکتر ویژه.
  • تعیین تاریخ انقضا پسورد:
chage -M 90 myuser    # تغییر رمز هر 90 روز
chage -E 2025-12-31 myuser   # تاریخ انقضا کاربر

2. دسترسی و مجوز فایل‌ها

  • مشاهده دسترسی‌ها:
ls -l
  • تغییر سطح دسترسی با chmod:
chmod 600 private.txt   # فقط صاحب فایل بخواند/بنویسد
  • تغییر مالک فایل:
chown user:group file
  • فایل‌های حساس سیستم مثل /etc/shadow باید فقط توسط root قابل دسترسی باشند.

3. بروزرسانی سیستم

  • امنیت بدون به‌روز کردن پکیج‌ها کامل نیست:
dnf update -y
  • فعال‌کردن بروزرسانی خودکار (اختیاری):
dnf install dnf-automatic -y
systemctl enable --now dnf-automatic.timer

4. مدیریت سرویس‌ها با systemd

  • غیرفعال‌کردن سرویس‌های غیر ضروری:
systemctl disable --now servicename
  • جلوگیری کامل از اجرا (Mask):
systemctl mask servicename
  • بررسی سرویس‌های فعال:
systemctl list-units --type=service --state=running

5. فایروال و کنترل نوار ورودی/خروجی

  • وضعیت Firewalld:
firewall-cmd --state
  • باز کردن پورت مشخص:
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
  • استفاده از zoneها برای محدود کردن دسترسی.

6. امنیت SSH

  • ویرایش تنظیمات SSH:
vim /etc/ssh/sshd_config

توصیه‌ها:

Port 2222          # تغییر پورت پیش‌فرض
PermitRootLogin no # ممنوعیت ورود مستقیم root
PasswordAuthentication no # استفاده از کلید SSH
  • ریستارت SSH:
systemctl restart sshd

7. SELinux – کنترل پیشرفته دسترسی

  • وضعیت SELinux:
getenforce
  • فعال‌کردن:
setenforce 1
  • کانفیگ دائمی:
vim /etc/selinux/config
# SELINUX=enforcing

SELinux حتی اگر کسی به سیستم نفوذ کند، دسترسی او به سرویس‌ها یا مسیرهای دیگر را محدود می‌کند.

8. پایش امنیتی

  • مشاهده ورود و خروج‌ها:
last
lastb   # ورودی‌های ناموفق
  • بررسی لاگ‌های سیستم:
journalctl -xe
tail -f /var/log/secure

9. ابزارهای تست و سخت‌سازی

  • fail2ban → جلوگیری از Brute Force:
dnf install fail2ban -y
systemctl enable --now fail2ban
  • Lynis → ابزار تحلیل امنیت سیستم:
dnf install lynis -y
lynis audit system

چک‌لیست سریع امنیتی پایه CentOS

بخش اقدام
کاربر حذف دسترسی root، فعال‌کردن sudo
دسترسی‌ها محدودکردن مجوز فایل‌های حساس
بروزرسانی فعال بودن آپدیت منظم
سرویس‌ها غیرفعال‌کردن سرویس‌های غیرضروری
فایروال فعال و کانفیگ شده
SSH تغییر پورت، کلید امن، عدم ورود root
SELinux فعال و در حالت enforcing
پایش بررسی منظم لاگ‌ها
ضد حمله نصب fail2ban یا مشابه