|
شناسايي
مهاجمين با
استفاده از ACID
نصب:
آشكارساز
متجاوزين
با كمي
حوصله از
طريق نرمافزارهاي
مجاني امكانپذير
ميباشد.
نوشته:
Joe Bar
مترجم:
مرجان
صديقي
اناركي
خلاصه
تنها
مسئله،
داشتن وقت
كافي براي
نصب نرمافزارها
ميباشد. با
نصب اين
نرمافزارهاي
مجاني يك
سيستم
آشكارساز
قدرتمند
متجاوز را بر
روي سيستم
عامل
يونيكس
خواهيد داشت.
مراحل زير
را دنبال
كنيد و سيستم
خود را در
مقابل ورود
افراد
متجاوز ايمن
نماييد.
پس
از اينكه
سرور من در
سال گذشته
مورد حمله
قرار گرفت،
تصميم به
نصب ACID گرفتم. من
از نرمافزاري
صحبت ميكنم
كه Analysis Console for Intrusion
Database
است و
تقريبا
بصورت
بلادرنگ
اخطارها را
به كمك Snort به
شما نشان ميدهد.
Snort يك Open Source Intrusion
Detection System (IDS) اعجابانگيز
ميباشد كه
توسط Marty Reosch معرفي
شده است.
همه
چيز با Snort
شروع ميشود
آشنايي
من با ACID از نصب
Snort شروع شد.
توجه به
اين نكته
ضروري است
كه نصب ACID مشابه
ساير بستههاي
نرمافزاري
ميباشد و
براي كار با
آن بايد
پكيجهاي
مختلف نرمافزاري
را نصب كرد.
آيا Apache شما درست
نصب نشده و
يا PHP شما كار
نميكند. اگر
مايل به
استفاده از Snort با MySQL هستيد و
بخشهاي
مختلف
مرتبط در MySQL پيدا نميشوند.
با اسكريپ Snort براي
غلبه بر اين
مشكل
بپاخيزيد.
اولين
چيزي كه من download كردم Snort بود.
نسخه 1.8.4 را در يكي
از ليستهاي
سايت Snort.org پيدا
كردم. فايل download شده
حاوي يك
راهنماي
بسيار خوب
در فرمت PDF تهيه
شده در
تاريخ 13 مارس
2002 بود. همچنين
يك سري
فايل README.* نيز
همراهش بود.
اگر تصميم
به نصب ACID داريد
فايل README
ديتابيس،
حياتي است. Snort از MySQL، PostgreSQL، Oracle
و هر Unix ODBC پشتيباني
ميكند.
مرحله
بعد نصب MySQL ميباشد
من
MySQL را انتخاب
كردم چون
به تصور من MySQL بهترين
نرمافزار
ميباشد. شما
ميتوانيد
از هر نرمافزار
ديگري چون Oracle، PostgreSQL و يا هر
آنچه ميخواهيد
استفاده
كنيد. كار خود
را با نصب MySQL 3.23.49a-1 از Red Hat 7.2
RPM شروع
كردم.
برگرديم
به Snort، براي
شروع
اسكريپ
پيكربندي
با ديتابيس
وابسته به MySQL را اجرا
كردم. در حين
اجرا، نرمافزار
نتوانست
فايل mysql.h را پيدا
كند و اجرا
ناتمام به
پايان رسيد.
جاي تعجب
نيست كه
نتوانست
فايل را
پيدا كند. روي
سيستم من
نبود. از سيدي
Red Hat، محيطMySQL development PRM را نصب
كرده و كار
را مجددا
انجام دادم
و مسير كامل
را به header file اضافه
كردم. در فايلهاي
برنامه به
دنبال
اسكريپ
پيكربندي
گشتم و چنين
چيزي به
دايركتوري كه
تعيين كرده
بودم
افزوده شد:
/include/mysql/mysql.h
مسير
را با عبارت -mysql=/usr قطع كردم.
به خوبي
كار ميكرد.
بعد از اجراي
اسكريپهاي
لازم براي
ايجاد كردن
ديتابيس Snort، با
اختصاص نام
كاربري و
كلمه عبور
براي
دسترسي به
ديتابيس
كار را ادامه
دادم. سپس
شروع به
تغيير دادن
فايل snort.conf كردم. output database:log(etc) را uncomment كرده و
براي
ديتابيس،
نام كاربري و
كلمه عبور
وارد كردم.
يك خط
جداگانه
براي output database:alert(etc) اضافه
كردم. براي
شروع كار snort، (ثبت logging/alerting به
ديتابيس MySQL) به سادگي
فرمان زير را
وارد كردم:
snort -D -c /etc/snort/snort.conf
مرحله
بعد نصب ADOdb، PHP، Apache و ساير نرمافزارهايي
از اين قبيل
البته
من بعد از نصب
نرمافزارهاي
زيادي به
سراغ Snort رفتم. هدف
از اين كار،
ايجاد پيامهاي
هشدار دهنده
در فرمت GUI بود.
براي اين
كار به ACID نياز
داشتم. ACID به Apache و ADOdb نياز داشت. Apache نياز
به برقراري
ارتباط با PHP و MySQL داشت و PHP بايد
با MySQL به خوبي
ارتباط
داشته باشد.
همچنين به
كتابخانه
گرافيكي GD نيز
نياز بود.
سپس
نوبت Apache بود.
نسخه 1.3.24 آن را از
سايت Apache.org گرفتم
چون سرور Apache كه
قبلا نصب
كرده بودم
براي اين
كار مناسب
نبود. بعد از
يك سري
مشكلات
بالاخره با
موفقيت براساس
ساختار
پيكربندي
زير نصب شد:
./configure --enable-module=most
--enable-shared=max
بعد
نوبت به PHP رسيد.
براي درست
شدن PHP زمان
بيشتري صرف
شد. من يك
مقدار وقت
را به دليل
اشتباه در
نصب Apache از دست
دادم. تا
زماني كه Apache
مناسبي را
نداشتم،
داشتن PHP برايم
مهم نبود و
در نهايت به
ساختار زير
رسيدم:
./configure --with-mysql=/user --with-apxs= /usr/local/apache/bin/apxs --with-gd
حال
در چند قدمي
هدف بودم.
ابتدا بايد ADOdb را براي
استاندارد
كردن
اينترفيسهاي
ديتابيس PHP اضافه
ميكردم. اين
كار به
سادگي با download كردن
و باز كردن
فايل فشرده ADOdb PHP انجام شد.
سپس آنها را
به مسير /usr/local/apache/htdocs
انتقال
دادم. بعد
نوبت
كتابخانه
گرافيكي GD و phplot بود. بعد از download كردن GD از وب
سايت فايل
متني readme.txt را
خواندم و
نصب GD را با
دستور make install شروع
كردم. اين
كار libgd.so را به/usr/local/lib
اضافه
كرد. پس از
اطمينان از
اينكه
دايركتوري
حاوي /etc/ld.so.conf ميباشد
/sbin/ldconfig را اجرا
كردم.
phplot لازمه
استفاده از
تصاوير PNG ميباشد.
PHP را در
مسيري كه
بقيه چيزها
را نصب كرده
بودم قرار
دادم:
/usr/local/apache/htdocs/
سرانجام
نوبت به ACID رسيد
حال
نوبت نصب ACID ميباشد.
پس از download كردن
و باز كردن
فايل فشرده
شده در همان
دايركتوري Apache
htdocs شروع به
اديت كردن
فايل acidconf.php و آماده
كردن براي
قرار دادن
در ديتابيس snort كه
شامل نام
كاربر و كلمه
عبور براي
استفاده از
نرمافزار
ميباشد.
تعيين مسير ADOdb و phplot كردم.
اولين
بار كه از ACID
استفاده
كردم بايد
چيزهايي را
به ديتابيس snort اضافه
ميكرد. به
سادگي مسير update كردن
را دنبال
كردم و هر
آنچه گفته
بود، انجام
دادم. تنها
كار اين بود
كه اجازه
دهم snort داده را
جمعآوري
كند.
براي
اسكن كردن IP آدرس،
از يكي از
اعضاي LUG كمك
گرفتم. بيش
از 10000 اخطار طي
2 ساعت پيدا
شدند. همچنين
يك شكاف
امنيتي
بزرگ در
سيستم من
پيدا شده
بود، برنامه ACID براي
هر كسي كه
يك پيام HTML را به
پورت 8080 در آدرس IP من ميفرستاد،
قابل دسترس
بود و يكي از
كساني كه
اسكن شده
بود،
داوطلبانه
گفت: او با IP آدرس
خود در يك
ديتابيس به
دنبال ACID ميگشته
است كه به ACID در
كامپيوتر من
رسيده است.
براي
رفع اين
نقص در قسمت
دسترسي به Apache، httpd.conf را از
حالت "Allow from
any"
به 127.0.0.1 تغيير
دادم.
مستندات PHP را
دقيقا
بخوانيد،
چون مسائل
امنيتي خاص
خود را در آن
مطرح ساخته
است.
ACID
home page با اجراي
انواع
مختلف
پروتكلها
مانند TCP، UDP و ICMP
فعاليت
پورتها را
اسكن ميكند.
بصورت پيشفرض
اين كار هر
سه دقيقه refresh ميشود.
براي قطع و
يا وصل كردن refreshing ميتوانيد
acid.conf.php را
ويرايش كنيد
يا بازده
زماني refreshmentها
را تغيير
دهيد. ACID اجازه ميدهد
تا شما خود
ابزارهاي
موردنياز
براي
آناليز
ديتابيس را
انتخاب
كنيد.
در
انتخاب
نحوه گزارشگيري،
گزينههاي
متعددي
وجود دارد ميتوان
درخواست
كرد
اخطارهايي
را كه به
تازگي فعال
بودهاند
نمايش دهد و
يا
اخطارهايي
كه در
روزهاي
گذشته بودهاند
و غيره را
نمايش دهد.
امنيت
واقعي با ACID بصورت
ناگهاني از
طريق بسته
نرمافزاري "snapshots" حاصل
نميشود،
بلكه نحوه
بكارگيري
توانمنديهاي
جستجو اين
امنيت را
فراهم ميسازد.
صفحه جستجو
اجازه ميدهد
تا شما
تقريبا از هر
معيار جستجو
از آدرس IP تا
محتواي
پاكت براي
دستهبندي
كردن اخطار
براساس
زمان در
روز، براي
درخواست
ديتابيس
استفاده
نماييد.
تصوير
زير يك گراف
از اخطارها
را برحسب
ساعت در يك
روز نشان ميدهد.
ACID كه توسط Roman
Danyliw نوشته
شده است بخشي
از يك پروژه
بزرگ به
نام AirCERT ميباشد.
AirCERT يك
مخزن از
اخطارهاي
امنيتي در
اينترنت
جهاني و يا
افراد
غيرمجاز از
سايتهاي
محلي
انتخابي،
جستجو ميكند.
علاوه بر
اين امضا
افراد حقهباز
و محلههاي
جديد را سريعتر
آشكار ميكند.
سايتهاي
مرتبط
·
ACID homepage
(http://acidlab.sourceforge.net/)
·
ADOdb homepage
(http://php.weblogs.com/ADODB)
·
AirCERT project
(http://www.cert.org/kb/aircert/)
·
Apache homepage
(http://www.apache.org/)
·
phplot homepage
(http://www.phplot.com/)
·
Snort homepage
(http://www.snort.org/)
|