Створення віртуальної тестової лабораторії

Особливість встановлення віртуальних тестових машин та сервера. Аналіз зміни порту веб-управління маршрутизатором. Характеристика віддаленого керування системою. Тестування веб-сервера на надійність в середовищі уявної випробувальної лабораторії.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 04.06.2015
Размер файла 3,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ДИПЛОМНА РОБОТА БАКАЛАВРА

на тему «Створення віртуальної тестової лабораторії»

Львів - 2015

Вступ

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

Інформатизація настільки міцно закріпилась, що процес цей перейшов точку неповернення. Сучасний світ, з його безперервно зростаючим темпом життя, просто не зможе вижити таким, яким він є, без допомоги ЕОМ та інших механізмів швидкого забезпечення потрібної інформації. Ведення бізнесу, розроблення продукції, її реклама та реалізація, надання широкого спектру послуг, провадження автоматизованих систем управління та зрештою зручність для кінцевого користувача - все забезпечуєтьсясистемами по обробці, зберіганні та видачі інформації. І, звісно, найпродуктивніше все працює, при підключенні до всесвітньої мережі Інтернет, що поєднує мільйони ПК з серверами, де й проводяться ці операції.

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

Веб-сервери, являють собою звичайні сервери з відповідним ПЗ. Відповідно їх захист майже нічим не відрізняється, проте не втрачає актуальності. Веб-сервер - це ЕОМ, на якій розміщується сайт, на якій він функціонує та до якої доступаються користувачі Інтернету. Можна сказати, що це «фронтенд» Інтернету. Дані сервери потребують спеціального ПЗ, та відповідно конфігурованих ОС. Оскільки специфіка веб-сервера потребує максимально можливої доступності для кінцевого користувача, а також що таких користувачів в кожний конкретний момент часу може бути дуже велика кількість, відповідно налаштувати захист є завжди питанням компромісним.

Наразі в світі щодня розробляють нові ПЗ, ОС, а також різного роду пристрої забезпечення передачі інформації, питання остаточного 100% захисту не вирішиться ніколи. З однієї сторони створення даної продукції виправдано, оскільки з часом змінюються потреби, а також вдосконалюються методи обробки та передачі інформації. Також в старих засобах, з часом, знаходять вразливості, що при їх експлуатації компрометують систему захисту. З іншої, кожний новий продукт, хоча й тестувався, проте реальний стрес-тест буде виконано лише при безпосередній реалізації системи на ринку. Практика показує, що захиститись від всіх багів до моменту випуску неможливо.

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

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

1. Встановлення віртуальних тестових машин

VirtualBox

VirtualBox - цепотужнийкрос-платформенний засіб для програмної віртуалізаціїнаплатформахнабазіх86 та x64.«Крос-платформеність» означає, що VirtualBoxможе бути встановленийнакомп'ютери зMS Windows, Linux, Mac OS X іSolaris x86, а «засіб для програмноївіртуалізації» означає, щоможнастворювати ізапускати різнівіртуальнімашини, що використовують різні операційні системи одночаснонаодному комп'ютері. Наприклад, є можливість запуститиWindowsіLinuxнаMac,абоLinuxіSolarisз-підWindows, абоWindowsз-підLinux.

Oracle VM VirtualBoxдоступнадлязавантаженняу виглядівідкритого кодуабо у виглядінастановнихбінарних файлівдля Windows,та може використовуватись длявіртуалізаціїтакихопераційнихсистем якMicrosoft Windows, Linux, FreeBSD, Mac OS X, Solaris/OpenSolaris, ReactOS, DOSта інших.

Історія

Програма була створенакомпанієюInnotekз використаннямвихідного кодуQemu. Першапублічнодоступна версіяVirtualBoxз'явилася15 січня 2007. У лютому 2008 рокуInnotekбув придбанийкомпанієюSun Microsystems, модель поширенняVirtualBoxприцьому не змінилася. У січні 2010 рокуSun Microsystemsбула поглинена корпорацією Oracle,модель розповсюдженнязалишилася колишньою.

Ключовіможливості

• Кросплатформеність

• Модульність

• ПідтримкаUSB 2.0,коли пристроїхост-машини стають доступнимидлягостьовихопераційнихсистем (тільки впропріетарнійверсії)

• Підтримка64-бітних гостьовихсистем (починаючи з версії 2.0), навіть на 32-бітових хост-системах(починаючи зверсії 2.1, для цього обов'язковапідтримка технологіївіртуалізаціїпроцесором)

• ВбудованийRDP-сервер, а також підтримкаклієнтськихUSB-пристроїв поверх протоколуRDP(тількивпропріетарнійверсії)

• Експериментальнапідтримка апаратного3D-прискорення (OpenGL, DirectX8/9(з використанням коду wine) (тількив 32-бітових Windows XP, Vista, 7 і 8), для гостьовихDOS/Windows 3.x/ 95/98 / ME підтримка апаратного3D-прискорення не передбачена)

• Підтримкаобразівжорстких дисківVMDK(VMware) і VHD(Microsoft Virtual PC), включаючи snapshots(починаючи зверсії 2.1)

• Підтримкавіртуалізаціїаудіо пристроїв(емуляція AC97абоSoundBlaster16 абоIntel HD Audioнавибір)

• Підтримкарізних видівмережевої взаємодії(NAT, Host Networking viaBridged, Internal)

• Підтримкаланцюжказбережених станіввіртуальної машини(snapshots), до яких може бутипроведений відкатз будь-якогостанугостьової системи

• ПідтримкаShared Foldersдляпростогообміну файлами міжхостовоїі гостьовийсистемами (для гостьовихсистемWindows 2000і новіше, Linux іSolaris).

• Підтримкаінтеграціїробочих столів(seamlessmode) хостовоїігостьовою операційною системою

• Єможливість вибору мовиінтерфейсу (підтримується і російськомовнийінтерфейс).

• RDPсервер -дозволяє підключатисядо віртуальноїсистемівіддаленоза допомогоюбудь-якогоRDPсумісногоклієнта;

• ПідтримкаUSB - дозволяєпередавативіртуальній машиніUSBпристрої;

• Intel PXE boot ROM- завантаженняопераційної системипо мережі.Використовуєтьсядля створеннятонкихклієнтів /бездисковихробочих станцій.

Сумісність

VirtualBoxпоганосумісна зWindows95, Windows 98(системаповільнопрацює ібезустановкидодаткових драйверівпідтримуєтьсярозширення екранатільки640Ч 480) іMac OS X(звукпрацюєнаодин каналі зперебоями. Проте для новіших систем програма працює стабільно. Маються на увазі ОС Windows 7, Windows 8, Ubuntu, Kali тощо.

VirtualBox в Ubuntu

Починаючиз 4-ої версії OracleVM VirtualBoxіснуєвєдинійредакції,поширюваноїпід ліцензієюGNU GPLз відкритими початковимикодами.

Деякідодаткові функціївиділені в окремийпакетOracle VM VirtualBox Extension Pack, серед яких:

ПакетOracle VM VirtualBox Extension Packпоширюєтьсяпід ліцензієюPUEL, тобто його можнавикористовувати безкоштовнодляособистих(некомерційних) цілей.

На даниймоментVirtualBoxвключаєвсебе наступні можливості:

1. Нативнаx86-віртуалізація, що не вимагає наявностіпідтримкиапаратнихтехнікIntel VTабоAMD-V (яка,однак, може бутивключенавнастройках).

2. Дружнійкористувальницький інтерфейс,втому числі іросійськоюмовою (побудований за допомогою Qt).

3. ПідтримкаWindows, Linux іMac OSхостовихсистем.

4. НаявністьGuest VM Additionsдля спрощеннявзаємодії зхостовоїОС.

5. Підтримкабагатопроцесорнихі багатоядернихсистем.

6. Підтримкавіртуалізаціїаудіо пристроїв.

7. Висока продуктивність.

8. Підтримкарізних видівмережевої взаємодії(NAT, Host Networking viaBridged, Internal).

9. Підтримкадеревазбережених станіввіртуальної машини(snapshots), до яких може бути проведенийвідкатз будь-якогостанугостьової системи.

10. Описналаштуваньвіртуальної машинивXML-форматі.

11. ПідтримкаЗагальнихпапокдляпростогообміну файлами міжхостовоїі гостьовийсистемами.

Рис. 1. Інтерфейс VirtualBox

BackTrack

BackTrack-GNU /Linux-LiveCD, що виник якрезультат злиттяWHAXіAuditor Security Collection. ПроектстворилиМатиАхароні(MatiAharoni) і МаксМозер(MaxMoser). Призначений насамперед дляпроведення тестівна безпеку.

Опис

Дистрибутивстворенийдлятестерівінформаційної безпеки.Поставляється у виглядіLiveUSBіLiveCD, від користувачавимагається тількизавантажитися зносія, що міститьBackTrack. Також є можливістьустановкисистеминажорсткийдиск (потрібно приблизно 2,7ГБ).В даний часвдистрибутиввключеніінструментидляпрограмно-технічної експертизи. Також ведетьсяроботанадпідтримкоюієрогліфічнихазіатськихмов.

Примітка:останні версіїBackTrackпоставляються у виглядіISO-образу іобразу дляVMWare. У спеціальнихверсіяхдляLiveUSBбільшнемає необхідності, томутеперустановкунафлешкулегкозробити за допомогоюутиліттипуUnetbootinабо вручну.

Найбільшвідомі програмивпакеті

• Aircrack-ng

• Burp_suite

• Ettercap

• Hydra

• John_the_Ripper

• Maltego

• Kismet

• Metasploit

• Nmap

• OWASP-ZAP

• sqlmap

• Wireshark(ранішеEthereal)

• OWASP Mantra Security Framework- вдосконаленийбраузерFirefoxдляpentest.

• Armitage-графічний інтерфейсдляMetasploit.

Поточнийстан

Післятого,якдистрибутивпочавстабільнорозвиватися ібула налагодженароботазворотного зв'язкуз користувачами, виробники зробилиакцентна розширенністабільностіі функціональності, щозмінилопроцес розробки. У поточних версіях BackTrackбільшість програмвикористаніу виглядіокремих модулів, що спрощує процес створеннядоповненьта виправлень.

Категорії

Длязручності доступудо інструментіввони розділенінакатегорії

• EnumerationіInformationGathering

• Exploitationtools

• Scanners

• Password Attacks

• StressTesting

• SpoofingіSniffing

• WirelessAttacks

• ForensicTools

• Hardware hacking

• BackTrack Services

• ReverseEngineering

• Misc

Так само до складудистрибутивавключенізвичнідлякористувачів програмиMozilla Firefox,Gnome 2, gdm, dragonplayer.

Установка BackTrack

1. ВідкрийтеVirtualBoxза допомогою ярликанаробочому столі абовменюПуск. Натиснітькнопку "Створити" кнопку влівому верхньому куткувікна. Введітьім'ядлявашоївіртуальної машинивполі "Ім'я".

2. Натиснітьнаопераційній системіменю, що випадаєі виберіть "Linux". Натиснітькнопку "Версія" у спадному менюі виберіть "Linux 2.6." Натиснітькнопку"Продовжити". Натисніть та перетягнітьповзунок, щоб збільшити базовий розмірпам'яті не менше512 Мб.

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

4. Натисніть та перетягнітьповзунок, щоб збільшити розмірдискане менше 10Гб.Натиснітькнопку "Продовжити". Натиснітькнопку "Готово". ПерегляньтесторінкуЗведення, а потімнатиснітькнопку "Готово".

5. Натиснітьнавіртуальнумашину, створенув спискувлівій частинівікна. Натиснітьнакнопку "Налаштування" у верхній частинівікна. Натиснітькнопку "зберігання", розташовану у верхній частинівікні"Налаштування".

6. Натиснітькнопку "Очистити" нижчезначок"IDE Controller" в "StorageДерево"список. Натиснітьназначоккомпакт-диска поручз "CD / DVD Drive" полявправій частинівікна.Виберіть"Вибрати віртуальнийCD /DVD-диска файл".

7. ПерейдітьдоBackTrack4ISO файлу вікні натиснітькнопку "Відкрити". Натисніть "OK", щоб закрити вікно"Параметри". Натиснітькнопку "Пуск" у верхній частині вікнаVirtualBox.

8. Натисніть"Enter", щоб почати з параметрамиза замовчуванням.Для запуску графічної оболонки введіть "StartX" і натисніть"Enter", коли з'являється підказка"Root @BT: ~#".Двічі клацнітьна"install.sh", коли з'явиться робочий стіл, щоб почати установку.

9. Виберіть свійчасовий поясз "Обраний місто" у спадному меню.Натиснітькнопку"Вперед".Натисніть «Вперед», щоб прийнятистандартніструктурурозділів жорсткогодиска.Натиснітькнопку "Встановити" і почекайтезапускупрограмиустановкидо кінця іперезавантаження.Увійти можна використовуючилогін "root" та пароль "toor".

Рис. 2. Загальний вигляд BackTrack 5 R3.

Таким ж чином можна встановити інші ОС на VirtualBox. Принципової різниці між встановленням в якості віртуальної машини між встановлення на реальний ПК немає. Все що потрібно - це задати об'єм диску а оперативної пам'яті. Все інше VirtualBox зробить сам.

Якщо дозволяє хостовий комп'ютер, можна запустити кілька віртуальних машин одночасно. Все залежить від потужності хоста, а також він потреб в ресурсах гостьових машин. Для прикладу запуск BackTrack та WindowsXP потребує біля 1Гб оперативної пам'яті від хоста.

Рис. 3. Одночасний запуск кількох машин.

FreeBSD

Коротко про ОС

FreeBSD -- UNIX-подібна операційна система, коріння якої тягнеться від AT&T UNIX, через BerkeleySoftwareDistribution (BSD) гілку операційних систем 386BSD та 4.4BSD. Працює на Intel x86 (IA-32), сумісних з ПК системах (включно з Microsoft Xbox, а також DEC Alpha, Sun, Itanium (IA-64), AMD64, PowerPC та NEC PC-98 архітектурах. FreeBSD добре зарекомендувала себе як система для побудови інтранет- і інтернет-серверів. Вона надає достатньо надійні мережеві служби і ефективне управління пам'яттю.

FreeBSD розробляється як повноцінна операційна система. Ядро, драйвери пристроїв та базові користувацькі утиліти (так звані Userland), на кшталт командного процесору (shell) розробляються в єдиному ядрі. Це одна з головних відмінностей системи від Linux, у котрій робота над розробкою ядра ведеться однією групою програмістів, базових користувацьких утиліт іншою (наприклад, проектом GNU), і усе це збираються третіми групами у так званий дистрибутив.

Дана ОС являє собою найкращу open-source пропозицію на ринку. Система поєднує в собі дуже хорошу систему захисту, актуальну підтримку, стабільні оновлення, чітку та лаконічну документацію. Хорошою особливістю є небажання гнатись за новинками збоку творців ОС. Вони віддають перевагу розважливим рішенням, тому кожна нова версія FreeBSD це всебічно протестований продукт, що точно буде стабільно працювати. Взагалі стабільність системи - її ключовий козир.

Для захисту, система може працювати в двох режимах: одно- та багатокористувацькому. В одно-користувацькому сеансі, працює лишень адміністратор системи. Даний режим створений для відлагодження системи, а також її встановлення. Потрапити в даний сеанс можна лишень безпосередньо перебуваючи поряд з сервером. Багатокористувацький режим створений саме для доступу до сервера великої кількості неавторизованих користувачів, як от користувачів Інтернету, при перебуванні на сайті. Даний режим включає механізми захисту ОС, проте не забезпечуєповного захисту від проникнення збоку стороннього ПЗ, наприклад при експлуатації вразливостей веб-двигуна.

Встановлення FreeBSD

Процес встановлення останніх версій FreeBSD значно спростився, оскільки інсталяційний скрипт, був переосмислений та набув більшої інтерактивності. Для мінімальної версії ОС, ніяких додаткових налаштувань під час встановлення не потрібно здійснювати, і зрештою нічим не відрізняється від встановлення інших ОС. На рис. 4. продемонстровано початковий вибір. Окрім самої установки, FreeBSD має можливість запуску в режимі консолі (для відлагодження встановлених систем) та режим LiveCD CD, для функціонування системи, без запису на жорсткий диск. Обираєм «Install».

Рис. 4. Встановлення FreeBSD

Після встановлення клавіатури, та часових локалей, пакет запропонує вибір комплектації. Тут доцільно встановити бібліотеки, та вихідні коди.

Рис. 5. Пакет інсталяції.

Наступим кроком, є розбиття жорсткого диску. Обов'язковим є наявність розділу підкачки (/swap), що надає можливість відводити частину простору диску, для потреб оперативної пам'яті. Це суттєво підвищує продуктивність.

Рис. 6. Розмітка диску

Останнім кроком є встановлення паролю адміністратора (root).

Рис. 7. Запит на створення паролю.

Після перезавантаження, є можливість обрати режим роботи. В даному випадку обираєм багатокористувацький, проте, при збою системи потрібно обрати одно користувацький режим, для відлагодження системи.

Рис. 8. Вибір режиму.

Після встановлення, систему потрібно налаштувати.

Основні налаштування системи відбуваються в файлі /etc/rc.conf. При загрузці системи, з цього файлу зчитуються параметри.

Вносимо відповідні данні:

hostname="shellshock.uar.net" - доменне ім'я сервера

ifconfig_em0="inet 194.44.10.33 netmask 0xffffffc0" - налаштування мережі

defaultrouter="194.44.10.1" - шлюз

sshd_enable="YES" - автозагрузка ssh

apache24_enable="YES" - автозарузка Apache2

firewall_enable="YES" - ввімкнення фаєрволу

firewall_script="/etc/ipfw.rules" - читання правил фаєрволу

На цьому початкові налаштування FreeBSD завершені. Після запуску системи у багатокористувацькому режимі, потрібно ввести логін та пароль. Екран привітання вказано на рис.9.

Рис. 9. Привітання FreeBSD.

Налаштування спільних папок

Спільні («розшарені») папки доцільно використовувати, для передачі файлів між хостовою ОС та гостьовою. Для прикладу це можуть бути інсталяційні файли, драйвера чи документи. Можливо піти іншим шляхом, та використовувати «Хмарні» середовища, проте даний метод потребує обов'язкового підключення до мережі Інтернет, та при великому об'ємі файлів втрачає привабливість.

В ОС Windows

Потрібновказатизагальнупапку, у властивостяхсистеми, встановленоїнаVirtualBox.

Рис. 10.VirtualBoxзагальні папкиКрок 1.

Дляцього, виділяємо потрібнуОС, тиснемо кнопку«Властивості», вибираємо розділ«Загальніпапки». Кнопка«Додати загальнупапку».Вказуємо шляхдо потрібної папкинахостовоїОС.

Рис. 11. VirtualBoxзагальні папкиКрок 2.

Запускаємовіртуальнусистему,після завантаженняпроходимонаступні кроки:

Установка/встановитидоповненнягостьовийОС.Навсі питаннявідповідаємоствердно.

Рис. 12. VirtualBoxзагальні папкиКрок 3.

По завершенніустановкидоповнень, перезавантажуємогостьовуОС, потім виконуємонаступнукоманду:

netuse x: \\vboxsvr\share-деshare вашаобранапапка,а «x» ім'я диска,який з'явитьсяв гостьовійОС.Ім'ядискаможна змінювати.

Після цього, у списку дисківгостьової ОСз'являється щеодин пристрій- це і є, відкрита загальнапапка.

Рис. 13. Крок 4.

В ОС Linux

Netcat(англ. Netмережа+cat) -утилітаUnix, що дозволяєвстановитиз'єднанняTCPтаUDP, отримуватитапередаватидані. Незважаючинапростотута Користь, цяутилітане включенадожодногостандарту.

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

Розширюючи попередню думку, nc можна використовувати для передачі файлів.

Для прикладу, потрібно передати деякий текстовий файл hi.txt, що містить в собі повідомлення «Hello, my dear friend!» з комп'ютера з адресом 192.168.0.100 на комп'ютер з адресом 192.168.0.108.

Для цього створим на 192.168.0.100 сервер, до якого в подальшому буде здійснено підключення.

Для передачі використовується деяка хитрість. Для того, щоб «повісити» файл на порт, об'єднають дві команди: вивід файлу, та перенаправлення виводу в nc.

Рис. 14. Приклад передачі.

Після таких маніпуляцій, клієнт (192.168.0.108) може підключитись до сервера, та перенаправити отримані дані в локальний файл.

Рис. 15. Отриманий файл.

Таким чином можна переслати та відновити цілий диск. Достатньо «повісити» на сервері замість файлу цілий диск

cat /dev/hdb | nc -l -p 12345

nc 192.168.0.100 12345 > /dev/hdb

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

В якості хоста виступає Ubuntu 14.04, через кращу продуктивність даної ОС над Window 7, чи Windows 8. Засобами Linux краще вдається розприділити оперативну пам'ять, що є вкрай цінним ресурсом, на машині, в межах якої функціонують інші машини. Гостьовими ОС виступають FreeBSD (використовується як веб-сервер), BackTrack (В подальшому Kali Linux - як засіб тестування) та WindowsXP(як приклад вразливої системи). FreeBSD добре підходить для умов віртуальної тестової лабораторії, оскільки є дуже поширеною, а отже й актуальною, та має зручне налаштування. BackTrack - це спеціальний дистрибутив Linux, створений насамперед, для тестування системи на проникнення (пентест). BackTrack містить всі потрібні програми, що попередньо встановлені на та налаштовані. Додатково є наявність словників, для переборю паролів.

2. Встановлення віртуального тестового сервера

LAMP

LAMP-акронім, що позначає набір (комплекс) серверного програмного забезпечення,широковикористовуванийу Всесвітній павутині. LAMPназванийза першими літерамивходять до його складукомпонентів:

· Linux- операційнасистемаLinux;

· Apache -веб-сервер;

· MariaDB/ MySQL-СУБД;

· PHP

PHP- мовапрограмування, що використовуєтьсядля створеннявеб-додатків (крім PHPможутьматися на увазіінші мови, такі як PerlіPython).

АкронімLAMPможе використовуватисядляпозначення:

· Інфраструктуривеб-сервера

· парадигми програмування

· пакету програм

Хоча спочатку ці програмні продукти не розроблялися спеціально для роботиодин з одним,така зв'язкасталавельми популярноючерез своюгнучкість,продуктивність танизьку вартість(всі її складові євідкритими іможуть бутибезкоштовнозавантаженіз Інтернету). НабірLAMPвходить до складу більшостідистрибутивівLinuxінадаєтьсябагатьмахостинговими компаніями.

Процес встановлення програм на FreeBSD дещо відрізняється: всі програми компілюються під час встановлення. Це дає більшу сумісність програм з ОС, та апаратними засобами. Для встановлення потрібно спочатку найти потрібну програму

locate apache24

Виводом буде направлення на директорію з інсталятором програми. Сама директорія міститься в кореневій директорії, що зветься Портом. Для встановлення потрібно перейти в відповідний порт, та виконати команду

make configure install clean

Ця команда одразу сконфігурує, встановить та вичистить «інсталяційний мусор».

Сам пакет називається FAMP, та містить більш стабільні версії програм, проте не настільки «свіжі», у порівнянні з Linux.

Починаючи зUbuntu7.04 (FeistyFawn) замовчуванням встановлена корисна утилітаTasksel. Вона допоможе встановити LAMP. Простовиконаємокоманду:

sudo tasksel install lamp-server

Приустановцібудезапитаний парольдля створення адміністратора БДMySQL.

УстановкаApache2

Якщо потрібно встановити лишевеб-сервер Apache2використовуєтьсябудь-який методдлятого,щобвстановитипакетapache2. Длятого, щобApacheстартувавйого слідперезапустити:

sudo /etc/init.d/apache2 restart

УстановкаPHP 5

ЩобвстановитимодульPHPдляApacheвикористовуєтьсябудь-який методдлятого,щобвстановитипакетlibapache2-mod-php5. ВключитимодульPHP 5вApacheможнавиконавши:

sudo a2enmod php5

Це створитьсимволічне посилання/etc/apache2/mods-enabled/php5 щовказуєна/etc/apache2/mods-availble/php5. Якщо не використовуютьсязастарілівPHPкороткітеги<? (що вкрай нерекомендовані) замість <? phpпотрібно відкрийтевідімені супер користувачафайл/etc/php5/apache2/php.ini, знайдіть у ньомурядок

short_open_tag=On

і замінітьйогона

short_open_tag=Off

Це змуситьігнорувативідкриваютьтеги<? Xmlу файлах,оброблюванихPHP.

Длятого,щоб змінивступиливсилупотрібно перезапуститиApache

sudo service apache2 restart

note

ПеревіркаPHP

Упапці /var/wwwстворіть файлtest.php, дайте правана читаннядо ньоговсім(або хоча бкористувачевіapache) і запишіть уньогонаступний рядок:

<? phpphpinfo();?>

Залишається протестувати: у браузеріперейтинасторінкуhttp: //localhost/test.php. Якщо бачитеописвстановленогоPHP,значитьвсеналаштувалиправильно.

УстановкаMySQLі йогомодулівдляPHP 5

ЩобвстановитиMySQLвикористовуєтьсябудь-який методдлятого,щобвстановитипакетиmysql-server libapache2-mod-auth-mysql php5-mysql.

PhpMyAdmin

Усі завданняякіпотрібно виконатиMySQLможна робитивикористовуючиграфічний інтерфейспрограмphpmyadmin. Встановлюємоутиліту

sudo apt-get install phpmyadmin

Приустановцівоназапроситьпароліякі були заданіприустановціMySQL.

Зайти в ньогоможназ адресиhttp: // localhost/phpmyadmin/

Припомилку404внесітьвфайл/etc/apache2/apache2.confInclude /etc/phpmyadmin/apache.conf

Рис. 16. Тест роботи Apache2.

Форвард портівнамаршрутизаторахTP-LINK

Найбільш поширенівипадки використанняперекидування портів- це:

• ВЕБ-сервер (поштовий, ігровий абобудь-який іншийсервер);

• Управліннядомашньої/офісноїIP-камерою;

• Віддаленийробочий стілдомашнього/офісногоПК.

Розглянемонастройкупортівдлявеб-сервера:

У кожномувипадку використовується IP-адреса кінцевогопристроюі Мережевийпорт - 192.168.0.100:80.

ДомашнімаршрутизаторивикористовуютьтехнологіюNAT, коли зовнішній WAN IP (видаєтьсяпровайдером) відрізняється від LAN IP(видаєтьсямаршрутизаторомкінцевим пристроям).

Дляроботипортів WAN IP-адрес (публічний) повинен бути "білим".Іншими словами неповинен входитивдіапазон"сірих"/приватнихIP-адрес:

WAN IP-адресу маршрутизатора можна подивитисянасторінці: Стан -WAN.

Дляцього убраузеріввестивадресному рядкуLAN IP-адресу маршрутизатора за замовчуванням:

http://192.168.0.1

Резервуванняадреси

ОскількиDHCP-сервер маршрутизатораможе видатиIP-адреса пристроюкоженразрізний, йогопотрібно зарезервувати.

Дляцього переходимовменюDHCP-Резервуванняадрес.

Ідодаємоновий запис, натиснувшикнопкуДодати

Рис. 17. Резервування адреси

Прив'язуємоIP-адреса доМАС-адресою пристрою.

У поліМАС-адреса вказуємоМАС-адресу ВЕБ-сервера

У поліЗарезервованийIP-адреса вказуємобажанийадрес:192.168.0.100

Після цього, доцільно прив'язати ІР-адреса до MAC-адресу віртуальних машин, а також сервера.

Рис. 18. Список зарезервованих адрес.

Одразу після виконання цих дій, з'являється недоступний до цього функціонал. Наприклад, тепер можна створити файл, що автоматично монтуватиме сервер як мережевий диск при кожному ввімкнені ОС. Наприклад для ОС Windows створити файл .bat з наступним вмістом:

netuse s: \\192.168.0.103\shellshock %pass% /user:shellshock

Поклавши такий файл на автозагрузку, отримаєм автоматична монтування сервера (shellshock \\192.168.0.103).

Рис. 19. Автомонтування сервера в Windows 7.

Якщо потрібно зробитиперекидуванняпорту80,втакому випадкунеобхідно помінятипортуправліннявеб-інтерфейсом самогомаршрутизатора, наприклад на8080.

Змінапортувеб-управління маршрутизатором

Робиться цевменюБезпека -Віддаленеуправління

Рис. 20. Налаштування безпечного віддаленого управління маршрутизатором.

Маршрутизаторперезавантажитьсяі буде доступнийза адресоюhttp://192.168.0.1:8080

Перекидуванняпорту/Відкриття порту

ВменюПереадресація-Віртуальні сервери.

НатиснітькнопкуДодати

Рис. 21. Віртуальні сервери

Потрібно заповнитиполя:

· Портсервісу -Мережевийпорт,по якомукористувачі будутьзаходитинавашВЕБ-сервер.

· Внутрішнійпорт -Внутрішнійпорт,по якомудоступнийвашВЕБ-сервер (всередині вашої локальноїмережі).

Портсервісу іВнутрішнійпортможуть бути різними.

IP-адреса -ЛокальнийIP-адресу вашого ВЕБ-сервера, виданий маршрутизатором.

Рис. 22. Список портів.

Віддалене керування сервером

SSH

Secure Shell, SSH (англ. Secure SHell -- «безпечна оболонка») -- мережевий протокол рівня застосунків, що дозволяє проводити віддалене управління комп'ютером і тунелювання TCP-з'єднань (наприклад, для передачі файлів). Схожий за функціональністю з протоколом Telnet і rlogin, проте шифрує весь трафік, в тому числі і паролі, що передаються.

Криптографічний захист протоколу SSH не фіксований, можливий вибір різних алгоритмів шифрування. Клієнти і сервери, що підтримують цей протокол, доступні для різних платформ. Крім того, протокол дозволяє не тільки використовувати безпечний віддалений shell на машині, але і туннелювати графічний інтерфейс -- X Tunnelling (тільки для Unix-подібних ОС або застосунків, що використовують графічний інтерфейс X Window System). Так само ssh здатний передавати через безпечний канал (Port Forwarding) будь-який інший мережевий протокол, забезпечуючи (при належній конфігурації) можливість безпечної пересилки не тільки X-інтерфейсу, але і, наприклад, звуку.

Підтримка SSH реалізована у всіх UNIX системах, і на більшості з них в числі стандартних утиліт присутні клієнт і сервер ssh. Існує безліч реалізацій SSH-клієнтів і для не-UNIX ОС. Велику популярність протокол отримав після широкого розвитку сніферів, як альтернативне небезпечному телнету рішення для управління важливими вузлами.

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

На прикладі: клієнт ноутбук (Kubuntu 14.04) - сервер (Ubuntu 13.14).

Перш за все потрібно встановити програму, яка складається з двох блоків: програми-клієнта, з якого підключаються, та програми-сервера до якої підключаються. За замовчуванням ssh-клієнт (ssh) та ssh-сервери (sshd) встановленні за замовчуванням "з коробки". В противному разі команда на встановлення:

sudo apt-get install ssh

Оскільки ssh знаходиться в залежності з sshd - програму-сервер буде встановлено автоматично, проте автоматично сервер не запускається. Для його запуску потрібно ввести:

sudo service ssh start

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

sudo userdel ssh-klient (де ssh-klient - ім'я нового користувача)

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

Заповнивши кілька пропонованих стрічок (можна залишити їх пустими), отримаємо наступне.

Рис. 23. Створення облікового запису.

Для надання користувачу ssh-klient потрібно внести зміни в файл /usr/sbin/visudo

та дописати у відповідну графу наступне:

# User privilege specification

root ALL=(ALL:ALL) ALL

ssh-klient ALL=(ALL:ALL) ALL

Дана операція наддасть користувачі привілеїв супер-користувача, або, інакшими словами, права root. Такий рівень доступу надає повний контроль на машиною, тому тут потрібно буди обачним.

Вже на даному етапі можна підключатись до сервера, використовуючи "захищений шелл": На комп'ютері-клієнті вводимо наступну команду а вводимо пароль:

Рис. 24. Вхід в віддалену систему.

де ssh - використання програми

ssh-klient - ім'я під яким хочемо здійснити вхід

192.168.0.103 - IP-адреса сервера (можна й доменне ім'я, про це згодом). Підтвердженням успішного входу є зміна облікового запису (в даному випадку з shellshock на ssh-klient), а також відповідна зміна машини (з shellshock-KU на localhost (через особливості реалізації сервера)).

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

При використанні методу ідентифікації Identity / Pubkey виключається використання статичних паролів. Щоб кожен раз не набирати паролі, які можна перехопити, ми будемо зберігати на диску пару ключів, які й будуть використовуватися для перевірки автентичності.

Ось деякі з позитивних моментів цього типу аутентифікації: Ніхто не зможе увійти на сервер з вашим профілем, так як їм необхідно володіти приватним ключем і кодової фразою. Адміністратор сервера може взагалі прибрати пароль облікового запису, щоб виключити його дискредитацію.

Можнавстановлювати певні обмеження, наприклад забороняючи перенаправлення портів, виконання певних програм і т.д.

Для генерації пари ключів нам необхідно скористатися утилітою ssh-keygen, яка входить в стандартний комплект установки.

ssh-keygen -t rsa (на локальній машині, тобто на "клієнті")

Відповідно на сервері ці ключі потрібно скопіювати:

ssh-copy-id -i ~/.ssh/id_rsa.pub ssh-klient@192.168.0.103

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

SSH має ще декілька цікавих особливостей використання:

Для доступу до сервера можна виходити за межі внутрішніх NAT-мереж, та здійснювати підключення по ssh через глобальну мережу. Для цьому потрібно щоб за сервером була закріплена статична адреса (в противному разі потрібно використовувати ddns), та була налаштована відповідним чином переадресація портів на маршрутизаторі. Для прикладу налаштування мого роутера.

Рис. 25. Налаштування віртуальних серверів.

Така конфігурація дає змогу "мати під рукою" власний сервер усюди, де є мережа інтернет. При такому підключені IP-адреса вводиться статична, або (якщо є) -доменне ім'я.

Користувача можна не вводити, якщо попередньо був налаштований "шарінг" ключа.

Рис. 26. Вхід без пароля

Ще однією особливістю ssh є можливість передавати файли по ssh-тунелю.

Для цьому використовується sshfs (ssh file system).

Встановлення

sudo apt-get install sshfs

Дана опція дуже корисна при налаштуванні веб-сервера, адже можна примотувати /var/www безпосередньо на локальний комп'ютер (обов'язково надати локальному комп'ютеру права типу 776).

Приклад використання:

Рис. 27. Монтування на клієнті.

Рис. 28. Монтування на сервері

Оскільки Linux поняття ядра та оточення (так званих Іксів, X) розділені, і впринципі є можливість "стрімити" потік ядра, по ssh можна передавати графічне віддалене управління. Процедура схожа з Radmin чи TeamViewer, з тією різницею, що на Linux зображення можна "стрімити" оминаючи екран самого сервера. Такий термінальний розподіл дозволяє "малювати" не тільки цілий робочий стіл, а конкретні програми, що суттєво знижує нагрузку на сервер.

Дана опція називається ForwardX, а вмикається розкоментуванням у файлі/etc/ssh/ssh_config строки ForwardX11 зі зміною "no" на "yes".

Після чого потрібно перезапустити ssh командою

sudo /etc/init.d/ssh restart

Сама команда запуску має вигляд:

ssh -X user_name@IP_server (запуск цілого оточення)

ssh -X user_name@IP_server 'blender' (запуск графічного оточення програми blender)

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

В даному розділі розглядається встановлення всього необхідного, для функціонування веб-сервера. Перш за все це встановлення відповідного ПЗ:

· Apache (для FreeBSD це Apache24), для прослуховування 80 та 8080 портів, для передачі потрібної сторінки сайту.

· PHP - для виконання програмної частини на веб-сервері, потрібного для нормального функціонування сайту. Більшість веб-двигунів використовують PHP, як допоміжну ланку. Самі двигуни працюють, як правило на JavaScript. Проте весь код JavaScriptвиконується на стороні клієнта, тому додатково нічого встановлювати не потрібно. Наявність на веб-сервері інтерпретатора команд, створює вразливість, оскільки є можливість виконання коду зловмисником.

· MySQL - найпоширеніша СУБД. База даних на веб-сервері потрібна для швидкодії. Це особливо відчутно на поштових серверах. Бази даних створені таким чином, щоб якумога скоріше приймати та віддавати інформацію. Наявність на сервері бази даних, і звісно СУБД, також є небезпечним, адже при вразливостях, типу сліпої ін'єкції, зловмисник без особливих зусиль може отримати дані з бази.

Форвард портів потрібний, якщо віртуальна тестова лабораторія знаходиться за маршрутизатором. Форвард дозволяє отримати доступ до лабораторії ззовні, для віддаленого адміністрування. Хорошою особливістю методу, є можливість швидкого закриття доступу для «світу», притім внутрішня структура мережі не зміниться. Доступ здійснюється за допомогою ssh, що використовує метод шифрування трафіку RSA, та вважається достатньо надійним, для доступу до комерційних серверів.

3. Тестування на надійність в середовищі віртуальної тестової лабораторії

Тестування веб-сервера

Тестування сервера передбачає використання спеціальних утиліт, що віддалено сканують сервер, та виявляють в ньому всі недоліки. Такими можуть бути використання служб на стандартних портах (особливо ssh), неправильна конфігурація веб-сервера, не видалені інсталяційні скріпти, слабкі паролі, халтурність (розміщення cgiскріптів в корені сайту, або в папці cgi-bin, що явно виказує їх розміщення, та дає можливість неправомірного виконання), тощо.

Всі програми для виявлення вразливостей, а також програми для використання вразливостей запускаються з ОС BackTrack.

Uniscan

Uniscan - це графічна оболонка для таких сканерів, як PSCAN, Spider, Uscan, Fuzz. Проте найкраще використовується як графічний сканер портів.

Рис. 29. Відкриті порти.

Оскільки відкриті 110 та 143, можна судити що окрім веб, на сервері є й пошта. Для перевірки цього твердження, можна попробувати переглянути всі домени сервера, а також приблизну структуру файлів.

Рис. 30. Домени поштового сервера.

Методом підбору, можна дізнатись, який клієнт використовується для управління поштою. В даному випадку це postfixadmin. З цього слідує, що поштою на сервері керує postfix.

Hydra

Утиліта для перебору паролів, іншими словами «брутфорс». Метод «брутфорс» використовується в разі, якщо вразливостей не виявлено, або вразливості незначні. Також таким методом користуються ті, хто впевнений - адміністратор не слідкує за вхідним трафіком. Справа в тім, що кожна невдала спроба реєструється в логах, об'єм яких швидко зростатиме. Проте, за наявності достатньої кількості часу, та потужного комп'ютера цей метод є самим дієвим. Якщо знати, що користувачі нехтують безпекою, використовують слабкі паролі, шанс успіху різко зростає.

В даному випадку, доцільно спробувати наступні логіни, root, admin, shellshock, postfix. Логін shellshock є зміст пробувати, оскільки назва домену може збігтись з логіном адміністратора, а postfix - оскільки це назва служби.

В BackTrack передбачено кілька словників, звідки hydra буде брати паролі. Ще утиліта може використовувати одночасно перебір логінів, що сильно сповільнить процес, але може дати успіх, якщо логін невідомий.

Рис. 31. Інтерфейс утиліти Hydra.

За кілька годин перебору, пароль був знайдений, та записаний у лог програми. Оскільки складністьзаключала в підборі логіну, це потребувало там багато часу. віртуальний тестовий сервер маршрутизатор

Nikto

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

До ключових особливостей, можна віднести:

· "Обхід" IDS (Intrusion Detection System, система виявлення вторгнення).

· Підтримка SSL (Secure Sockets Layer).

· Підтримка проксі.

· Висновок у форматах: текст, HTML, CSV (CommaSeparatedValues).

· Знаходить Веб-сервера, розташовані на нестандартних портах.

· Перевірка величезного числа вразливостей.

Сам синтаксис дуже простий. Все що потрібно ввести наступну команду:

nikto -h shellshock.uar.net

Відповідно вивід наступний:

- Nikto v2.1.6

---------------------------------------------------------------------------

+ Target IP: 194.44.10.33

+ Target Hostname: deigineor.uar.net

+ Target Port: 80

+ Start Time: 2015-05-22 05:53:37 (GMT-4)

---------------------------------------------------------------------------

+ Server: Apache/2.4.12 (FreeBSD) PHP/5.6.8

+ Retrieved x-powered-byheader: PHP/5.6.8

+ The anti-clickjacking X-Frame-Optionsheaderisnotpresent.

+ Server leaksinodesviaETags, headerfoundwith file /bin/, fields: 0x1f 0x511d2156072c0

+ OSVDB-877: HTTP TRACE methodisactive, suggestingthe host isvulnerable to XST

+ OSVDB-3092: /administrator/: Thismightbeinteresting...

+ OSVDB-3092: /bin/: Thismightbeinteresting...

+ OSVDB-3092: /includes/: Thismightbeinteresting...

+ OSVDB-3092: /logs/: Thismightbeinteresting...

+ OSVDB-3092: /tmp/: Thismightbeinteresting...

+ OSVDB-3092: /bin/: Thismightbeinteresting... possibly a system shell found.

+ OSVDB-3092: /LICENSE.txt: License file foundmayidentifysitesoftware.

+ /htaccess.txt: Default Joomla! htaccess.txt file found. Thisshouldberemovedorrenamed.

+ /administrator/index.php: Admin loginpage/sectionfound.

+ 7331 requests: 0 error(s) and 13 item(s) reportedonremote host

+ End Time: 2015-05-22 05:56:52 (GMT-4) (195 seconds)

---------------------------------------------------------------------------

+ 1 host(s) tested

Детальніше вивід зазначає наступне: версію сервера, програми веб-сервера, веб-двигун, а також відзначає знайдені вразливості. Наприклад стандартне розміщення файлів в директорії сайту. На перший погляд це не складає проблеми. Проте варто зазначити, що двигун сайту Joombla, який є безплатним. Тобто кожен бажаючий може скачати, встановити, та вивчитистандартне розміщення файлів. Таким чином, при експлуатації вразливості, серйознішої за дану, зловмисник буде легко орієнтуватись в структурі сайту, що безумовно буде йому на руку. Крім того розміщення такий файлів, як htaccess.txt взагалі небажане, про що повідомляє сканер, та пропонує або перейменувати або є видалити. Справа в тім, що даний файл контролює політику безпеки на сайті, і якщо зловмиснику вдасться його змінити, він отримає повний доступ.

Найбільшою вразливістю є XST, що дозволить розміщувати сторінки, чи навіть окремі частини сторінок на віддалених хостах. Таким чином, зловмисник має можливість заміщувати оригінальні сторінки, своїми, які проситимуть ввод паролю, і користувачі, звісно, будуть їх вводити. Адже користувач, який бачить тільки доменне ім'я, а не реальну ІР адресу, нічого не запідозрить.

Joomblascan

З попереднього тесту, визначено, що двигуном сайту є Joombla. Це не дивно, адже це дуже поширений продукт. Проте, через його поширеність, зловмисники дуже зацікавлені в виявленні всіх його вразливостей, для використання в своїх потребах.

BackTrack містить сканер вразливостей для даного веб-двигуна.

Як і попередній, синтаксис сканера дуже простий

joomscan -u deigineor.uar.net/administrator

Вивід програми є досить обширним, та містить, детальний опис використаних версій ПЗ на веб-двигуні. Найцікавішими є такі записи:

# 1

Info ->Core: Multiple XSS/CSRF Vulnerability

VersionsAffected: 1.5.9 <=

Check: /?1.5.9-x

Exploit: A series of XSS and CSRF faultsexist in theadministrator application. Affectedadministratorcomponentsincludecom_admin, com_media, com_search. Bothcom_admin and com_searchcontain XSS vulnerabilities, and com_mediacontains 2 CSRF vulnerabilities.

Vulnerable? N/A

# 2

Info ->Core: JSession SSL Session DisclosureVulnerability

Versionseffected: Joomla! 1.5.8 <=

Check: /?1.5.8-x

Exploit: Whenrunning a siteunder SSL (theentiresiteisforced to beunderssl), Joomla! doesnotsetthe SSL flagonthecookie. Thiscan allow someonemonitoringthe network to findthecookierelated to the session.

Vulnerable? N/A

# 16

Info ->CoreComponent: com_bannersBlind SQL InjectionVulnerability

Versionseffected: N/A

Check: /components/com_banners/

Exploit: /index.php?option=com_banners&task=archivesection&id=0'+and+'1'='1::/index.php?option=com_banners&task=archivesection&id=0'+and+'1'='2

Vulnerable? Yes

# 138

Info ->Component: JoomlaComponent (com_bnf) SQL InjectionVulnerability

VersionsAffected: Any<=

Check: /index.php?option=com_bnf&task=listar&action=filter_add&seccion=pago&seccion_id=-1

Exploit: /index.php?option=com_bnf&task=listar&action=filter_add&seccion=pago&seccion_id=-1

Vulnerable? No

Всього Joomblascan знайшов 138 недоліків. Якщо вказано VersionsAffected: Any<=, то це означає, що це вразливість попередніх версій, і в даній версії не є актуальною. Проте Vulnerable? Yes відзначає саме вразливість, якою можливо скористатись. Відповідно де вказно No, це просто недолік, на безпеку ніякого впливу немає.

На даному сайті, є вразливість Blind SQL InjectionVulnerability, тобто сліпа ін'єкція. Використання її призводить до атаки на базу даних. Метод заключається в підміні значень, в адресній строчці браузера, допоки не відобразитьсяпотрібне для зловмисника значення. Якщо веб-двигун був налаштованийневірно, та користувач від імені веб-двигуна має привілеї на бази даних адміністратора, зловмисник може отримати всі паролі.

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

Nessus

ПроектNessusбув заснованийв 1998році.

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

· Наявністьвразливихверсійслужбабодоменів

· Помилкивконфігурації(наприклад, відсутність необхідностіавторизаціїнаSMTP-сервері)

· Наявністьпаролівза замовчуванням, порожніх, абослабкихпаролів

Програма маєклієнт-серверну архітектуру, щосильнорозширюєможливостісканування. Відповідно до проведеногопорталомsecuritylab.ruопитуванням, nessusвикористовують17% респондентів

Плагіни

Відмінна риса Nessus - розумні плагіни. Сканер ніколи не буде сканувати сервіс тільки за номером його порту. Перемістивши веб-сервер зі стандартного 80-го порту, скажімо, на 1234-й, обдурити Nessus не вдасться - він це визначить. Якщо на FTP-сервері відключений анонімний користувач, а частина плагінів використовують його для перевірки, то сканер не буде їх запускати, усвідомивши, що результату від них не буде. Якщо плагін експлуатує уразливість в Postfix, Nessus не буде пробувати тести проти Sendmail - і т.д. Зрозуміло, що для виконання перевірок на локальній системі, необхідно надати сканеру Credentials (логіни і паролі для доступу) - це завершальна частина налаштування правил.

Установка програми

dpkg -i Nessus-5.2.5-debian6_i386.deb

після чого активуємо службу Nessus

/etc/init.d/nessusd start

Використання

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

Базавразливостейоновлюєтьсящотижня, однакдлякомерційнихпередплатниківє можливістьзавантажуватиновіплагінибезсемиденноїзатримки.

Привідключеній опції«safe checks» деякі тестинауразливості, використовуваніNessusможутьпривестидо порушеньвроботісканованихсистем.

Управліннясканеромздійснюєтьсячерезвеб-інтерфейс. Щоб тудипотрапити, введітьвадресномурядкубраузераhttps://127.0.0.1:8834. Тутбуде потрібностворитиаккаунтадміністратора, вказавшилогініпароль. Нанаступному кроцінеобхідноввестикодактивації, якийприйденавашуелектроннупошту, вказанунасайтівиробникаприреєстрації. Завершальноюстадієюустановкиє завантаженняплагінів.

ДлязбереженнярезультатівскануваннявбазіданихМетасплойта, необхіднодо неїпідключитися

db_connect <user:pass>@<host:port>/<database>

Тепернампотрібнодовантажитиплагінnessus:

load nessus

Рис. 32. Nessus і Metasploit.

іпідключитисядо сервераNessus

nessus_connect username:password@hostname:port

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

Робота з веб-інтерфейсом

Перш за все, потрібно створити політики - це правила, за якими буде здійснено сканування. Таких політик в програмі є декілька. Деякі з них не доступні з безплатної версії. Проте, загальновживані присутні.

Найбільш вагомою є Політика тестування веб-додатків.

Рис. 33. Політики.

Вона має можливість сканування веб-додатків на різній «глибині».

Рис. 34. «Глибина» пошуку.

Після створення необхідних політик, можна створювати нове сканування.

Рис. 35. Нове сканування.

Є можливість сканування одразу декількох серверів, комп'ютерів, тощо.

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

Тут на допомогу стає створення графіку сканування.

Завершене сканування має наступний вигляд

Рис. 36. Результат сканування.

Більш детальний перегляд

Рис. 37. Більш детальний результат сканування.

Відмінною особливістю сканера є рекомендації по усуненню вразливостей

Рис. 38. Рекомендації.

Завершальниметапомє імпортзбереженихрезультатівскануваннявбазуданихMetasploit

db_import `/root/Desktop/nessus_report_PentestIT_Веб.nessus'


Подобные документы

  • Ключові можливості та сумісність віртуальних тестових машин. VirtualBox в Ubuntu, BackTrack. Поточний стан та опис даної технології. Налаштування спільних папок. Встановлення віртуального тестового сервера, віддалене керування. Тестування на надійність.

    курсовая работа [3,7 M], добавлен 24.05.2015

  • Види віртуальних тестових машин, їх ключові можливості, сумісність c операційними системами. Процес установки гостьових ОС BackTrack і FreeBSD. Встановлення серверного програмного забезпечення. Тестування веб-сервера і засобів віддаленого управління.

    дипломная работа [3,5 M], добавлен 22.07.2015

  • Налаштування Internеt Explorer. Конфігурація мереженого інтерфейсу. Встановлення DNS-сервера, asminpak.msi, налаштування TCP/IP. Встановлення DHCP-сервера. Віддалене управління через термінал. Створення користувачів і груп та загальних каталогів.

    реферат [991,7 K], добавлен 16.06.2010

  • Аналіз існуючих автоматизованих систем управління тестуванням. Розробка алгоритму автоматизованого управління системою тестування працездатності радіоелектронних приладів. Аналіз стенда для тестування та розробка автоматизованого робочого місця.

    дипломная работа [1,9 M], добавлен 08.05.2012

  • Інсталяція системи віртуальних машин. Установка ліцензії на використання VMware. Перший сеанс роботи на віртуальному комп’ютері. Застосування системи VMware, виділення оперативної пам’яті, конфігураційні параметри. Встановлення віртуальної Windows Xp.

    курсовая работа [4,2 M], добавлен 25.12.2013

  • Використання мережі із топологією "розподілена зірка", витої пари та концентраторів (для сполучення), мережевої карти із роз'ємами типу RG-45, встановлення операційної системи та монтаж мережі комп'ютерної лабораторії із підключенням до Інтернету.

    контрольная работа [1,0 M], добавлен 12.06.2010

  • История и основные сведения о сервере. Классификация и ресурсы серверов. Важность системы охлаждения для сервера. Выбор компонентов для сборки сервера. Основные неисправности и способы их устранения. Проведение технического обслуживания и ремонта сервера.

    дипломная работа [2,1 M], добавлен 24.06.2015

  • Организация корпоративного файлового сервера, выполняющего функции прокси-сервера на базе ОС Linux. Процесс его реализации. Выбор оптимальной аппаратно-программной платформы. Расчёт сметы затрат на выполнение объёма работ по созданию FTP-сервера.

    дипломная работа [2,0 M], добавлен 06.07.2012

  • Основні способи тестування роботи паралельної системи. Функціональне тестування та тестування загальної швидкості. Способи організації та налаштування кластера. Програма для створення віртуальних операційних систем шляхом виділення ресурсів комп'ютера.

    лабораторная работа [3,4 M], добавлен 02.06.2011

  • Вибір технології для створення системи управління контентом. Можливості платформи Node.JS. Опис framework Express, який використовується для створення каркасу додатку. База даних MongoDB. Опис компонентів і проектних рішень. Взаємодія клієнта та сервера.

    курсовая работа [5,2 M], добавлен 29.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.