نوشته‌ها

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

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

در این مطلب، نحوه استفاده از این ابزار را در لینوکس اوبونتو ۱۸.۰۴ آموزش خواهیم داد. این آموزش برای اکثر توزیع‌های دیگر لینوکس نیز به همین صورت بوده و تنها نیازمندی آن، یک حساب کاربری با دسترسی روت است.

برای نصب این ابزار کافی است دستور زیر را در ترمینال سرور خود وارد کنید:

sudo apt-get install libopenscap8 -y

دستور بالا برای سرورهای لینوکس دبیان کاربرد دارد، در صورتی که از لینوکس مبتی بر ردهت استفاده می‌کنید، این دستور را وارد کنید:

sudo yum install openscap-scanner

بعد از اتمام نصب، باید پروفایل OVAL (یک زبان متن باز برای توسعه ارزیابی آسیب‌پذیری در سیست‌های کامپیوتری) که برای بررسی آسیبپذیری‌های امنیتی استفاده می‌شود را دانلود یا بارگذاری کنید:

wget https://people.canonical.com/~ubuntu-security/oval/com.ubuntu.xenial.cve.oval.xml

پروفایل OVAL مربوط به توزیع ردهت و سنتوس را هم می‌توانید از آدرس زیر دانلود کنید:

wget https://www.redhat.com/security/data/oval/com.redhat.rhsa-RHEL7.xml.bz2

بعد از اتمام دانلود، با دستور زیر پروفایل را اکسترکت کنید:

bunzip2 com.redhat.rhsa-RHEL7.xml.bz2

بعد از استخراج مخازن OVAL، با دستور زیر ارزیابی امنیت سرور لینوکس خود را شروع کنید. توجه داشته باشید که اجرای این دستور ممکن است زمان زیادی طول بکشد.

oscap oval eval --results /tmp/oscap_results.xml --report /tmp/oscap_report.html com.ubuntu.xenial.cve.oval.xml

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

sudo cp /tmp/oscap_report.html /var/www/html/

linux security

همانطور که در نتایج گزارش مشاهده خواهید کرد، بیش از ۱۳۰۰۰ آسیب پذیری بررسی شده و به همراه نتیجه و لینک ارجاع به صفحه CVE برای وصله کردن و نصب پچ‌های امنیتی، لیست شده‌اند.

گرچه SSH یا ارتباط شل امن، برای مدیریت و پشتیبانی سرور لینوکس ابزاری حیاتی است اما ممکن است سرور شما را دربرابر حملات کورکورانه یا بروت فورس SSH آسیب پذیر کند. راه‌های زیادی برای محافظت از سرور لینوکس شما وجود دارد که یکی از آن‌ها استفاده از ابزار denyhosts است. این ابزار متن باز بوده و در کنار جلوگیری از حملات به سرور شما، لاگ‌های آن را هم ذخیره می‌کند. همچنین بوسیله این ابزار می‌توانید آی پی های مجاز را به لیست سفید یا همان وایت لیست اضافه کنید. علاوه بر این، امکان ارسال هشدار از طریق ایمیل هم وجود دارد.

نصب و پیکربندی این ابزار روی سرورهای لینوکس بسیار آسان است. در ادامه، آموزش نصب و تنظیم آن روی لینوکس اوبونتو ۱۸.۰۴ را خواهید خواند. البته این آموزش برای توزیع های دیگر سرور لینوکس هم کم و بیش همینگونه است.

نصب

برای نصب این ابزار کافی است در ترمینال دستور زیر را وارد کنید:

sudo apt-get install denyhosts -y

پیکربندی

اولین کاری که باید پس از نصب انجام دهید، اضافه کردن آی پی های مجاز است؛ در غیر این صورت ممکن است دسترسی خودتان به سرور را هم بلاک کنید. ابتدا فایل مربوطه را باز کرده، سپس آی پی های مجاز را در انتهای آن اضافه کنید:

sudo nano /etc/hosts.allow
sshd: [IP 1]
sshd: [IP 2]
sshd: [IP 3]

بعد از اضافه کردن آی پی ها، فایل را ذخیره کرده و آن را ببندید. برای تغییر تنظیمات این ابزار فایل زیر را باز کنید:

sudo nano /etc/denyhosts.conf

در این مرحله می‌توانید تنظیمات امنیتی مختلف را تغییر دهید، به عنوان مثال آپشن زیر تعداد لاگین‌های ناموفقی که باعث بلاک شدن کاربر می‌شود را مشخص می‌کند:

DENY_THRESHOLD_INVALID = 5

همچنین می‌توانید با استفاده از آپشن زیر، ایمیلی که می‌خواهید هشدارها به آن ارسال شود را تعیین کنید:

ADMIN_EMAIL =

توجه داشته باشید که این ابزار به صورت پیشفرض از پورت ۲۵ لوکال برای ارسال ایمیل استفاده می‌کند. در صورت نیاز به تغییر، می‌توانید از تنظیمات زیر استفاده کنید:

SMTP_HOST =
SMTP_PORT =
SMTP_FROM =

بعد از انجام تنظیمات مورد نظر، یک بار سرویس denyhosts را ریست و فعال کنید:

sudo systemctl restart denyhosts
sudo systemctl enable denyhosts

بررسی لاگ

ابزار denyhosts به صورت پیشفرض رخدادها را لاگ می‌کند، برای مشاهده لاگ‌های امنتیی به صورت  بلادرنگ، از دستور زیر استفاده کنید:

tail -f /var/log/auth.log

حالا می‌توانید با خیال راحت SSH کرده و سرور لینوکس خود را مدیریت کنید.