CentOS 7 سالها یکی از انتخابهای رایج برای سرورهای لینوکسی بود؛ مخصوصاً در محیطهایی که پایداری، سازگاری و مستندات زیاد اهمیت داشت. اما نکته مهم این است که CentOS 7 به پایان عمر رسیده و دیگر گزینه مناسبی برای نصب جدید نیست. بنابراین اگر هنوز سروری با CentOS 7 دارید، امنسازی آن باید در کنار برنامه مهاجرت به Rocky Linux، AlmaLinux یا توزیع پشتیبانیشده دیگر دیده شود.
این مطلب را باید بهعنوان یک چکلیست عملی برای کاهش ریسک CentOS 7 در محیطهای موجود ببینید، نه توصیه برای راهاندازی سرور جدید با این نسخه.
Hardening یعنی کم کردن سطح حمله. قرار نیست با چند دستور، سرور «کاملاً امن» شود. هدف این است که سرویسهای اضافه حذف شوند، دسترسیها محدود شود، لاگها قابل بررسی باشند، تنظیمات خطرناک اصلاح شوند و اگر مشکلی رخ داد، سریعتر قابل تشخیص باشد.
برای CentOS 7، استفاده از راهنماهای CIS میتواند نقطه شروع خوبی باشد؛ اما نباید کورکورانه اجرا شود. بعضی کنترلها ممکن است با سرویسهای شما تداخل داشته باشند. همیشه اول روی محیط تست اجرا کنید و بعد به Production ببرید.
مهمترین مشکل CentOS 7 پایان پشتیبانی رسمی است. اگر این سرور هنوز در شبکه فعال است، باید دقیقاً بدانید چه بستههایی روی آن نصب است، از کجا Update میگیرد و چه برنامهای برای جایگزینی آن دارید.
cat /etc/centos-release
uname -r
rpm -qa --last | head
اگر امکان مهاجرت فوری ندارید، حداقل این سرورها را از اینترنت مستقیم دور کنید، دسترسی مدیریتی را محدود کنید و مانیتورینگ و لاگگیری را جدیتر بگیرید.
هر سرویس باز، یک سطح حمله اضافه است. روی سرورهای لینوکسی زیاد دیده میشود که سرویسهایی از نصب اولیه باقی ماندهاند اما واقعاً استفاده نمیشوند.
systemctl list-unit-files --type=service
ss -tulpn
بعد از بررسی، سرویسهای غیرضروری را غیرفعال کنید:
systemctl disable service-name
systemctl stop service-name
در Production قبل از Stop کردن هر سرویس، وابستگیها را بررسی کنید. خاموش کردن اشتباه یک سرویس ممکن است سرویس اصلی کسبوکار را مختل کند.
SSH معمولاً اولین مسیر مدیریت سرور است و اگر بد تنظیم شود، یکی از اولین نقاط حمله هم خواهد بود. حداقل تنظیمات پیشنهادی:
vi /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
AllowUsers adminuser
systemctl restart sshd
قبل از بستن PasswordAuthentication، حتماً در یک Session دیگر تست کنید که ورود با Key درست کار میکند؛ وگرنه ممکن است دسترسی خودتان را قطع کنید.
روی CentOS 7 معمولاً firewalld استفاده میشود. فقط پورتهایی را باز بگذارید که واقعاً نیاز دارید. اگر سرور پشت فایروال شبکه قرار دارد، باز هم Firewall لوکال را بیاهمیت ندانید؛ دفاع لایهای همینجا معنی پیدا میکند.
firewall-cmd --state
firewall-cmd --list-all
firewall-cmd --permanent --remove-service=dhcpv6-client
firewall-cmd --reload
برای سرویسهای مدیریتی مثل SSH بهتر است محدودیت IP هم در سطح فایروال شبکه و هم در سطح سرور اعمال شود.
کاربرهای قدیمی، دسترسیهای sudo بیدلیل و رمزهای ضعیف از مشکلات رایج سرورها هستند. هر چند وقت یک بار این موارد را بررسی کنید:
cat /etc/passwd
getent group wheel
lastlog
بدون لاگ خوب، بعد از رخداد امنیتی تقریباً کور هستیم. زمان سیستم هم باید درست باشد تا لاگها قابل تحلیل باشند.
timedatectl
systemctl status chronyd
journalctl -p warning
اگر در سازمان Syslog یا SIEM دارید، لاگهای مهم مثل auth، secure، messages و لاگ سرویسهای اصلی را به آن ارسال کنید. نگه داشتن لاگ فقط روی همان سرور، در بعضی حملات کافی نیست.
در بسیاری از محیطها اولین واکنش به خطاهای دسترسی، خاموش کردن SELinux است. این کار شاید مشکل را سریع پنهان کند، اما یک لایه امنیتی مهم را حذف میکند. بهتر است علت خطا بررسی و Policy درست اصلاح شود.
getenforce
sestatus
ausearch -m avc -ts recent
اگر مجبور شدید موقتاً حالت Permissive بگذارید، آن را بهعنوان وضعیت دائمی رها نکنید.
ابزارهایی مثل Lynis میتوانند برای ارزیابی اولیه مفید باشند. خروجی این ابزارها را باید تحلیل کرد؛ هر هشدار الزاماً به معنی خطر فوری نیست، اما میتواند نقطه شروع خوبی برای اصلاح باشد.
lynis audit system
اگر از Benchmarkهای CIS استفاده میکنید، تغییرات را مرحلهای اعمال کنید و بعد از هر مرحله سرویسهای اصلی را تست کنید.
امنسازی CentOS 7 در سالهای قبل یک کار عادی برای سرورهای لینوکسی بود، اما امروز باید با احتیاط بیشتری به آن نگاه کرد. چون خود سیستمعامل دیگر انتخاب مناسبی برای نصب جدید نیست. اگر هنوز CentOS 7 در شبکه دارید، Hardening لازم است، اما جایگزین Migration Plan نمیشود.
بهترین کار این است که ریسک سرورهای موجود را با تنظیمات امنیتی، محدودسازی دسترسی و مانیتورینگ کم کنید و همزمان مسیر مهاجرت به نسخه پشتیبانیشده را جلو ببرید.
مطالب مرتبط: هاردنینگ چیست؟، معرفی ابزار Lynis، امنیت شبکه و امنیت سایبری.
وقتی F5 BIG-IP را فقط به چشم یک لودبالانسر ساده ببینیم، معمولاً طراحی در همان…
در امنیت شبکه معمولاً همه حواسها میرود سمت سرورها، آنتیویروس، کاربران، ایمیل و حملات فیشینگ.…
معرفی ابزار پایتونی FortigateToJuniper برای تبدیل اولیه policyها، objectها و address groupهای FortiGate به دستورهای…
اگر کار ما فقط وصل کردن چند کابل و نوشتن چند دستور روی روتر بود،…
وقتی میخواهیم فایروال، IPS یا یک تجهیز امنیتی لبه شبکه بخریم، معمولاً اولین چیزی که…
هاردنینگ یعنی کم کردن سطح حمله. نه با یک دستور جادویی، نه با نصب یک…
View Comments
واقعا خوشحالم که استاد عزیزم همچی سایت فوق العاده ای با مطالب عالی و آموزنده راه اندازی کردن
سپاس