سنت او اسسیستم عامل لینوکسمقالات وب
مانیتور کردن و شناسایی فایل های اصلاح شده با Tripwire بر روی سنت او اس
همانطور که می دانید Tripwire یک ابزار رایگان و متن باز برای شناسایی حملات به سرور است. این ابزار امنیتی برای مانیتور کردن و هشدار دادن در مورد فایل های اصلاح شده و تغییراتی که بر روی فایل ها انجام می شود به کار می رود. Tripwire یک ابزار بسیار قدرتمند برای شناسایی حملات است که از سیستم شما در برابر تغییرات ناخواسته محافظت می کند. شما می توانید از این ابزار برای بررسی فایل های سیستم همچون فایل سایت استفاده کنید . اگر فایلی تغییر کرده باشد این نرم افزار سیستم شما را بررسی می کند و هشداری را از طریق ایمیل ارسال می نماید. در این مقاله نحوه مانیتور کردن و شناسایی تغییرات در فایل های سیستم را به کمک Tripwire بر روی سنت او اس ۷ را با هم مرور خواهیم کرد. پس همراه وب ایده باشید.
به چه مواردی نیاز خواهیم داشت؟؟
- نصب Tripwire بر روی سنت او اس ۷
- پیکربندی این نرم افزار و سیاست های آن برای سنت او اس
- تایید پیکربندی نرم افزار
- اضافه کردن قانون جدید
- تنظیم هشدارهای ایمیلی و Cron
پیش نیازها:
- سیستم سنت او اس ۷
- دسترسی روت
گام اول: نصب Tripwire بر روی سنت او اس ۷
اولین گام که باید مدنظر داشته باشید نصب نرم افزار بر روی سیستم است. به طور پیش فرض، این گزینه در مخزن سنت او اس موجود است. به سرور خود لاگین کنید و همه پکیج های موجود را به روزرسانی نمایید:
1 2 | ssh root@hakase-labs.co sudo yum update -y |
حالا به کمک دستور زیر نرم افزار را نصب کنید:
1 | yum -y install tripwire |
بعد از نصب ما باید دو key file تولید کنیم. این نرم افزار با دو کلید کار می کند:
- site-key: این کلید برای امن کردن پیکربندی نرم افزار به کار می رود. پس هر تغییری در پیکربندی آن تا زمانی که دوباره پیکربندی تولید نشود اعمال نخواهد شد.
- local-key: این کلید برای تایید باینری های نرم افزار به کار می رود. زمانی که می خواهید پایگاه داده نرم افزار را به روزرسانی کنید باید دستورات Tripwire را اجرا نمایید و در این شرایط به این کلید نیاز خواهید داشت.
خوب حالا اجازه دهید به کمک دستور زیر این دو کلید را تولید کنیم:
1 | sudo tripwire-setup-keyfiles |
این دستور دو کلید تولید می کند و از شما خواسته می شود هر کدام را بررسی نمایید. عبارت خود را برای هر کدام وارد کنید و اینتر را بزنید. سپس پیکربندی این نرم افزار را به کمک کلید Site-key امضا نمایید. عبارت خود را برای این کلید بنویسید.
حالا برای امضای سیاست های نرم افزار، عبارت local-key را وارد کنید.
حالا نرم افزار بر روی سنت او اس نصب شده و کلیدها و پیکربندی های جدید در دایرکتوری'/etc/tripwire' قرار گرفته است.
گام دوم: پیکربندی نرم افزار و سیاست های آن برای سنت او اس
خوب بعد از اینکه ابزار را نصب کردید، باید پایگاه داده آن را آغاز کنیم و اطمینان حاصل نماییم هیچ خطایی وجود ندارد. به کمک دستور زیر پایگاه داده را آغاز کنید:
1 | sudo tripwire --init |
از شما خواسته می شود عبارت local-key را وارد کنید.در این شرایط پیغام خطایی با عنوان ‘no such directory' دریافت خواهید کرد. این پیام خطا بدین خاطر ایجاد شده که سیستم دایرکتوری و فایل هایی که در حال حاضر در پیکربندی نرم افزار تعریف شده است را ندارد.
برای حل این خطا، باید فایل پیکربندی ‘twpol.txt' را ویرایش کنیم و آن را دوباره امضا نماییم.
حالا به کمک دستور زیر گزارش خطاها را از Tripwire تولید کنید:
1 | sudo sh -c "tripwire --check | grep Filename > no-directory.txt" |
همه فایل ها و دایرکتوری هایی که بر روی سنت او اس وجود ندارند همه در فایل ‘mo-directory.txt' فهرست خواهند شد:
1 | cat no-directory.txt |
به کمک اسکریپت زیر می توانید فایل پیکربندی نرم افزار را ویرایش کنید. این اسکریپت را در ترمینال اجرا نمایید:
1 2 3 | for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt done |
بعد از انجام اینکارها، باید فایل پیکربندی نرم افزار را دوباره تولید و امضا کنیم. از دستور زیر کمک بگیرید:
1 | sudo twadmin -m P /etc/tripwire/twpol.txt |
عبارت site-key خود را وارد کنید. پایگاه داده را دوباره آغاز کنید و مطمئن شوید اینبار خطایی دریافت نمی کنید:
1 | sudo tripwire --init |
گام سوم: تایید پیکربندی نرم افزار و بررسی سیستم
برای تایید پیکربندی نرم افزار دستور زیر را اجرا کنید:
1 | sudo tripwire --check |
خوب حالا نباید خطایی بر روی سیستم داشته باشید. حالا سعی می کنیم فایل جدید را در زیر دایرکتوری روت ایجاد کنید و این نرم افزار را دوباره بررسی نماییم.به دایرکتوری روت بروید و فایل جدیدی به نام ‘hakase-labs.txt ایجاد کنید:
1 2 | cd ~/ touch hakase-labs.txt |
حالا به کمک دستور زیر سیستم را دوباره بررسی کنید:
1 | sudo tripwire --check |
حالا نرم افزار بر روی سنت او اس نصب شده است
گام چهارم: اضافه کردن قوانین جدید
در این مرحله سعی می کنیم قوانین جدیدی به فایل پیکربندی نرم افزار اضافه کنیم. برای اینکار باید نام قوانین، شدت، دایرکتوری که باید مانیتور شود و نوع فایل را تعریف نماییم. در این مرحله قانون جدیدی به نام ‘WordPress Data' برای نصب وردپرس در دایرکتوری ‘/var/www/' با شدت ‘HIGH/SIG_HI' ایجاد خواهیم کرد. برای اینکار به فایل پیکربندی و دایرکتوری'/etc/tripwire' بروید و فایل پیکربندی ‘twpol.txt' را به کمک دستور زیر ویرایش نمایید:
1 2 | cd /etc/tripwire/ vim twpol.txt |
به آخر خط بروید و قوانین جدید را در آنجا پیست کنید:
1 2 3 4 5 6 7 8 | # Ruleset for Wordpress ( rulename = "Wordpress Data", severity= $(SIG_HI) ) { /var/www -> $(SEC_CRIT); } |
فایل را ذخیره کنید و خارج شوید. پیکربندی را به کمک دستور زیر دوباره تولید و امضا کنید:
1 | sudo twadmin -m P /etc/tripwire/twpol.txt |
عبارت site-key خود را وارد کنید. حالا باید دوباره پایگاه داده را آغاز نمایید:
1 | sudo tripwire --init |
عبارت local-key را وارد کنید. قانون جدید اضافه شده و به پیکربندی نرم افزار اعمال شده است. سیستم خود را به کمک دستور زیر بررسی کنید:
1 | sudo tripwire --check |
نباید در این مرحله خطایی داشته باشید. حالا به دایرکتوری'/var/www/' بروید و فایل جدیدی در داخل آن ایجاد کنید
1 2 | cd /var/www/ touch hakase-labs.php |
دوباره سیستم را بررسی کنید:
1 | sudo tripwire --check |
حالا قانون جدید اعمال شده است.
گام پنجم: ایجاد هشدار ایمیلی
در این مرحله نوتیفیکیشن های ایمیلی را برای سیاسیت های خاص نرم افزار ایجاد خواهیم کرد. ما گزارشی را برای هر نوع تهدید در قوانین ‘WordPress Data' به آدرس ایمیل ‘myemail@gmail.com' ارسال خواهیم کرد. شما باید بر اساس شرایط خود این موارد را تغییر دهید. قبل از ایجاد نوتفیکیشن ایمیلی، قابلیت نوتیفیکیشن را در این نرم افزار بررسی کنید:
1 | sudo tripwire --test --email email@gmail.com |
ایمیل خود را بررسی کنید و ببینید گزارشی دریافت کرده اید ای خیر. حالا به دایرکتوری ‘/etc/tripwire' بروید و فایل ‘twpol.txt' را ویرایش کنید:
1 2 | cd /etc/tripwire/ vim twpol.txt |
خط جدید 'emailto' را در داخل قوانین ‘WordPress Data' اضافه کنید.
1 2 3 4 5 6 7 8 9 | # Ruleset for Wordpress ( rulename = "Wordpress Data", severity= $(SIG_HI), emailto = myemail@gmail.com ) { /var/www -> $(SEC_CRIT); } |
فایل را ذخیره کنید و خارج شوید. فایل پیکربندی را دوباره تولید و امضا نمایید:
1 | sudo twadmin -m P /etc/tripwire/twpol.txt |
عبارت site-key را وارد کنید. پایگاه داده را دوباره آغاز نمایید:
1 | sudo tripwire --init |
عبارت local-key را وارد کنید. حالا پیکربندی کامل شده است. بهتر است با ایجاد فایل جدید در دایرکتوری ‘/var/www/' این تغییرات را تست کنید:
1 2 | cd /var/www/ touch hakase.txt |
به کمک دستور زیر سیستم را دوباره بررسی کنید:
1 | sudo tripwire --check --email-report |
نوتیفیکیشن ایمیلی برای این نرم افزار ایجاد شد. حالا باید بررسی خودکار را به کمک cron ایجاد کنیم. برای اینکار باید اسکریپت جدیدی را به کمک دستور زیر ایجاد نماییم:
1 | sudo crontab -e -u root |
پیکربندی cron زیر را پیست کنید:
1 | 0 0 * * * tripwire --check --email-report |
فایل را ذخیره نمایید و خارج شوید.
حالا سرویس crond را ریستارت کنید:
1 | systemctl restart crond |
مثل همیشه عالی
با سلام
متاسفانه این پکیج در مخزن سنت او اس موجود نیست 🙁