<
  • Главная
Статьи

Сканер безпеки Nessus

  1. механізм роботи
  2. Системні вимоги
  3. установка
  4. Програми, що входять до складу Nessus
  5. Підготовка до першого запуску сервера nessusd
  6. запуск сервера
  7. Створення реєстраційного запису користувача
  8. Видалення реєстраційного запису користувача
  9. клієнти Nessus
  10. Мова сценаріїв NASL
  11. підтримка
  12. Побажання, зауваження та поради
  13. * * *

В ході реалізації проекту Nessus, розпочатої в 1998 р декількома ентузіастами з метою створення практичного та безкоштовного інструменту аналізу мережевої захищеності, з'явився однойменний сканер, який не поступається комерційним аналогам, а по ряду характеристик і перевершує їх. Завдяки надійності роботи, безоплатного розповсюдження (GNU General Public License), відкритості коду, модульній архітектурі сканер Nessus став сьогодні одним з найпоширеніших інструментів аналізу мережевого захисту.

Перевірити надійність сервісів з його допомогою можна як стандартними методами, так і імітацією мережевих атак з використанням бази даних, що містить перелік вразливих місць. Ця БД побудовано за модульним принципом, що забезпечує необхідну гнучкість в процесі роботи. Для опису виявленої уразливості і включення її в базу даних у вигляді окремого модуля застосовується мова програмування Сі або спеціально розроблений мову сценаріїв NASL - Nessus Attack Scripting Language. База даних оновлюється практично щодня.

Сканер розроблений із застосуванням архітектури клієнт-сервер. Серверна частина сканера (поки тільки для POSIX-систем - Solaris, FreeBSD, GNU / Linux і т. Д.) Виконує такі функції: дослідження мережевих систем, інтерпретація отриманих результатів, видача рекомендацій, оновлення бази даних по вразливих місцях. Клієнтська частина сканера (під Unix- або Windows-системи) використовується для завдання параметрів дослідження систем і перегляду отриманих результатів. Параметри дослідження можна задати, використовуючи як командний рядок, так і графічний інтерфейс.

Сканер безпеки Nessus (версія 1.0.5) був сертифікований Держтехкомісії Росії при Президентові РФ (сертифікат № 361 від 18 вересня 2000 р.) Отримати сертифіковану версію сканера можна з ftp-сервера ftp://ftp.rbc.ru/pub/jet/nessus-saint . Розробники сканера рекомендують використовувати останню його версію Nessus 1.2.7.

механізм роботи

Для початку роботи адміністратор повинен зареєструвати майбутніх користувачів сканера на сервері Nessus. При цьому адміністратор визначає реєстраційне ім'я користувача - логін, пароль, обмеження по скануванню хостів. Необхідно звернути увагу, щоб порт, який використовується для комунікації між клієнтською частиною сканера і сервером (за замовчуванням тисяча двісті сорок одна), був відкритий для доступу в правилах брандмауера.

Після запуску сервера зареєстрований користувач може підключитися до сервера Nessus, використовуючи клієнтську частину сканера. Для зв'язку між клієнтом і сервером, в залежності від налаштувань, рекомендується використовувати шифрування (SSL). Перед початком дослідження користувач задає список тестованих хостів, методи дослідження, діапазон портів, список застосовуваних модулів (на даний момент їх близько 1140) і їх конфігурацію. Деякі види атак, описаних в модулях, іноді призводять до збою в роботі або зависання системи, що досліджується.

Сканер в змозі одночасно досліджувати безліч систем, фактично їх кількість обмежена тільки обчислювальною потужністю сервера і пропускною спроможністю каналу. Досліджуючи систему, сканер опитує всі порти заданого діапазону на наявність мережевих сервісів. Визначивши доступний сервіс, сканер починає аналізувати його стійкість до злому, імітуючи задані в модулях типи атак.

Після завершення сканування Nessus представить звіт про отримані результати з зазначенням переліку уразливих місць, рекомендаціями щодо їх усунення та рівнем ризику для кожного з них. Можна настроїти сканер таким чином, що після початкового дослідження системи в подальшому він буде спиратися на отримані дані, відзначаючи лише зміни в результатах дослідження.

Системні вимоги

Робота Nessus залежить від наступних програм:

GTK - The Gimp Toolkit - набір програмних інструментів для створення графічного інтерфейсу. Використовується версія 1.2. Завантажити дистрибутив можна з ftp://ftp.gimp.org/pub/gtk/v1.2/ .

Зауваження 1. Якщо у вашій системі вже є GTK, переконайтеся, що програма gtk-config теж встановлена. Якщо немає, встановіть пакет gtk-devel з вашого дистрибутива.

Зауваження 2. Якщо не хочете встановлювати GTK і / або у вас не встановлений X11, скомпілюйте консольний клієнт сканера, вказавши при конфігуруванні nessus-core

$. / Configure -disable-gtk

Nmap - чудовий сканер портів. Дистрибутив доступний за адресою http://www.nmap.org/ . Рекомендується версія 3.00 або 2.54.

OpenSSL - використовується при зв'язку між серверної і клієнтської частинами Nessus, а також при тестуванні SSL-сервісів. Дистрибутив доступний за адресою http://www.openssl.org . Встановлювати його необов'язково, але бажано.

установка

Є кілька способів установки Nessus:

1. За допомогою браузера lynx при підключенні до Інтернету можна набрати в командному рядку

$ Lynx -source http://install.nessus.org | sh

Цей спосіб небезпечний тим, що на вашому комп'ютері виконуються команди, що надходять з Інтернету. Якщо хто-небудь змінив DNS-запис для install.nessus. org, він зможе виконувати на вашому ПК довільні команди.

2. За допомогою сценарію установки nessus-installer.sh, який доступний на ftp://ftp.nessus.org/pub/nessus/nessus-1.2.7/nessus-installer/nessus-installer.sh . Для запуску сценарію досить набрати в командному рядку

#sh nessus-installer.sh

3. Установка Nessus для Unix-систем з tar-архіву (дистрибутив останньої версії Nessus доступний на сайті http://www.nessus.org )

$ Tar xvfz nessus-libraries-xxtar.gz $ tar xvfz libnasl-xxtar.gz $ tar xvfz nessus-core.xxtar.gz $ tar xvfz nessus-plugins.xxtar.gz $ cd nessus-libraries $. / Configure && make $ / bin / su root #make install #cd ../libnasl #. / configure && make && make install #cd ../nessus-core #. / configure (або без графічної оболонки ./configure -disable-gtk) #make && make install #cd ../nessus-plugins #. / configure && make && make install

Для Linux-систем:

#echo? / usr / local / lib? >> /etc/ld.so.conf #ldconfig

Користувачі Solaris в .profile повинні додати рядок

export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / local / lib

Переконайтеся, що в змінній оточення системи вказано шляхи / usr / local / bin і / usr / local / sbin. Перевірити це можна так:

$ Echo $ PATH

Програми, що входять до складу Nessus

Після завершення інсталяції сканера на вашій системі будуть встановлені наступні програми:

nasl - інтерпретатор NASL-скриптів;

nasl-config - скрипт, який показує ключі і прапори для компілятора, які дозволяють використовувати бібліотеку Nessus Attack Scripting Language в інших програмах;

nessus - клієнт Nessus;

nessus-adduser - додає користувача в базу сервера nessusd;

nessus-build - скрипт для створення модуля Nessus (.nes) з файлу на мові Сі (к.с.);

nessus-config - цей скрипт показує ключі і прапори для компілятора, що дозволяють використовувати бібліотеки Nessus в інших програмах;

nessus-mkcert - створює SSL-сертифікат для сервера Nessus;

nessus-mkcert-client - створює SSL-сертифікат для клієнта Nessus;

nessus-mkrand - створює файл з довільним вмістом, використовується в подальшому для створення SSL-сертифікатів;

nessus-rmuser - видаляє користувача з бази сервера nessusd;

nessus-update-plugins - автоматично оновлює модульну базу даних вразливих місць;

nessusd - сервер Nessus;

uninstall-nessus - скрипт деінсталяції Nessus.

Підготовка до першого запуску сервера nessusd

Якщо ви успішно впоралися з установкою сканера, приступаємо до запуску сервера Nessus - nessusd. Необхідно створити реєстраційні записи користувачів для сервера Nessus:

# Nessus-adduser,

потім створити SSL-сертифікат для сервера:

# Nessus-mkcert

і оновити базу даних вразливостей:

# Nessus-update-plugi

Запустіть сервер:

#nessus -D

Перевірте, чи вдало він завантажився:

$ Lsof -ni | grep nessusd

У разі успішного запуску з'явиться рядок виду:

nessusd 10182 root4u IPv4 41346 TCP *: один тисяча двісті сорок одна (LISTEN)

Після цього сервер готовий до підключення користувачів.

запуск сервера

Синтаксис команди запуску сервера:

#nessusd [-v] [-h] [- c config-file] [-a address] [-p port-number] [-D] [-d]

Опис ключів:

-c, -config-file = - вважати конфігурацію сервера з файлу.

За замовчуванням конфігурація сервера зчитується з файлу /usr/local/etc/nessus/nessusd.conf.

-a

, -Listen = - дає сервера вказівку прослуховувати з'єднання тільки для цього IP-адреси. Наприклад, «nessusd -a 192.168.1.1» призведе до того, що nessusd встановить прослуховуючий з'єднання тільки для 192.168.1.1. Ця опція зручна для запуску nessusd на шлюзі, якщо ви не хочете кому-небудь із зовнішньої мережі дозволити підключення до nessusd.

-p, -port = - дає сервера вказівку прослуховувати порт для встановлення підключень з клієнтом. За замовчуванням прослуховується порт тисячу двісті сорок одна.

-D, - запустити сервер nessud в фоновому режимі.

-d, -dump-cfg - показати параметри компіляції Nessus.

-v, - Поcмотреть версію сервера і закінчити роботу.

-h, - роздрукувати коротку довідку.

Для виконання операцій запуску, зупинки, поновлення бази даних сервера відповідно:

#service scaner start #service scaner stop #service scaner update

Створення реєстраційного запису користувача

# Nessus-adduser

У процесі створення реєстраційної записи необхідно вказати реєстраційне ім'я користувача, пароль, тип ідентифікації. Потім вказати правила, що обмежують можливість користувача сканувати системи. Обмеження встановлюються на основі списку діапазонів IP-адрес із зазначенням типу доступу (accept / deny - дозволити / заборонити). Кожен запис, що описує окремий діапазон IP-адрес, вводиться на окремому рядку. Завершується введення правила символом кінця файлу - комбінацією клавіш + D. Синтаксис правила:

accept | deny ip / mask default accept | deny

Запис default обов'язково повинна бути останньою в правилі. Вона визначає політику доступу користувача. Наприклад, правило, яке дозволяє дослідження користувачем підмереж 192.168.10.0/24, 192.168.11.0/24 і сервера 217.107.209.2 і забороняє доступ до всього іншого, виглядає так:

accept 192.168.10.0/24 accept 192.168.11.0/24 accept 217.107.209.2/32 default deny

Правило, яке дозволяє користувачеві сканувати всі можливі IP-адреси, крім підмережі 192.168.1.0/24, виглядає так:

deny 192.168.1.0/24 default accept

Якщо необхідно дозволити користувачеві досліджувати тільки ту систему, з якої він підключився до сервера Nessus, треба використовувати змінну client_ip:

accept client_ip default deny

Після підтвердження введених даних створення реєстраційної записи для сервера Nessus закінчено.

В змінної конфігурації сервера per_user_base встановлюється шлях до призначених для користувача каталогам (за замовчуванням / usr / local / var / nessus / users). Надалі для зміни обмежень для користувача user_name за доступними діапазонами сканування необхідно редагувати файл / usr / local / var / nessus / users / user_name / auth / rules.

Видалення реєстраційного запису користувача

# Nessus-rmuser user_name

Оновлення модульної бази даних вразливих місць

# Nessus-update-plugins

Програма встановлює зв'язок з сервером www.nessus.org . Потім отримує список модулів і звіряє з уже встановленими; якщо є зміни, завантажує і встановлює нові модулі. Після поновлення програма перевантажує сервер nessusd для вступу змін в силу. Рекомендується проводити оновлення щодня, наприклад, помістивши завдання в cron. Програма використовує в своїй роботі lynx, gzip і tar.

Додаткові ключі запуску:

-v - показати список недавно встановлених модулів;

-l - показати список модулів, доступних на сервері www.nessus.org , З коротким описом;

-r - переглянути вихідний код модуля pluginname;

-i - встановити модуль;

-h - висновок короткої довідки.

клієнти Nessus

Синтаксис запуску консольного сканера з командного рядка Unix-системи:

#nessus -q

host - IP- або доменне ім'я системи, де запущений сервер nessusd;

port - порт для підключення до сервера nessusd (за замовчуванням 1 241, раніше використовувався порт 3001);

user - ім'я зареєстрованого в сервісі nessus користувача;

pass - пароль користувача;

targets-file - файл, що містить список досліджуваних систем;

result-file - файл звіту про проведене дослідження.

Додаткові параметри:

-T, -output-type =, де - формат представлення даних в звіті: nbe, html, html_graph, text, xml, old-xml, tex, nsr (використовується за умовчанням);

-V, -verbose - висновок проміжних результатів сканування на екран;

-x, -dont-check-ssl-cert - не перевіряти SSL-сертифікат;

-v, -version - показати версію сервера nessusd;

-h, -help - коротка довідка.

приклад:

$ cat> list_ip 192.168.10.12
EOF
$ Nessus -V -T text -q localhost 1241 user password list_ip report_file

Працювати з графічними клієнтами для Nessus дещо простіше. Використовуючи графічну оболонку, можна швидко налаштувати параметри сканування. Підтримується експорт звітів в документи формату ASCII text, LaTeX, NSR, HTML, HTML з діаграмами.

Для Windows-систем в якості клієнта Nessus можна використовувати програму NessusWX (остання версія 1.4.2), яка поширюється на умовах ліцензії GNU General Public License. Отримати дистрибутив і документацію по NessusWX можна на сайті http://nessuswx.nessus.org/ . Підтримується експорт звітів у формати HTML, PDF, text.

Мова сценаріїв NASL

Сканер безпеки включає спеціально розроблений для виконання мережевих операцій мову сценаріїв NASL (Nessus Attack Scripting Language), що дозволяє швидко написати стерпний тест для перевірки певної уразливості і гарантувати, що NASL-сценарій не зможе виконати нічого, крім свого завдання - перевірки описаної уразливості у обраної мети .

За допомогою мови NASL легко конструювати і відправляти TCP / UDP / ICMP / IGMP-пакети з довільним вмістом, встановлювати мережеві з'єднання. Він забезпечує зручний високорівнева набір функцій для перевірки Web- і ftp-сервісів (ftp_log_i n (), ftp_get_pasv_port (), http_get (), is_cgi_installed () і т. Д.). Вбудовані обмеження зводять можливість створення модуля з подвійним призначенням ( «троянського») до мінімуму. Розробники гарантують, що NASL-сценарій не пошле жодного мережевого пакету ні на який хост, крім обраної мети; не виконуватиме на вашій локальній системі ніяких команд; не зможе читати локальні файли.

Необхідно відзначити, що NASL в загальному сенсі не є потужним мовою сценаріїв, подібним Perl або Python. У нього тільки одна мета: тестування безпеки мережевих сервісів - і в цьому він перевершує будь-який інший мову. Писати модулі для сканера Nessus на NASL набагато зручніше завдяки оптимізації для Nessus, переносимого і легко читається коду, а також загальних рис з мовою програмування С - синтаксис і ідеологія у них частково схожі.

Створені сценарії можна використовувати, підключивши модуль до сервера nessusd через nessus-update-plugins або користуючись інтерпретатором nasl, що входять до складу Nessus.

Ось чого немає в NASL, так це структур і відладчика (поки).

підтримка

Nessus має гарне інформаційний супровід. Простежити розвиток проекту можна на сайті http://cvs.nessus.org/ . Всі повідомлення про виявлені помилки публікуються за адресою http://www.nessus.org/bugs/ .

У проекті є кілька дискусійних груп:

nessus - загальна дискусійна група;

nessus-devel - новини та обмін думками розробників;

nessus-announce - повідомлення про можливості нових версій сканера;

plugins-writers - для розробників нових модулів. Якщо ви збираєтеся розробляти модулі, вам необхідно на неї підписатися.

Дізнатися подробиці підписки на дискусійні групи можна за адресою http://list.nessus.org .

Побажання, зауваження та поради

Чи не сканувати чужі машини без дозволу їх адміністратора. Ваші дії цілком обгрунтовано можуть бути розцінені як спроба злому і порушення роботи мережі.

При скануванні всього діапазону tcp-портів (1-65535) для одного хоста обсяг трафіку складає близько 5 Мбайт. Сумарний обсяг трафіку: кількість перевірок Е число машин Е 5Mбайт. Порахуйте самі до того, як провайдер виставить вам рахунок за трафік.

Воно також може істотно уповільнити роботу мережі, якщо її пропускна здатність невелика.

Сканування здатне викликати збій в роботі або зависання системи, що досліджується.

Здійснюючи перевірку безпеки мережі, необхідно робити її з різних точок, як зсередини локальної мережі (зона DMZ), так і зовні (з Інтернету).

Сканер безпеки Nessus поставляється as is »без яких би то не було зобов'язань. Автори Nessus знімають з себе будь-яку відповідальність за наслідки, викликані застосуванням сканера. Відповідальність за всі ризики, пов'язані із застосуванням і діями сканера Nessus, несе користувач.

* * *

Аудит надійності мережевого захисту і стійкості до злому мережевих сервісів - обов'язкова завдання при адмініструванні мережі, серверів або навіть одного домашнього комп'ютера. Використання сканера безпеки Nessus, який акумулює досвід сотень професіоналів, дозволяє полегшити це завдання, заощадивши чимало часу і зусиль і підвищивши надійність перевірки.

Не варто нехтувати даними досліджень сканера, відкладаючи оновлення або заміну вразливих мережевих сервісів. Результатом такої зневаги може стати злом і знищення вашої системи.

Usr / local / lib?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью