Защита от сканирования портов

основные черты

Nmap это полностью бесплатная утилита с открытым исходным кодом, она позволяет нам обнаруживать сети и хосты, а также проводить аудит безопасности. Эта программа совместима с Linux, Windows и операционные системы macOS, но во всех они используются через командную строку, хотя у нас есть возможность установки ZenMap, это графическая утилита Nmap для сканирования портов через графический интерфейс пользователя. Если вы не хотите сражаться с командами через консоль, этот графический пользовательский интерфейс может быть полезен на первых этапах работы с этой замечательной программой, однако, когда у вас будет больше опыта, вы обязательно будете выполнять все команды прямо из терминала.

Nmap позволяет нам обнаруживать хосты в локальной сети, а также через Интернет, таким образом мы можем узнать, есть ли эти хосты (компьютеры, серверы, маршрутизаторы, коммутаторы, IoT устройства) в данный момент подключены к Интернету или локальной сети. Этот инструмент также позволяет нам выполнять сканирование портов на разных хостах, видеть, какие службы у нас активны на указанных хостах, благодаря тому, что он сообщает нам статус их портов, мы можем знать, какую операционную систему использует определенный компьютер. , и мы даже можем автоматизировать различные тесты на проникновение, чтобы проверить безопасность оборудования.

Nmap имеет разные типы сканирования портов, они могут быть через сегменты TCP, дейтаграммы UDP или пакеты ICMP, кроме того, он позволяет выполнять сканирование скрытым образом, чтобы их было трудно обнаружить брандмауэрами. Конечно, мы сможем выполнять сканирование портов на определенных конкретных портах, между диапазонами портов, диапазонами IP-адресов, возможность использования пакетов TCP null, FIN, Xmas и ACK в дополнение к SYN для обнаружения открытых портов TCP.

Другие функции, которые предлагает нам этот инструмент, — это возможность провести полную инвентаризацию сети и даже проверить, работает ли определенный хост или служба. Эта программа была разработана для сканирования большого количества хостов, поэтому, если вам нужно сканировать несколько целей, у вас не возникнет проблем. Эта программа очень гибкая, она включает в себя десятки передовых методов сканирования хостов и портов, кроме того, она также позволяет проводить аудит через NSE (Nmap Search Engine), поэтому она действительно эффективна.

Nmap имеет различные состояния портов, которые появятся при сканировании портов

Важно знать, что означает каждое состояние Nmap, потому что при любом сканировании портов он будет возвращать разные состояния

Статус порта с Nmap

  • Откройте — Приложение активно принимает соединения TCP или UDP. Порт открыт и может использоваться, пентестеры смогут использовать этот открытый порт для эксплуатации системы. Это состояние по умолчанию, если у нас нет брандмауэра, блокирующего доступ.
  • Закрыто : Закрытый порт доступен, потому что он отвечает на Nmap, однако на этом порту нет запущенных приложений. Это полезно для обнаружения того, что хост включен, или как часть обнаружения операционной системы. Системному администратору рекомендуется отфильтровать эти порты с помощью брандмауэра, чтобы они были недоступны. Что касается пентестера, то желательно оставить эти порты «закрытыми» для анализа в дальнейшем, на случай, если они поставят новую услугу.
  • Отфильтрованный : В этом состоянии Nmap не может определить, открыт ли порт, потому что на этом порту есть брандмауэр, фильтрующий пакеты Nmap. Эти отфильтрованные порты появятся, когда у нас будет активирован брандмауэр. Nmap будет неоднократно пытаться подключиться, что значительно замедляет сканирование портов.
  • Открыть | Отфильтрованный : Nmap не знает, открыт порт или отфильтрован. Это происходит потому, что открытый порт не отправляет никакого ответа, и это отсутствие ответа может быть от брандмауэра. Этот статус появляется, когда мы используем UDP и IP, и мы используем сканирование FIN, NULL и Xmas.
  • Закрыто | Отфильтрованный : в этом состоянии неизвестно, закрыт порт или фильтруется. Это состояние используется только при сканировании простоя IP.

После того, как мы увидели основные функции Nmap и состояние доступных портов, мы собираемся установить и использовать его.

Цели сканирования портов

Сканирование портов позволяет узнать:

  • состояние портов (открыты, закрыты или защищены брандмауэром);
  • перечень запущенных на портах служб;
  • тип устройства, семейство ОС.

Злоумышленники используют эту информацию для подготовки атаки. В частности, для проникновения они могут воспользоваться уязвимостями в доступных извне сетевых службах, операционной системе устройства и так далее.

Специалисты по безопасности используют эту информацию для совершенствования защиты ресурсов организации. Так, по результатам сканирования можно поместить уязвимые службы за брандмауэр и закрыть ненужные порты.

Обнаружение хостов

Как, мы видим из справки Nmap первым пунктом идет обнаружение хостов. Само по себе это понятие довольно широкое, и состоит из первоначального обнаружения активных IP адресов. Этот этап ещё принято называть пинг сканированием. Тут нужно понимать что можно сканировать как, всем привычными, ICMP запросами, так и комбинируя их с TCP, UDP и ARP запросами. Обнаружив хост Nmap автоматически просканирует его порты если не задан параметр отменяющий это действие.

Опции Nmap для обнаружения хостов:

-sL Сканирование с целью составления списка.При выборе данной опции будет перечислен весь диапазона IP адресов в сети с присвоенными им именами (если такие есть). В конце списка будет отображено общее количество найденных IP. Если в качестве цели будет задано доменное имя то будет показан IP и его Reverse DNS.

-sP Пинг сканирование.Эта опция определяет активные хосты т.е. те которые отвечают на запросы и выводит их список. Если запустить эту опцию с правами root, то, также будут задействованы ARP запросы. Благодаря этому мы узнаем mac-адреса работающих устройств в сети.

  • -PnПропустить пинг сканирование. При использовании этой опции Nmap будет считать, что все IP в исследуемой сети активны и будет сканировать весь диапазон IP адресов, в том числе все порты на каждом IP.
  • -PS / -PA / -PUЭто команды для получения списка портов. Разница только в пакетах, которые будут отправлены хосту: PS — это TCP SYN, PA — это TCP ACK. Принципиальной разницы на самом деле нет. Но если есть вероятность, что соединение блокируется брандмауэр, лучше использовать TCP ACK. Ну, а PU (нужен root) — это UDP пингование. Используется для получения ICMP пакета с ошибкой «порт недостежим». Все остальные ошибки, в том числе отсутствие ответа говорят о том что хост не работает.В дополнение к указанным опциям можно указать какие именно типы ICMP пакетов использовать. Делается это опциями -PE; -PP; -PM — это эхо запрос, запрос временной метки и запрос адресной маски соответственно. Останавливаться отдельно на них не буду потому что такие запросы с большой долей вероятности будут заблокированы хостом или брандмауэром.

-PO Команда для получения списка протоколов пингованием с использованием IP протокола (для запуска необходим root). В этом случае должны приходить ответы по протоколу указанному в запросе. Это означает что протокол активен. Если приходит ответ что хост не достижим, это даёт понять, что протокол не поддерживается.

-PRЭто ARP пингование. Наиболее оптимальный способ сканирования, позволяющий определить активные хосты, службы и порты ими использующиеся (для запуска необходим root).

—traceroute Опция позволяющая выполнить трасировку т.е. отследить путь к хосту. Она применяется вместе с любым видом сканирования и работает на основании данных полученных в результате него (для запуска необходим root)

Метод сканирования портов

Метод сканирования портов Nmap
Параметры Объяснение
-T Варианты сроков
-p Порядок сканирования портов
-sS TCP SYN сканирование
-sT Сканирование TCP-соединения
-sU UDP сканирование
-sN;-sF;-sX Скрытое сканирование: не подходит для windows
-sA TCP ACK сканирование
-sW Сканирование окна TCP
-sM TCP Maimon сканирование
—scanflags Пользовательское сканирование TCP
-sI Сканирование в режиме ожидания
-sO Сканирование протокола IP
-b Сканирование отказов FTP

Вариант синхронизации: -T

Используйте -T (0-5) в Nmap для включения параметров синхронизации:

-T0(Параноик): очень медленное сканирование, используется для уклонения от IDS

-T1(Подлый): медленное сканирование, используется для уклонения от IDS.

-T2(Нежный): уменьшите скорость, чтобы уменьшить потребление ленточной библиотеки, которая обычно не используется

-T3(обычный):по умолчанию, Автоматическая регулировка времени в соответствии с ответом цели

-T4(Savage): быстрое сканирование,Общие методы сканирования, Нужно сканировать в хорошей сети

-T5(Сумасшедший): сканирование на предельной скорости, точность в жертву увеличивается.

Укажите диапазон сканирования портов: -p

Укажите один порт: nmap -p 445

Укажите диапазон портов: nmap -p 1-65535

-FПараметры можно сканировать через 1000 общих портов, настроенных Nmap по умолчанию.

Обход брандмауэров / IDS

Вопрос обхода средств защиты и фильтрации очень обширен и неоднозначен. Всякие системы обнаружения вторжений постоянно развиваются и совершенствуются. Поэтому ты должен понимать что не существует какого-то волшебного рецепта или единого алгоритма обхода брандмауэра или других средств защиты. Каждая новая ситуация в чём-то уникальна, а потому здесь в большей степени решает прямота рук, а в ещё большей опыт и навыки. Но это статья не про это, а про Nmap. Разработчики позаботились о нас и включили в состав программы компоненты позволяющие обмануть средства защиты:

  • -f Фрагментация пакетов. При включении этой опции Nmap при всех видах сканирования будет использовать небольшие фрагментированные IP пакеты. Это означает что TCP заголовок будет разбит на части, и эти части будут посылаться цели в различных пакетах. В такой ситуации есть вероятность что фильтр просто не поймёт что мы хотим сделать, а соответственно не будет реагировать. По-умолчанию Nmap разбивает пакеты на части по 8 байт. Это значение можно задать в ручную используя опцию —mtu (размер должен быть кратным 8)
  • -D фиктивный_хост1,фиктивный_хост2,фиктивный_хост3,ME,фиктивный_хост5Сканирование с использованием фиктивных хостов. Для цели это будет выглядеть как-будто её сканируют все перечисленные тобой хосты, при этом довольно трудно будет понять откуда происходило настоящее сканирование. Фиктивные хосты нужно указывать через запятую, без пробелов. Параметром ME можно задать каким в списке будет твой настоящий адрес. Если этот параметр не указывать Nmap поставит его рандомно.

  • —data-length числоЭта опция добавит к пакету заданное количество байт. Иногда позволяет запутать системы фильтрации
  • —spoof-mac MAC-адресПодмена mac-адреса. В качестве значения можно указать желаемый mac-адрес. Если указать 0 — будет сгенерирован рандомный mac. Также можно указать префикс или название производителя (список префиксов производителей есть в файле nmap-mac-prefixes в папке программы) тогда Nmap будет использовать префикс для первой части mac-адреса и рандомное значение для второй

Что такое открытый порт

Порт прослушивания – это сетевой порт, который прослушивает приложение. Вы можете просмотреть порты прослушивания в вашей системе, запросив сетевой стек с помощью таких команд, как ss, netstat или lsof. Каждый порт прослушивания может быть открыт или закрыт (отфильтрован) с помощью брандмауэра.

В общих чертах, открытый порт – это сетевой порт, который принимает входящие пакеты из удаленных мест.

Например, если вы используете веб-сервер, который прослушивает порты 80 и 443, то эти порты открыты на вашем брандмауэре, любой (кроме заблокированных ips) сможет получить доступ к веб-сайтам, размещенным на вашем веб-сервере, с помощью своего браузера. В этом случае оба 80 и 443 являются открытыми портами.

Открытые порты могут представлять угрозу безопасности, так как каждый открытый порт может использоваться злоумышленниками для использования уязвимости или выполнения любых других типов атак. Вы должны выставить только порты, необходимые для функциональности вашего приложения и закрыть все другие порты.

Проверьте открытые порты с nmap

Nmap – это мощный инструмент сетевого сканирования, который может сканировать отдельные узлы и большие сети. Он в основном используется для аудита безопасности и тестирования на проникновение.

Если доступно, nmapдолжен быть ваш первый инструмент, когда дело доходит до сканирования портов. Помимо сканирования портов nmap, также можно определить Mac-адрес, тип ОС , версии ядра и многое другое.

Следующая команда из консоли определяет, какие порты прослушивают TCP-соединения из сети:

sudo nmap -sT -p- 10.10.8.8

-sT Говорит nmap для сканирования TCP портов и -p-сканирование всех 65535 портов. Если -p-не используется nmap, будет сканироваться только 1000 портов.

Starting Nmap 7.60 ( https://nmap.org ) at 2019-07-09 23:10 CEST
Nmap scan report for 10.10.8.8
Host is up (0.0012s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 08:00:27:05:49:23 (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds

Вывод выше показывает, что только порты 22, 80 и 8069 открыты в целевой системе.

Для сканирования портов UDP используйте -uT вместо -sT:

sudo nmap -uT -p- 10.10.8.8

Для получения дополнительной информации посетите страницу руководства nmap и прочитайте обо всех других мощных опциях этого инструмента.

Что такое атаки со сканированием портов

Этот тип атаки также известен как сканирование портов . По сути, злоумышленник автоматически сканирует все порты компьютера, подключенного к сети, например компьютера. Они ищут возможные открытые порты, протоколы безопасности которых могут быть плохими.

Как только они получат всю возможную информацию, они смогут обнаружить возможные дыры в безопасности и таким образом проводят свои атаки. Они могли получать конфиденциальную информацию от пользователей, знать информацию об операционной системе своего компьютера и т. Д.

Это может быть очень важным точка входа для хакеров. Как мы говорим, оказавшись внутри сети, с этого компьютера они могут украсть информацию, получить доступ к паролям и, в конечном итоге, поставить под угрозу нашу конфиденциальность.

Киберпреступники могут использовать разные инструменты для обнаружения этих уязвимостей. Они также известны как сетевые анализаторы. Примером может быть TCPing, который запускается из Windows командная строка. Но есть и другие более сложные инструменты, такие как Nmap or Zenmap.

Имейте в виду, что существует 65,535 XNUMX портов TCP / IP. Каждый из них может выполнять разные функции. Также, как известно, многие из них могут быть открытыми. С помощью сканирования портов злоумышленник может узнать, какие порты открыты и есть ли какие-либо уязвимости, которые можно использовать. Это можно определить автоматически, анализируя каждый порт по очереди.

Сканер портов для Windows

Хотя в заголовок вынесено, что Angry IP Scanner это сканер портов для Windows, на самом деле это кроссплатформенный сканер, который прекрасно работает и на Linux, а также на Mac. Но в Linux есть Nmap — мощнейший сканер сети с множеством опций и дополнительных функций по получению информации о хостах в сети. Между прочим, Nmap также работает и в Windows и даже имеет графический интерфейс, но многим пользователям Windows трудно разобраться с командной строкой и многочисленными опциями Nmap, к тому же многим такое обилие функций просто не нужно (смотрите статью Сканер портов под Windows). Итак, Angry IP Scanner это простая и интуитивно понятная программа для поиска хостов и сканирования портов компьютеров, сайтов, серверов, телефонов и любых других онлайн устройств.

Определение служб, их версий и операционной системы

Как видно из скриншотов показанных выше Nmap определяет не только номер и состояние порта, но и службу которая на этом порту запущенна. Конечно, в большинстве случаев это достоверная информация, но есть хитрые системные администраторы, запускающие службы на нестандартных портах. К счастью Nmap даёт возможность определить действительно ли именно такая служба работает на найденном порту, а также получить дополнительную информацию, такую как имя хоста, имя приложения, номер версии, тип устройства и семейство ОС.

-sV Определение версий. Обнаружив порт Nmap начинает посылать на него соответствующие запросы, что бы определить какая именно служба этот порт использует. Для этого используется информация из базы данных nmap-service-probes (лежит в папке nmap), где содержаться запросы и и перечислены виды ответов на них, для распознавания соответствующих служб.

—version-intensityОпция устанавливающая интенсивность, определяет какие запросы будут использоваться при сканировании. Можно установить значение от 1 до 9. Чем ниже значение, тем быстрее пройдет сканирование. Чем выше — тем медленнее, но больше вероятность правильного определения службы. Если опция не указанна используется значение по умолчанию — 7, которого достаточно в большинстве случаев. Если есть желание использовать максимальную интенсивность, используй параметр —version-all, это гарантирует, что каждый единичный запрос будет направлен на каждый порт (и запасись терпением, это может занять какое-то время)

-OВключить режим определения ОС. При включении этой опции Nmap посылает несколько TCP и UDP пакетов на хост, а полученные результаты сравниваются с данными из файла nmap-os-db (лежит в папке nmap) и если обнаруживает совпадения, показывает ответ для какой ОС и какой её версии типично такое поведение. По этим же совпадениям Nmap попытается определить тип устройства и его производителя

Примечание:Я рассказал про параметры определения версий и ОС потому, что про них нужно знать и для полноты обзора, при этом на практике, в большинстве случаев, в место них лучше использовать опцию -А, которая сразу включает определение ОС, версий, трассировку и сканирование с использованием скриптов.

Методы сканирования портов

Когда дело доходит до сканирования портов, вы можете использовать различные методы в Nmap. Вот основные из них:

  • sS TCP SYN сканирование
  • sT TCP-соединение
  • sU UDP сканирование
  • SY SCTP INIT сканирование
  • sN TCP NULL

Новые пользователи будут пытаться решить большинство проблем с помощью сканирования SYN, но по мере развития ваших знаний вы также сможете использовать некоторые из этих других методов

Важно отметить, что вы можете использовать только один метод сканирования портов одновременно (хотя вы можете комбинировать сканирование SCTP и TCP вместе)

TCP SYN Scan

sS TCP SYN Scan

TCP SYN Scan это одна из самых быстрых техник сканирования портов в вашем распоряжении на Nmap. Вы можете сканировать тысячи портов в секунду в любой сети, которая не защищена брандмауэром.

Это также хорошая техника сканирования с точки зрения конфиденциальности потому что он не завершает TCP-соединения, которые привлекают внимание к вашей деятельности. Это работает, посылая пакет SYN и затем ожидая ответа

Подтверждение указывает на открытый порт, тогда как отсутствие ответа обозначает отфильтрованный порт. RST или сброс идентифицирует не прослушивающие порты.

TCP Connect Scan

sT TCP Connect Scan

TCP Connect Scan является основным альтернативным сканированием TCP, когда пользователь не может запустить сканирование SYN. В рамках сканирования TCP connect пользователь выполняет системный вызов connect для установления соединения с сетью. Вместо чтения пакетов ответов Nmap использует этот вызов для получения информации о каждой попытке подключения. Один из самых больших недостатков сканирования TCP-соединения заключается в том, что для определения открытых портов требуется больше времени, чем при сканировании SYN.

UDP Scan

sU UDP Scan

Если вы хотите запустить сканирование портов в службе UDP, то UDP-сканирование ваш лучший курс действий. UDP может использоваться для сканирования портов, таких как DNS, SNMP и DHCP в вашей сети

Это особенно важно, потому что они являются областью, которую злоумышленники обычно используют. При запуске сканирования UDP вы также можете запустить сканирование SYN одновременно

Когда вы запускаете сканирование UDP, вы отправляете пакет UDP на каждый целевой порт. В большинстве случаев вы отправляете пустой пакет (кроме портов, таких как 53 и 161). Если вы не получите ответ после передачи пакетов, то порт классифицируется как открытый.

Сканирование порта SCTP INIT

sY SCTP INIT Scan

Сканирование порта SCTP INIT охватывает службы SS7 и SIGTRAN и предлагает комбинацию протоколов TCP и UDP. Как и Syn Scan, SCTP INIT Scan невероятно быстр, способен сканировать тысячи портов каждую секунду. Это также хороший выбор, если вы хотите сохранить конфиденциальность, поскольку он не завершает процесс SCTP. Это сканирование работает, отправляя блок INIT и ожидая ответа от цели. Ответ с другим чанком INIT-ACK идентифицирует открытый порт, тогда как чек ABORT указывает не прослушивающий порт. Порт будет помечен как фильтр, если ответ не получен после нескольких повторных передач.

TCP NULL Scan

sN TCP NULL Scan

TCP NULL сканирование это одна из самых хитрых техник сканирования в вашем распоряжении. Это работает, используя лазейку в TCP RFC, которая обозначает открытые и закрытые порты. По сути, любой пакет, который не содержит биты SYN, RST или ACK, будет запрашивать ответ с возвращенным RST, если порт закрыт, и нет ответа, если порт открыт. Самым большим преимуществом сканирования TCP NULL является то, что вы можете ориентироваться в фильтрах маршрутизаторов и межсетевых экранах. Несмотря на то, что они являются хорошим выбором для скрытности, они все же могут быть обнаружены системами обнаружения вторжений (IDS).

Как заблокировать сканер портов в MikroTik

Первой самой распространённой привычкой системных администраторов для удаленного доступа это изменения порта. 3389 можно изменить на 34561, стандартный порт web интерфейса шлюза с 80 на 1412 и ручной перебор при попытке доступа станет вечным.

Наличие утилит типа NMAP решает эту задачу в течении 2 минут. Держать высокую планку защиты сети поможет несколько правило в Firewall-е.

Настройка находится в IP->Firewall

/ip firewall filter
add action=drop chain=input comment="Drop - port scanners" src-address-list=\
Port-Scanners
add action=drop chain=forward comment="Drop - port scanners" \
src-address-list=Port-Scanners
add action=add-src-to-address-list address-list=Port-Scanners \
address-list-timeout=2w chain=input comment="Scan - Scan Ports" protocol=\
tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list=Port-Scanners \
address-list-timeout=2w chain=input comment=\
"Scan - NMAP FIN Stealth scan" protocol=tcp tcp-flags=\
fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list=Port-Scanners \
address-list-timeout=2w chain=input comment="Scan - SYN/FIN scan" \
protocol=tcp tcp-flags=fin,syn
add action=add-src-to-address-list address-list=Port-Scanners \
address-list-timeout=2w chain=input comment="Scan - SYN/RST scan" \
protocol=tcp tcp-flags=syn,rst
add action=add-src-to-address-list address-list=Port-Scanners \
address-list-timeout=2w chain=input comment="Scan - FIN/PSH/URG scan" \
protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list=Port-Scanners \
address-list-timeout=2w chain=input comment="Scan - ALL/ALL scan" \
protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list=Port-Scanners \
address-list-timeout=2w chain=input comment="Scan - NMAP NULL scan" \
protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg

значения Timeout:

  • 14d 00:00:00;
  • none dynamic – будет находиться в address list до перезагрузки роутера;
  • none static – постоянная запись(сохраняется в конфигурации).

По результатам работы сканера создаются записи в Address Lists, которым запрещен доступ в цепочке input на 14 дней.

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Есть вопросы или предложения по настройке блокировки сканера портов в MikroTik? Активно предлагай свой вариант настройки! →

Как установить Angry IP Scanner

Angry IP Scanner является кроссплатформенным благодаря тому, что написан на Java. Поэтому начните с установки окружения Java по статье «Как установить Java (JDK) в Windows и Linux»

Выберите файл ipscan-win64-*.exe — он не требует установки, то есть это портативная версия.

Установка Angry IP Scanner в Kali Linux

wget -O ipscan.jar https://github.com`curl -s https://github.com/angryip/ipscan/releases | grep -E -o '/angryip/ipscan/releases/download/+/ipscan-linux64+.jar' | head -n 1`
sudo mv ipscan.jar /opt/
echo -e '#!/bin/bash'"\njava -jar -Xmx1024m /opt/ipscan.jar" | sudo tee /usr/local/bin/ipscan > /dev/null
sudo chmod +x /usr/local/bin/ipscan

Запускать так:

ipscan

Обнаружение хоста

Команда обнаружения хоста Nmap
Параметры Объяснение
-sP Ping сканирование
-P0 Без проверки связи
-PS TCP SYN Ping сканирование
-PA TCP ACK Ping сканирование
-PU UDP Ping сканирование
-PE;-PP;-PM Сканирование типов ICMP Ping
-PR ARP Ping сканирование
-n Отключить обратное разрешение DNS
-R Обратное разрешение доменного имени
—system-dns Использовать преобразователь системных доменных имен
-sL Просмотр списка
-6 Сканировать IPV6-адрес
—traceroute Трассировка маршрута
-PY SCTP INIT Ping сканирование

Проверка связи: -sP

Сканирование Ping выполняет только Ping, а затем отображает подключенные хосты. Сканирование Ping отправляет эхо-запрос ICMP и пакет TCP на целевой порт.Если брандмауэр настроен на запрет Ping, этот метод не может определить, что хост активен.

Настройка psad для определения сканирования

Установив правила iptables, настройте проверку журналов psad.

Откройте главный конфигурационный файл psad с привилегиями root:

Обратите внимание: каждая строка должна оканчиваться символом точки с запятой (;), иначе psad не сможет читать файл. Также нужно обратить внимание на объявление уровней опасности (danger level), которые необходимы psad, чтобы определить, представляет ли та или иная активность угрозу для сервера

Также нужно обратить внимание на объявление уровней опасности (danger level), которые необходимы psad, чтобы определить, представляет ли та или иная активность угрозу для сервера. Данные уровни автоматически определяются по количеству пакетов, вовлеченных в событие, но их можно определить и самостоятельно

По умолчанию установлены следующие значения:

Данные уровни автоматически определяются по количеству пакетов, вовлеченных в событие, но их можно определить и самостоятельно. По умолчанию установлены следующие значения:

Данные значения можно изменить согласно требованиям сервера.

Параметр PORT_RANGE_SCAN_THRESHOLD задает уровень чувствительности psad; этот уровень определяется количеством просканированных портов в диапазоне. По умолчанию psad отправляет предупреждение после того, как два портабыли просканированы.

IPT_SYSLOG_FILE – один из самых важных параметров, которые нужно отредактировать, потому что в настоящее время он не направлен на файл, который syslog использует по умолчанию.

Укажите путь к файлу syslog, чтобы открыть psad доступ к активным журналам.

При использовании определенных портов для таких вещей, как «port knocking», необходимо сказать psad игнорировать попытки подключения на этих портах, в противном случае он будет отправлять оповещения в ходе обычной деятельности сервера:

Также psad может игнорировать активность на сервере, основываясь на другие параметры: IGNORE_PROTOCOLS, IGNORE_INTERFACES и IGNORE_LOG_PREFIXES.

Если оповещения приходят слишком часто, можно установить уровень опасности, по достижении которого извещение будет отправлено:

Можно также ограничить количество извещений:

Значение 0 значит, что ограничений нет. Данный параметр определяет количество извещений, которые могут быть отправлены от одного IP.

На данный момент файл можно сохранить и закрыть.

Зачем нужна команда nmap?

Основная задача команды nmap – сканирование сетевых портов указанных компьютеров для определения, какие из них используются (прослушиваются) программами-серверами. Для подавляющего числа сетевых демонов (служб) определены их стандартные порты по-умолчаню, которые они используют для своей работы. По этому признаку можно делать выводы, о том какие серверные программы запущены на том или ином компьютере в сети.

Также команда nmap – это самый доступный инструмент в руках злоумышленников для организации подготовки хакерской атаки на сеть. Ведь с помощью этой команды очень легко получить информацию, на основе которой можно судить о слабых и уязвимых местах в атакуемой системе.

Настройка правил IPTables

Система psad обнаруживает активность на сервере путем мониторинга журналов фаервола. По умолчанию Ubuntu поставляется с фаерволом iptables, который при этом совершенно не настроен и, следовательно, ничего не блокирует и не мониторит.

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

Примечание: если вы уже ввели данные правила, сбросьте их при помощи следующей команды, так как начать настройку iptables нужно с другого:

Просмотреть текущие правила (которые на данный момент должны содержать только политику по умолчанию) можно с помощью команды:

Теперь можно приступить к созданию правил (главным образом для цепочки INPUT). iptables нужно настроить таким образом, чтобы он сбрасывал все ненужные и нежелательные соединения. Для начала нужно добавить правила, разрешающие необходимые подключения, а затем внести ограничения.

Первое правило позволит весь трафик, генерируемый и направленный на данный сервер. Этот тип соединения обычно используется, чтобы сервисы могли взаимодействовать и легко обмениваться информацией.

Теперь нужно внести правило, разрешающее весь трафик, связанный с уже существующими подключениями (это нужно, чтоюы текущие сессии не прервались):

Затем нужно добавить сервисы, которые должны остаться открытыми. Чтобы добавить SSH, используйте:

Если веб-сервер запущен на порту по умолчанию (80), внесите правило:

Используя такой же синтаксис, добавьте любые другие порты сервисов, которые нужно оставить общедоступными:

Внеся все необходимые сервисы, установите правила, сбрасывающие все остальные соединения.

Но прежде чем сделать это, внесите правила, которые активируют ведение журнала (iptables будет записывать необработанный трафик).

Также нужно внести подобное правило для цепочки FORWARD:

Наконец, нужно сбросить весь посторонний трафик, который не отвечает правилам. Для этого либо добавьте правило сброса, которому отвечают все пакеты, в конец цепочки:

либо установите политику DROP, чтобы сбрасывать все пакеты, не отвечающие ни одному правилу цепочки:

Результаты этих правил одинаковы.

Примечание: если вместо внесения правила сброса в конец цепочки была установлена политика DROP, не забудьте сменить ее на ACCEPT, прежде чем сбросить все правила:

Если этого не сделать, то после сброса правил iptables останется политика DROP, сбрасывающая все входящие соединения; весь входящий трафик и SSH-подключение будут сброшены.

По умолчанию iptables не сохраняет правил после перезагрузки, потому сначала нужно протестировать правила, а потом загрузить и активировать инструмент, который будет поддерживать данные настройки после перезагрузок.

Проверьте открытые порты с помощью псевдоустройств в Bash

Другой способ проверить, является ли определенный порт открытым или закрытым, – это использование оболочки Bash псевдоустройства /dev/tcp/.. или /dev/udp/…

При выполнении команды на псевдоустройстве /dev/$PROTOCOL/$HOST/$IP  в Bash откроет TCP или UDP-соединение с указанным хостом на указанном порту.

Следующий оператор if..else проверит, открыт ли порт 443 на kernel.org:

if timeout 5 bash -c '</dev/tcp/kernel.org/443 &>/dev/null'
then
  echo "Порт открыт"
else
  echo "Порт закрыт"
fi
Порт открыт

Как работает приведенный выше код?

Время ожидания по умолчанию при подключении к порту с использованием псевдоустройства очень велико, поэтому мы используем команду timeout для уничтожения команды test через 5 секунд. Если соединение установлено у kernel.org с портом 443 тестовая команда вернет true.

Вы также можете использовать цикл for для проверки диапазона портов:

for PORT in {20..80}; do
  timeout 1 bash -c "</dev/tcp/10.10.8.8/$PORT &>/dev/null" &&  echo "порт $PORT открыт"
done

Вывод будет выглядеть примерно так:

порт 22 открыт
порт 80 открыт
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: