Статьи

Сканування портів комп'ютера

  1. Сканування портів комп'ютера Регулярно в форумах, і не тільки в них, піднімається питання - «Мене...
  2. Сканування портів комп'ютера
  3. Сканування портів комп'ютера

Сканування портів комп'ютера

Регулярно в форумах, і не тільки в них, піднімається питання - «Мене сканують! Що мені робити? »Причиною виникнення даного питання є модулі детектування атак, які розробники персональних файрволов вбудовують в свої продукти. Наскільки взагалі небезпечно дане явище, чого намагається досягти атакуючий, і чи була власне атака? Для того, щоб зрозуміти це, спробуємо спочатку розібратися - що таке порти, що таке сканування цих портів і яким чином виконується проникнення в систему через мережу.

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

Для початку - що таке порт. Порт - це поле в tcp- або udp-пакеті, що ідентифікує додаток-одержувача (і відправника, в пакеті цих полів два) пакета.

Формат пакета даних TCP-протоколу: Формат пакета даних TCP-протоколу:

Формат пакета даних UDP протоколу: Формат пакета даних UDP протоколу:

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

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

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

З якою метою виконується сканування портів? А ось з цією метою і виконується - визначити, які порти цільового хоста (хост - вузол мережі, будь-яка система, яка бере участь в мережевому обміні) закріплені за додатками. Сканування є підготовча операція, розвідка периметра. Після того, як буде складено список активних ( «відкритих») портів, почнеться з'ясування - які саме додатки використовують ці порти.

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

Яким чином виконується атака? Як правило - для цього використовуються уразливості мережевих сервісів (мережевий сервіс - додаток, яке обслуговує запити з мережі). Експлуатація уразливості сервісу заснована на посилці йому пакета даних, сформованого таким чином, що наше додаток обробить його некоректно і його штатна робота буде порушена. Наслідки - припинення обслуговування сервісом правильних запитів (DoS - denial of service, відмова в обслуговуванні), або виконання сервісом дій, які він виконувати не повинен (наприклад, Remote Code Execution - можливість зловмиснику запустити шкідливий код на цілі).

Які сервіси можуть бути атаковані таким чином? Чи означає це, що якщо Ви запустили браузер, то його можуть атакувати з мережі? Ні. Атакувати подібним чином можна «серверні» програми - тобто ті, які слухають мережу і чекають підключення клієнтів ззовні. Браузер сам є клієнтським додатком, в загальному випадку він не приймає підключень, тому таким чином атакований бути не може. Остерігатися слід, якщо на Вашому комп'ютері запущено FTP-сервер, HTTP-сервер і так далі.

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

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

Якщо такі додатки є (наприклад, ви утримуєте у себе FTP-сервер), то тут теж практично немає сенсу напружуватися - ми адже добровільно виставили сервер в загальний доступ. Турбуватися варто на етапі планування сервера. Просто дотримуємося загальні рекомендації - використовувати найбільш нову версію сервера, не надавати користувачам більше прав, ніж їм потрібно, відключити непотрібні функції сервера, по можливості - запускати сервер від імені обмеженого користувача. Також можливе використання систем виявлення вторгнень (IDS, Intrusion Detection System), проте їх використання виходить за рамки даного матеріалу. Зауважимо тільки, що такі системи засновані на відстежуванні звернень до мережевих сервісів ззовні, і визначенні потенційно небезпечних запитів за деякими критеріями. Приклад такої системи - SNORT (www.snort.org) .

А чи була атака? Ще один часто задається питання звучить приблизно так: «Чому, коли я підключаюся до FTP-сервера, файрвол починає скаржитися на сканування з боку FTP-сервера?» Типовий приклад помилкового спрацьовування. Розглянемо, як працює FTP-протокол. В FTP-протоколі використовується не одне з'єднання, а два - одне з них управляє, друге безпосередньо передає дані. Перше (управляє) відкриває клієнт - він підключається на порт 21 сервера. Друге підключення залежить від режиму роботи клієнта. Якщо клієнт в активному режимі, то він передає серверу номер порту, на який сервер повинен підключитися, щоб відкрити з'єднання для передачі даних. У пасивному сервер говорить клієнту, на який порт клієнт повинен підключатися, щоб відкрити з'єднання для передачі даних.

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

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

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

Обговорення даного питання в форумі .

Сканування портів комп'ютера

Регулярно в форумах, і не тільки в них, піднімається питання - «Мене сканують! Що мені робити? »Причиною виникнення даного питання є модулі детектування атак, які розробники персональних файрволов вбудовують в свої продукти. Наскільки взагалі небезпечно дане явище, чого намагається досягти атакуючий, і чи була власне атака? Для того, щоб зрозуміти це, спробуємо спочатку розібратися - що таке порти, що таке сканування цих портів і яким чином виконується проникнення в систему через мережу.

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

Для початку - що таке порт. Порт - це поле в tcp- або udp-пакеті, що ідентифікує додаток-одержувача (і відправника, в пакеті цих полів два) пакета.

Формат пакета даних TCP-протоколу: Формат пакета даних TCP-протоколу:

Формат пакета даних UDP протоколу: Формат пакета даних UDP протоколу:

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

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

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

З якою метою виконується сканування портів? А ось з цією метою і виконується - визначити, які порти цільового хоста (хост - вузол мережі, будь-яка система, яка бере участь в мережевому обміні) закріплені за додатками. Сканування є підготовча операція, розвідка периметра. Після того, як буде складено список активних ( «відкритих») портів, почнеться з'ясування - які саме додатки використовують ці порти.

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

Яким чином виконується атака? Як правило - для цього використовуються уразливості мережевих сервісів (мережевий сервіс - додаток, яке обслуговує запити з мережі). Експлуатація уразливості сервісу заснована на посилці йому пакета даних, сформованого таким чином, що наше додаток обробить його некоректно і його штатна робота буде порушена. Наслідки - припинення обслуговування сервісом правильних запитів (DoS - denial of service, відмова в обслуговуванні), або виконання сервісом дій, які він виконувати не повинен (наприклад, Remote Code Execution - можливість зловмиснику запустити шкідливий код на цілі).

Які сервіси можуть бути атаковані таким чином? Чи означає це, що якщо Ви запустили браузер, то його можуть атакувати з мережі? Ні. Атакувати подібним чином можна «серверні» програми - тобто ті, які слухають мережу і чекають підключення клієнтів ззовні. Браузер сам є клієнтським додатком, в загальному випадку він не приймає підключень, тому таким чином атакований бути не може. Остерігатися слід, якщо на Вашому комп'ютері запущено FTP-сервер, HTTP-сервер і так далі.

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

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

Якщо такі додатки є (наприклад, ви утримуєте у себе FTP-сервер), то тут теж практично немає сенсу напружуватися - ми адже добровільно виставили сервер в загальний доступ. Турбуватися варто на етапі планування сервера. Просто дотримуємося загальні рекомендації - використовувати найбільш нову версію сервера, не надавати користувачам більше прав, ніж їм потрібно, відключити непотрібні функції сервера, по можливості - запускати сервер від імені обмеженого користувача. Також можливе використання систем виявлення вторгнень (IDS, Intrusion Detection System), проте їх використання виходить за рамки даного матеріалу. Зауважимо тільки, що такі системи засновані на відстежуванні звернень до мережевих сервісів ззовні, і визначенні потенційно небезпечних запитів за деякими критеріями. Приклад такої системи - SNORT (www.snort.org) .

А чи була атака? Ще один часто задається питання звучить приблизно так: «Чому, коли я підключаюся до FTP-сервера, файрвол починає скаржитися на сканування з боку FTP-сервера?» Типовий приклад помилкового спрацьовування. Розглянемо, як працює FTP-протокол. В FTP-протоколі використовується не одне з'єднання, а два - одне з них управляє, друге безпосередньо передає дані. Перше (управляє) відкриває клієнт - він підключається на порт 21 сервера. Друге підключення залежить від режиму роботи клієнта. Якщо клієнт в активному режимі, то він передає серверу номер порту, на який сервер повинен підключитися, щоб відкрити з'єднання для передачі даних. У пасивному сервер говорить клієнту, на який порт клієнт повинен підключатися, щоб відкрити з'єднання для передачі даних.

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

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

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

Обговорення даного питання в форумі .

Сканування портів комп'ютера

Регулярно в форумах, і не тільки в них, піднімається питання - «Мене сканують! Що мені робити? »Причиною виникнення даного питання є модулі детектування атак, які розробники персональних файрволов вбудовують в свої продукти. Наскільки взагалі небезпечно дане явище, чого намагається досягти атакуючий, і чи була власне атака? Для того, щоб зрозуміти це, спробуємо спочатку розібратися - що таке порти, що таке сканування цих портів і яким чином виконується проникнення в систему через мережу.

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

Для початку - що таке порт. Порт - це поле в tcp- або udp-пакеті, що ідентифікує додаток-одержувача (і відправника, в пакеті цих полів два) пакета.

Формат пакета даних TCP-протоколу: Формат пакета даних TCP-протоколу:

Формат пакета даних UDP протоколу: Формат пакета даних UDP протоколу:

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

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

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

З якою метою виконується сканування портів? А ось з цією метою і виконується - визначити, які порти цільового хоста (хост - вузол мережі, будь-яка система, яка бере участь в мережевому обміні) закріплені за додатками. Сканування є підготовча операція, розвідка периметра. Після того, як буде складено список активних ( «відкритих») портів, почнеться з'ясування - які саме додатки використовують ці порти.

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

Яким чином виконується атака? Як правило - для цього використовуються уразливості мережевих сервісів (мережевий сервіс - додаток, яке обслуговує запити з мережі). Експлуатація уразливості сервісу заснована на посилці йому пакета даних, сформованого таким чином, що наше додаток обробить його некоректно і його штатна робота буде порушена. Наслідки - припинення обслуговування сервісом правильних запитів (DoS - denial of service, відмова в обслуговуванні), або виконання сервісом дій, які він виконувати не повинен (наприклад, Remote Code Execution - можливість зловмиснику запустити шкідливий код на цілі).

Які сервіси можуть бути атаковані таким чином? Чи означає це, що якщо Ви запустили браузер, то його можуть атакувати з мережі? Ні. Атакувати подібним чином можна «серверні» програми - тобто ті, які слухають мережу і чекають підключення клієнтів ззовні. Браузер сам є клієнтським додатком, в загальному випадку він не приймає підключень, тому таким чином атакований бути не може. Остерігатися слід, якщо на Вашому комп'ютері запущено FTP-сервер, HTTP-сервер і так далі.

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

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

Якщо такі додатки є (наприклад, ви утримуєте у себе FTP-сервер), то тут теж практично немає сенсу напружуватися - ми адже добровільно виставили сервер в загальний доступ. Турбуватися варто на етапі планування сервера. Просто дотримуємося загальні рекомендації - використовувати найбільш нову версію сервера, не надавати користувачам більше прав, ніж їм потрібно, відключити непотрібні функції сервера, по можливості - запускати сервер від імені обмеженого користувача. Також можливе використання систем виявлення вторгнень (IDS, Intrusion Detection System), проте їх використання виходить за рамки даного матеріалу. Зауважимо тільки, що такі системи засновані на відстежуванні звернень до мережевих сервісів ззовні, і визначенні потенційно небезпечних запитів за деякими критеріями. Приклад такої системи - SNORT (www.snort.org) .

А чи була атака? Ще один часто задається питання звучить приблизно так: «Чому, коли я підключаюся до FTP-сервера, файрвол починає скаржитися на сканування з боку FTP-сервера?» Типовий приклад помилкового спрацьовування. Розглянемо, як працює FTP-протокол. В FTP-протоколі використовується не одне з'єднання, а два - одне з них управляє, друге безпосередньо передає дані. Перше (управляє) відкриває клієнт - він підключається на порт 21 сервера. Друге підключення залежить від режиму роботи клієнта. Якщо клієнт в активному режимі, то він передає серверу номер порту, на який сервер повинен підключитися, щоб відкрити з'єднання для передачі даних. У пасивному сервер говорить клієнту, на який порт клієнт повинен підключатися, щоб відкрити з'єднання для передачі даних.

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

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

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

Обговорення даного питання в форумі .

Сканування портів комп'ютера

Регулярно в форумах, і не тільки в них, піднімається питання - «Мене сканують! Що мені робити? »Причиною виникнення даного питання є модулі детектування атак, які розробники персональних файрволов вбудовують в свої продукти. Наскільки взагалі небезпечно дане явище, чого намагається досягти атакуючий, і чи була власне атака? Для того, щоб зрозуміти це, спробуємо спочатку розібратися - що таке порти, що таке сканування цих портів і яким чином виконується проникнення в систему через мережу.

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

Для початку - що таке порт. Порт - це поле в tcp- або udp-пакеті, що ідентифікує додаток-одержувача (і відправника, в пакеті цих полів два) пакета.

Формат пакета даних TCP-протоколу: Формат пакета даних TCP-протоколу:

Формат пакета даних UDP протоколу: Формат пакета даних UDP протоколу:

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

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

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

З якою метою виконується сканування портів? А ось з цією метою і виконується - визначити, які порти цільового хоста (хост - вузол мережі, будь-яка система, яка бере участь в мережевому обміні) закріплені за додатками. Сканування є підготовча операція, розвідка периметра. Після того, як буде складено список активних ( «відкритих») портів, почнеться з'ясування - які саме додатки використовують ці порти.

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

Яким чином виконується атака? Як правило - для цього використовуються уразливості мережевих сервісів (мережевий сервіс - додаток, яке обслуговує запити з мережі). Експлуатація уразливості сервісу заснована на посилці йому пакета даних, сформованого таким чином, що наше додаток обробить його некоректно і його штатна робота буде порушена. Наслідки - припинення обслуговування сервісом правильних запитів (DoS - denial of service, відмова в обслуговуванні), або виконання сервісом дій, які він виконувати не повинен (наприклад, Remote Code Execution - можливість зловмиснику запустити шкідливий код на цілі).

Які сервіси можуть бути атаковані таким чином? Чи означає це, що якщо Ви запустили браузер, то його можуть атакувати з мережі? Ні. Атакувати подібним чином можна «серверні» програми - тобто ті, які слухають мережу і чекають підключення клієнтів ззовні. Браузер сам є клієнтським додатком, в загальному випадку він не приймає підключень, тому таким чином атакований бути не може. Остерігатися слід, якщо на Вашому комп'ютері запущено FTP-сервер, HTTP-сервер і так далі.

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

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

Якщо такі додатки є (наприклад, ви утримуєте у себе FTP-сервер), то тут теж практично немає сенсу напружуватися - ми адже добровільно виставили сервер в загальний доступ. Турбуватися варто на етапі планування сервера. Просто дотримуємося загальні рекомендації - використовувати найбільш нову версію сервера, не надавати користувачам більше прав, ніж їм потрібно, відключити непотрібні функції сервера, по можливості - запускати сервер від імені обмеженого користувача. Також можливе використання систем виявлення вторгнень (IDS, Intrusion Detection System), проте їх використання виходить за рамки даного матеріалу. Зауважимо тільки, що такі системи засновані на відстежуванні звернень до мережевих сервісів ззовні, і визначенні потенційно небезпечних запитів за деякими критеріями. Приклад такої системи - SNORT (www.snort.org) .

А чи була атака? Ще один часто задається питання звучить приблизно так: «Чому, коли я підключаюся до FTP-сервера, файрвол починає скаржитися на сканування з боку FTP-сервера?» Типовий приклад помилкового спрацьовування. Розглянемо, як працює FTP-протокол. В FTP-протоколі використовується не одне з'єднання, а два - одне з них управляє, друге безпосередньо передає дані. Перше (управляє) відкриває клієнт - він підключається на порт 21 сервера. Друге підключення залежить від режиму роботи клієнта. Якщо клієнт в активному режимі, то він передає серверу номер порту, на який сервер повинен підключитися, щоб відкрити з'єднання для передачі даних. У пасивному сервер говорить клієнту, на який порт клієнт повинен підключатися, щоб відкрити з'єднання для передачі даних.

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

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

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

Обговорення даного питання в форумі .

Що мені робити?
Наскільки взагалі небезпечно дане явище, чого намагається досягти атакуючий, і чи була власне атака?
Що з цього випливає?
З якою метою виконується сканування портів?
Яким чином виконується атака?
Які сервіси можуть бути атаковані таким чином?
Чи означає це, що якщо Ви запустили браузер, то його можуть атакувати з мережі?
Що мені робити, якщо мій файрвол рапортує про скануванні?
А чи була атака?
Ще один часто задається питання звучить приблизно так: «Чому, коли я підключаюся до FTP-сервера, файрвол починає скаржитися на сканування з боку FTP-сервера?

Новости