- نرمافزار Nessus چیست؟
Nessus یک نرمافزار
برای Vulnerability Scanning است. اگر بخوام دقیقتر بگم بهترین نرمافزار Vul
Scanning که به صورت Network-Based به کار میره همین نرمافزار است. مهمترین ویژگی
این نرمافزار مجانی و Open-Source بودن آن است ( اگرچه تو ایران همهچی مجانیه! )
این نرمافزار توسط Renaud Deraison نوشته شده و توسط او توسعه پیدا میکند. الان
که من دارم مقاله رو مینویسم، نسخه 2.0.7 اون ارائه شده است.
ویژگی مهم دیگر
اون داشتن حالت Client-Server است. فرض کنید که از چند کامپیوتر به صورت شبکهای
استفاده میکنید. اگر بخواهید در تعدادی از این کامپیوترها از Nessus استفاده
کنید، کافی است فقط در یکی از آنها سرور Nessus و روی همه Client اونو اجرا کنید.
ولی اگه فقط یه کامپیوتر دارید و میخواین روی اون از Nessus استفاده کنید، هم
کلاینت و هم سرور Nessus رو باید نصب و اجرا کنید.
در حال حاضر Server نرمافزار
Nessus فقط برای سیستمهای عامل مبتنی بر یونیکس مثل لینوکس، OpenBSD Unix و... در
دسترس است ونسخه ویندوزی وجود نداره. پس اگه روی یک کامپیوتر هم کلاینت و هم سرور
اونو نصب میکنید، سیستمعامل اون کامپیوتر باید مبتنی بر یونیکس باشه. به عبارت
دیگه اگه از سیستمعامل ویندوز استفاده میکنید، وقت خودتون رو با خوندن این مقاله
تلف نکنید! اما راجع به کلاینت Nessus باید عرض کنم که نسخههای ویندوز ( به نام
NessusWX ) و نسخه جاوا و نیز نسخههای مبتنی بر یونیکس وجود داره. یعنی اینکه اگه
چند تا کامپیوتر به صورت شبکه در اختیار دارین، اونی که قراره سرور Nessus روش نصب
بشه باید مبتنی بر یونیکس باشد و بقیه که کلاینت هستند، میتونن هر چیزی باشند.
امیدوارم متوجه شده باشین!
من در این مقاله فرض می کنم که شما سیستمعامل لینوکس
دارید و میخواهید هم سرور و هم کلاینت Nessus رو روی همون کامپیوتر نصب کنید. برای
استفاده از Nessus باید لینوکس شما هم nmap و هم gtk و هم OpenSSL رو داشته باشه که
معمولا داره ( فقط اگه nmap ندارین، یه فکری براش بکنید!)
- از کجا Nessus رو داونلود کنم؟
برای داونلود Nessus
باید به به آدرس http://www.nessus.org/download.html مراجعه کنید. در این صفحه
میتونید آخرین نسخه از Nessus رو ببینید که الان Nessus 2.0 هست که به صورت یک
لینک داخل جدول خاکستری رنگ هستش. روی همون کلیک کنید، تا به یک صفحه دیگر منتقل
شوید. در این صفحه جدید دو تا جدول میبینید که یکی وسطهای صفحه و دیگری آخرهای
صفحه است. بالای جدول اولی نوشته شده:
You can find the installer hereما از همین جدول استفاده میکنیم. توجه کنید که Nessus را میتوان به سه شکل مختلف نصب کرد که ما همین روش که nessus-installer نام داره رو انتخاب میکنیم. از همین جدول با توجه به منطقه جغرافیایی که هستید، روی یکی از لینکها کلیک کنید ( هرچقدر اون کشور به شما نزدیکتر باشه سرعت داونلود بالاتر میره ولی در کل همه لینکها قرتیبازیه! هر کدوم رو خواستید کلیک کنید ). شما به یک صفحه جدید منتقل میشوید و در این صفحه سه تا فایل وجود داره به نامهای MD5 و README.txt و nessus-installer.sh که از این سه تا nessus-installer.sh رو باید داونلود کنید که فکر کنم سه چهار مگی باشه :) در مورد فایل MD5 هم بگم که میتونین داونلودش کنید یا نکنید. اگه خیلی وسواس دارید که مطمئن بشید این نرمافزار که داونلود میکنید دقیقا همونیه که Nessus.org تولید کرده ( یعنی اینکه نرمافزار تغییر یافته نیست و کدهای اضافی مثل spy-ware و ... اینا نداره) این فایل رو هم میتونید داونلود کنید، تا بعد از اینکه فایل nessus-installer.sh رو گرفتید به کمک دستور md5sum در لینوکس این موضوع رو تست کنید. بنابراین فایل اصلی و لازم همون nessus-installer.sh هستش.
# cd /root/Desktopحالا دستور زیر رو مینویسید:
# sh nessus-installer.shبلافاصله صفحه پاک میشه و نوشته زیر میاد (البته صفحه پاک نمیشه فقط اینکه انقدر نوشته میاد که به نظر میرسه صفحه پاک شده):
-------------------------------------------------------------------------------- NESSUS INSTALLATION SCRIPT -------------------------------------------------------------------------------- Welcome to the Nessus Installation Script ! This script will install Nessus 2.0.7 (STABLE) on your system. Please note that you will need root privileges at some point so that the installation can complete. Nessus is released under the version 2 of the GNU General Public License (see http://www.gnu.org/licences/gpl.html for details). To get the latest version of Nessus, visit http://www.nessus.org Press ENTER to continueدکمه Enter رو فشار میدهید. یه سری چرت و پرت نوشته میشه و صفحه پاک شده و متن زیر میاد:
-------------------------------------------------------------------------------- Nessus installation : installation location -------------------------------------------------------------------------------- Where do you want the whole Nessus package to be installed ? [/usr/local]این میگه که Nessus رو کجا نصب کنم؟ شما دکمه Enter رو فشار بدین که در محل پیشفرض یعنی usr/local/ نصب بشه. حالا صفحه پاک میشه و نوشته زیر میاد:
-------------------------------------------------------------------------------- Nessus installation : Ready to install -------------------------------------------------------------------------------- Nessus is now ready to be installed on this host. The installation process will first compile it then install it Press ENTER to continueبازهم چرت و پرتها شروع به ظاهر شدن میکنند ولی ایندفعه یکم بیشتر طول میکشه که اراجیف تموم بشن ( اینا ابدا اراجیف نیستند ولی چون ما به صورت اتوماتیک داریم نصب میکنیم، اصلا لزومی نداره فکرتون رو خراب بکنید! ) حالا میتونین یه چایی واسه خدتون بریزین و چند دقیقه استراحت کنید.
-------------------------------------------------------------------------------- Nessus installation : Finished -------------------------------------------------------------------------------- Congratulations ! Nessus is now installed on this host . Create a nessusd certificate using /usr/local/sbin/nessus-mkcert . Add a nessusd user use /usr/local/sbin/nessus-adduser . Start the Nessus daemon (nessusd) use /usr/local/sbin/nessusd -D . Start the Nessus client (nessus) use /usr/local/bin/nessus . To uninstall Nessus, use /usr/local/sbin/uninstall-nessus . Remember to invoke 'nessus-update-plugins' periodically to update your list of plugins . A step by step demo of Nessus is available at : http://www.nessus.org/demo/ Press ENTER to quitیه Enter بزنید که نصب تموم بشه. این صفحه آخر اطلاعات مهمی داره که توضیح میدم.
Create a nessusd certificate using /usr/local/sbin/nessus-mkcertپس ما در Shell مینویسیم:
# /usr/local/sbin/nessus-mkcertوقتی Enter بزنیم، صفحه پاک شده و متن زیر ظاهر میشه:
------------------------------------------------------------------------------- Creation of the Nessus SSL Certificate ------------------------------------------------------------------------------- This script will now ask you the relevant information to create the SSL certificate of Nessus. Note that this information will *NOT* be sent to anybody (everything stays local), but anyone with the ability to connect to your Nessus daemon will be able to retrieve this information. CA certificate life time in days [1460]:از همینجا تا آخر کار ۶ تا Enter به ترتیب میزنیم تا کار ایجاد certification تموم بشه. به صورت زیر:
CA certificate life time in days [1460]: Server certificate life time in days [365]: Your country (two letter code) [FR]: Your state or province name [none]: Your location (e.g. town) [Paris]: Your organization [Nessus Users United]:بعد صفحه زیر میاد:
------------------------------------------------------------------------------- Creation of the Nessus SSL Certificate ------------------------------------------------------------------------------- Congratulations. Your server certificate was properly created. /usr/local/etc/nessus/nessusd.conf updated The following files were created : . Certification authority : Certificate = /usr/local/com/nessus/CA/cacert.pem Private key = /usr/local/var/nessus/CA/cakey.pem . Nessus Server : Certificate = /usr/local/com/nessus/CA/servercert.pem Private key = /usr/local/var/nessus/CA/serverkey.pem Press [ENTER] to exitحالا آخرین Enter رو هم میزنیم، تا کار تموم بشه.
# /usr/local/sbin/nessus-adduserبه محض اجرای این دستور متن زیر ظاهر میشه:
Add a new nessusd user ---------------------- Login :این یعنی یک username وارد کن. اسم مورد نظر رو وارد میکنیم و بعد سطر زیر میاد:
Authentication (pass/cert) [pass] :این یعنی روش هویتسنجی چی باشه. ما Enter میزنیم که همون پیشفرض یعنی pass بمونه. بعد سطر زیر میاد:
Login password :اینجا باید پسورد برای یوزر رو وارد کنیم. اول یه نگاه به چپ، بعد یه نگاه به راست، بعد یه نگاه به عقب! حالا پسورد رو بنویسید ( از کاراکتر * موقع وارد کردن پسورد خبری نیست. واسه همین مراسم رو بجا آوردیم! )
User rules ---------- nessusd has a rules system which allows you to restrict the hosts that ali has the right to test. For instance, you may want him to be able to scan his own host only. Please see the nessus-adduser(8) man page for the rules syntax Enter the rules for this user, and hit ctrl-D once you are done : (the user can have an empty rules set)اینجا میشه یه سری Rules واسه user تعریف کنیم که دامنه جاهایی که میتونه اسکن کنه رو محدود کنیم، ولی فعلا لازم نیست، پس ترکیب ctrl-D رو فشار میدیم. حالا این ظاهر میشه:
Login : xxxxxxxxxx Password : yyyyyyyyy DN : Rules : Is that ok ? (y/n) [y]یه Enter میزنیم که کار تموم بشه.
# /usr/local/sbin/nessusd -Dبه این راحتی سرور nessus راهاندازی میشود.
# /usr/local/bin/nessusبا اجرای این دستور پنجره نرمافزار ظاهر میشه. توجه کنید که nessus در حالت متنی هم کار میکنه ولی استفاده از حالت گرافیکی راحتتر است.
192.130.12.45۲- اگه بخوایم ip هایی رو سه رقم اول اون ۱۹۲ و ۱۳۰ و ۱۲ و رقم آخر هم بین ۱۰ تا ۳۰ باشد رو تست کنیم:
192.130.12-10-30۳- اگه بخوایم ip هایی رو که سه رقم اول همون بالاییها و رقم آخر از ۰ تا ۲۵۵ باشد رو اسکن کنیم، میشود به دو صورت نوشت:
192.130.12.0-255
192.130.12.0/24۴- اگه بخوایم دو تا ip جدا رو تست کنیم، با یک کاما (,) از هم جدا میکنیم:
192.130.12.25,192.125.46.120۵- اگه بخوایم از روی دومین یک سرور (سایت) رو اسکن کنیم، دومین رو مینویسیم:
www.iums.ac.irحالا که همهچی آماده است، دکمه Start the Scan رو از پایین پنجره کلیک میکنیم که کار اسکن شروع بشه.
# cd /usr/local/lib/nessus/plugin۲- با تایپ دستور زیر به فولدر usr/local/sbin/ رفته و دستور ls رو صادر کنید:
# ls
# cd /usr/local/sbin # lsفایلهای زیر رو خواهید دید:
nessus-adduser nessus-mkcert nessus-update-plugins nessusd nessus-rmuser uninstall-nessusاز بین این فایلهای اجرایی nessusd و nessus-mkcert و nessus-adduser رو قبلا توضیح دادم. حالا سه فایل دیگر رو توضیح میدم:
# /usr/local/sbin/nessus-update-pluginsیادتون باشه که حداقل هفتهای یکبار این دستور رو اجرا کنید. با توجه به سرعت connection شما به اینترنت و تعداد plugin های جدیدی که باید داونلود بشه، اجرای این دستور ممکن است چند دقیقهای طول بکشد.