Использование nmap в windows

Советы по защите от атак со сканированием портов, которые вы должны знать

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

Вот несколько советов, которые вам очень помогут:

Используйте необходимые порты

Это может показаться очевидным, но многие не принимают это во внимание. Хакер всегда попробует сканировать с помощью робота и грубой силы

Имейте в виду, что большинство атак автоматизированы, поэтому лучший способ избежать атак этого типа — работа только с нужными портами.

Работает с нестандартными портами

В идеале — усложнить работу злоумышленников, поэтому рекомендуется, насколько это возможно. использовать нестандартные порты. Например, когда кто-то хочет собрать информацию из системы, он может сделать это через стандартные порты, такие как 1521 для Oracle или 8081 для maven антифабрика. Точно так же это не является 100% безопасной мерой само по себе. Но это действительно помогает, если вы хотите создать резервную копию своих сетей и устройств.

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

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

Воспользуйтесь профилактическими методами

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

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

Скрыть информацию

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

Вот некоторые действия, которые помогут вам:

  • Отключить информационные баннеры любой услуги.
  • Фальсифицировать след сваи TCP / IP давать ложные подсказки в случае ошибки и таким образом вводить в заблуждение системы обнаружения отпечатков пальцев.

Держите программное обеспечение в актуальном состоянии

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

Будьте в курсе последних улучшений безопасности

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

Как проверить открытые порты в Linux с соответствующим сервисом-процессом?

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

1. Проверка открытых портов в Linux с помощью команды NETSTAT

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

Команда:

netstat -tulpn | grep LISTEN

Вывод:

# netstat -tulpn | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      904/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      866/master
tcp6       0      0 :::80                   :::*                    LISTEN      1086/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      904/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      866/master
#

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

# netstat -tulpn | grep LISTEN|grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      1086/httpd
#

В приведенной выше командной порт используется HTTPd службы с PID 1086.

2. Проверка открытых портов в Linux с помощью утилиты lsof

Утилита lsof в основном отображает список открытых файлов. Однако с некоторыми настройками параметров мы можем в состоянии также проверить открытые порты в Linux. По умолчанию она не установлена в системе, пожалуйста, следуйте ниже набором команд для установки в соответствии с дистрибутивом Linux.

Для RHEL и CentOS OS
#yum install lsof
 
Для Debian и Ubuntu OS
#apt install lsof

Команда:

#lsof -i -P -n

Вывод:

# lsof -i -P -n
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
chronyd   513   chrony    1u  IPv4  14330      0t0  UDP 127.0.0.1:323
chronyd   513   chrony    2u  IPv6  14331      0t0  UDP :323
dhclient  548     root    6u  IPv4  15326      0t0  UDP *:68
dhclient  548     root   20u  IPv4  15315      0t0  UDP *:41668
dhclient  548     root   21u  IPv6  15316      0t0  UDP *:23435
master    866     root   13u  IPv4  16678      0t0  TCP 127.0.0.1:25 (LISTEN)
master    866     root   14u  IPv6  16679      0t0  TCP :25 (LISTEN)
sshd      904     root    3u  IPv4  17424      0t0  TCP *:22 (LISTEN)
sshd      904     root    4u  IPv6  17426      0t0  TCP *:22 (LISTEN)
sshd      951     root    3u  IPv4  17884      0t0  TCP 172.31.22.4:22->103.211.42.2:59572 (ESTABLISHED)
sshd      954 ec2-user    3u  IPv4  17884      0t0  TCP 172.31.22.4:22->103.211.42.2:59572 (ESTABLISHED)
httpd    1086     root    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1088   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1089   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1090   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1091   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1092   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)

В случае, если вы хотите получить более подробную информацию о порте 80 можно использовать следующую команду:

# lsof -i :80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   1056   root    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1057 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1058 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1059 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1060 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1061 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)

Здесь, в этом выводе вы можете четко отметить, что порт 80 используется службой HTTP, имеющей PID 1056.

3. Проверка открытых портов в Linux с помощью nmap

Nmap является инструментом сканирования порта, используемый в Linux. Он не установлен на системах Linux по умолчанию. Вам необходимо установить его с помощью следующей команды.

yum install nmap

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

Команда:

# nmap -sT -O localhost

Вывод:

# nmap -sT -O localhost
 
Starting Nmap 6.40 ( http://nmap.org ) at 2017-09-15 13:59 UTC
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 997 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
25/tcp open  smtp
80/tcp open  http
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.9
Network Distance: 0 hops
 
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.66 seconds
#

В выводе выше мы можем в состоянии очень легко проверить открытые порты.

В случае, если Вы хотите изучить больше о сетевых команд в Linux следуйте этой статье.

Netstat

Netstat – это мощная утилита, которая может выводить сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскарадить соединения и т.д.

Мы будем использовать его для достижения целей этого руководства.

Установка Netstat

В системах на основе Debian и Debian, таких как Ubuntu, используйте apt.

В системах на базе Red Hat Enterprise Linux и Red Hat используйте yum,

В системах на основе Arch используйте pacman.

Просмотр сетевых процессов

Во-первых, давайте рассмотрим процессы.

Для этого введите следующую команду:

В этой команде t отображает TCP-соединения, u отображает UDP-соединения, l показывает только прослушивающие сокеты, p показывает программу, к которой принадлежит соединение, e показывает расширенную информацию, а n представляет адреса, пользователей и порты в числовом виде.

При рассмотрении модели клиент-сервер, на которой основано большинство сетевого программного обеспечения, процессы  можно рассматривать как программное обеспечение, работающее в «серверном» режиме

У каждого процесса вы можете увидеть используемый протокол, локальный адрес и порт, который он слушает, пользователя, под которым он работает, и имя PID/программы.

Здесь следует отметить одно важное отличие.

Для подключений tcp4/udp4 (просто перечисленных как tcp и udp), где локальный адрес указан как 0.0.0.0, процесс прослушивает соединения с любого компьютера, который может подключиться к нему по сети, тогда как когда он указан как 127.0 .0.1 он только прослушивает соединения на локальном хосте (машине, на которой он запущен или сам) и не может быть подключен к другим компьютерам в сети. Такое же различие справедливо для tcp6/udp6 при сравнении локального адреса : : (обращенного к сети) и ::1 (только localhost).

Теперь давайте посмотрим на все текущие сетевые подключения.

Для этого введите следующую команду, которая похожа на предыдущую, за исключением того, что мы используем -a для просмотра всех сокетов вместо -l, чтобы просто просмотреть прослушивающие сокеты.

Эта команда не только показывает нам, какое программное обеспечение прослушивает соединения в качестве «серверов», но также показывает нам установленные в настоящее время соединения с этим программным обеспечением и любые установленные сетевые соединения, которые мы используем с использованием программного обеспечения, выступающего в качестве «клиента», такого как веб-браузер.

Просмотр установленных подключений

Вы можете оказаться в ситуации, когда хотите просмотреть только соединения с типом ESTABLISHED.

ss

Команда netstat долгое время была фаворитом у системных администраторов, однако недавно ее заменила команда ss, которая может похвастаться тем, что работает быстрее, проще и удобочитаемее, чем netstat.

Давайте посмотрим, как выполнить те же действия, что и выше, с помощью ss.

Ss также имеет параметр -e для просмотра расширенной информации, но этот параметр был опущен в приведенных ниже примерах, поскольку он дает дополнительную информацию, которая может привести к менее читаемому выводу.

Просмотр процессов

Для просмотра всех процессов введите следующее:

В этой команде t отображает TCP-соединения, l показывает только прослушивающие сокеты, u отображает UDP-соединения, n представляет адреса, пользователей и порты в числовом виде, а p показывает программу, к которой принадлежит соединение.

Просмотреть все сетевые подключения

Чтобы просмотреть все сетевые соединения, введите следующее, где a заменяет l и показывает все сетевые сокеты, а не только слушающие.

Просмотр установленных подключений

Если -a или -l не включены, то ss покажет только установленные соединения.

Для просмотра только установленных соединений введите следующее.

lsof

На случай, если вам не хватило netstat и ss, мы представляем lsof. Lsof используется для вывода списка открытых файлов.

GNU/Linux унаследовал принцип проектирования UNIX, согласно которому все является файлом; это включает  в себя и сетевые подключения.

В результате lsof можно использовать для просмотра сетевой активности аналогично вышеупомянутым командам.

Операции с портами

Для открытия/закрытия портов также используется команды Allow/Deny, в зависимости от требований администратора. Синтаксис выглядит следующим образом:

sudo ufw

Расшифровка:

1. action — одно из двух действий: разрешить (Allow) или запретить (Deny);2. port — цифровое имя порта, для которого применяется правило;3. name_protocol — наименование протокола.

Если требуется указать перечень портов, используем двоеточие между начальной и конечной точкой. Альтернативный вариант — использовать имя службы, для которой создается запись. Например, откроем порт для сервиса HTTP:

sudo ufw allow http

Важно! UFW разрешает стандартный порт, который закреплен за службой. Если значение отличается от общепринятых, то создавать правило по имени сервиса нельзя — оно не активируется

Открываем порты в Linux

Хоть во многих дистрибутивах по умолчанию присутствует встроенный инструмент по управлению сетями, все же такие решения часто не позволяют в полной мере осуществить настройку открытия портов. Инструкции данной статьи будут основаны на дополнительном приложении под названием Iptables — решение для редактирования параметров межсетевого экрана с использованием прав суперпользователя. Во всех сборках ОС на Линуксе она работает одинаково, разве что отличается команда для установки, но об этом мы поговорим ниже.

Подробнее: Просмотр открытых портов в Ubuntu

Шаг 1: Установка Iptables и просмотр правил

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

  1. Откройте меню и запустите «Терминал». Сделать это также можно, используя стандартную горячую клавишу Ctrl + Alt + T.

В дистрибутивах на базе Debian или Ubuntu пропишите для запуска установки, а в сборках, основанных на Fedora — . После ввода нажмите на клавишу Enter.

Активируйте права суперпользователя, написав пароль от своей учетной записи. Обратите внимание, что символы во время ввода не отображаются, сделано это для обеспечения безопасности.

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

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

Шаг 2: Разрешение обмена данными

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

  1. Убедитесь, что в конфигурационном файле отсутствуют какие-либо правила. Лучше сразу же прописать команду для их удаления, а выглядит она так: .

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

Примерно такая же команда — — отвечает за новое правило для отправки информации.

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

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

Шаг 3: Открытие необходимых портов

Вы уже ознакомлены с тем, по какому принципу добавляются новые правила в конфигурацию Iptables. Существуют и несколько аргументов, позволяющих открыть определенные порты. Давайте разберем эту процедуру на примере популярных портов под номерами 22 и 80.

  1. Запустите консоль и введите туда две следующие команды поочередно:

    .

Теперь проверьте список правил, чтобы убедиться в том, что порты были успешно проброшены. Используется для этого уже знакомая команда .

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

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

В случае когда уже администратор компьютера внес свои правила в инструмент, организовал сброс пакетов при подходе к точке, например, через , вам нужно использовать другую команду sudo iptables: , где 1924 — номер порта. Она добавляет необходимый порт в начало цепи, и тогда пакеты не сбрасываются.

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

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

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Настройка UFW Ubuntu

1. Как включить UFW

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

Если он не включён, то его необходимо включить:

Затем вы можете снова посмотреть состояние:

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

2. Политика по умолчанию

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

А все исходящие разрешим:

3. Добавление правил UFW

Чтобы создать разрешающее правило, используется команда allow. Вместо allow могут использоваться и запрещающие правила ufw — deny и reject. Они отличаются тем, что для deny компьютер отсылает отправителю пакет с уведомлением об ошибке, а для reject просто отбрасывает пакет и ничего не отсылает. Для добавления правил можно использовать простой синтаксис:

$ ufw allow имя_службы$ ufw allow порт$ ufw allow порт/протокол

Например, чтобы открыть порт ufw для SSH, можно добавить одно из этих правил:

Первое и второе правила разрешают входящие и исходящие подключения к порту 22 для любого протокола, третье правило разрешает входящие и исходящие подключения для порта 22 только по протоколу tcp.

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

Можно также указать направление следования трафика с помощью слов out для исходящего и in для входящего.

$ ufw allow направление порт

Например, разрешим только исходящий трафик на порт 80, а входящий запретим:

Также можно использовать более полный синтаксис добавления правил:

$ ufw allow proto протокол from ip_источника to ip_назначения port порт_назначения

В качестве ip_источника может использоваться также и адрес подсети. Например, разрешим доступ со всех IP-адресов для интерфейса eth0 по протоколу tcp к нашему IP-адресу и порту 3318:

4. Правила limit ufw

С помощью правил limit можно ограничить количество подключений к определённому порту с одного IP-адреса, это может быть полезно для защиты от атак перебора паролей. По умолчанию подключения блокируются, если пользователь пытается создать шесть и больше подключений за 30 секунд:

К сожалению, настроить время и количество запросов можно только через iptables.

5. Просмотр состояния UFW

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

Чтобы получить более подробную информацию, используйте параметр verbose:

С помощью команды show можно посмотреть разные отчеты:

  • raw — все активные правила в формате iptables;
  • builtins — правила, добавленные по умолчанию;
  • before-rules — правила, которые выполняются перед принятием пакета;
  • user-rules — правила, добавленные пользователем;
  • after-rules — правила, которые выполняются после принятия пакета;
  • logging-rules — правила логгирования пакетов;
  • listening — отображает все прослушиваемые порты и правила для них;
  • added — недавно добавленные правила;

Например, посмотрим список всех правил iptables:

Посмотрим все прослушиваемые порты:

Или недавно добавленные правила:

Чтобы удалить правило ufw, используется команда delete. Например, удалим ранее созданные правила для порта 80:

7. Логгирование в ufw

Чтобы отлаживать работу ufw, могут понадобится журналы работы брандмауэра. Для включения журналирования используется команда logging:

Также этой командой можно изменить уровень логгирования:

  • low — минимальный, только заблокированные пакеты;
  • medium — средний, заблокированные и разрешённые пакеты;
  • high — высокий.

Лог сохраняется в папке /var/log/ufw. Каждая строчка лога имеет такой синтаксис:

В качестве действия приводится то, что UFW сделал с пакетом, например ALLOW, BLOCK или AUDIT. Благодаря анализу лога настройка UFW Ubuntu станет гораздо проще.

8. Отключение UFW

Если вы хотите полностью отключить UFW, для этого достаточно использовать команду disable:

Также, если вы что-то испортили в настройках и не знаете как исправить, можно использовать команду reset для сброса настроек до состояния по умолчанию:

Как выполнить проброс портов в Ubuntu Server

Термин «проброс портов» активно используют в своей терминологии профессионалы, а для новичков подобный жаргон часто остаётся непонятным. Это технология, которая позволяет работать с компьютером в локальной сети из интернета.

При этом в локальной сети может находиться маршрутизатор, который использует преобразование сетевых адресов. Таким образом, происходит перенаправление трафика с определённых портов по внешнему адресу на определённый адрес ПК во внутренней сети.

С Ubuntu проброс портов достаточно несложен в исполнении.

Проброс портов может понадобиться при организации пиринговой сети.

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

Средствами маршрутизатора

На некоторых маршрутизаторах есть возможность быстро включить поддержку проброса. Допустим, на устройствах D-Link она носит название «виртуальный сервер». Как правило, такая настройка выполняется через web-оболочку.

  1. Откройте браузер. В адресной строке наберите 192.168.0.1.
  2. Введите имя пользователя и пароль.
  3. Если на вашем маршрутизаторе есть Мастер настройки, запустите его и выберите задачу «Настройка виртуального сервера». Или же попробуйте найти такую функцию в разделах настроек «Межсетевой экран (Брандмауэр, firewall).
  4. В появившихся окнах задайте все необходимые параметры сервера. Как правило, это:
    • Интерфейс. Здесь нужно выбрать соединение для связи между компьютерами.
    • Внутренний IP. Это адрес сервера в местной сети.
    • Внешний (удалённый) IP. Адрес сервера, с которого будет осуществляться доступ.
    • Имя настройки. Имя для набора параметров.
  5. Сохраните введённые настройки.

Такой подход позволяет создать перенаправление средствами роутера. Он применим к любой операционной системе, в том числе, к Убунту Сервер.

С использованием hamachi

Этот способ ориентирован именно на Ubuntu, где проброс портов будет выполняться с помощью Hamachi. Хамачи позволяет построить VPN. Другими словами — это программа для работы с виртуальными частными сетями.

Допустим, в разных сетях существует группа удалённых друг от друга ПК, а связь в сети выполняется через VPN Hamachi. Сама программа должна быть установлена на сервере. После этого можно настраивать проброс портов.

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

 Для выполнения инструкций потребуется компьютер с установленной Ubuntu Server.

Установка Хамачи. Для начала, загрузите пакет с официального сайта:

wget https://secure.logmein.com/labs/logmein-hamachi_2.1.0.119-1_amd64.deb

Инсталлируйте нужный пакет:

sudo apt-get install lsb

Теперь проведите сборку пакета, который был загружен:

dpkg -i logmein-hamachi_2.1.0.119-1_amd64.deb

Можно запустить соответствующую службу, а также саму программу:

service logmein-hamachi starthamachi login

Присвойте личному компьютеру имя в Хамачи. После этого подключитесь к нужной сети:

hamachi set-nick $NAME.hamachi join $NAME_NETWORK

Введите все нужные данные для доступа к сети.

sudo apt-get install rinetd

Теперь в файлы конфигурации потребуется внести изменения:

nano /etc/rinetd.conf

Сам файл, открываем при помощи редактора nano. В конце документа нужно добавить строчку:

(IP-интерфейса сервера) (прослушиваемый порт) (адрес внешнего ПК) (порт внешнего ПК)

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

service rinetd restart

Теперь потребуется отключить межсетевой экран:

sudo ufw disable

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

С использованием squid

Squid — это прокси-сервер для Ubuntu. Мы уже рассматривали, как прокинуть порт на Ubuntu Сервер, Squid — также хороший инструмент для этого. Он поможет, когда необходим максимальный контроль сетевого трафика. Squid можно установить по команде:

sudo apt-get install squid3

Настройка программы выполняется правкой директив, расположенных в файле:

/etc/squid/squid.conf

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

Что такое Nmap в Python?

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

Мы сделаем все это с помощью python. Хотя существует инструмент GUI, самое интересное происходит только при использовании командной строки или скриптов python.

Синтаксис Python Nmap –

Чтобы использовать модуль nmap в python, нам сначала нужно установить href=”https://nmap.org/download.html”>онлайн-инструмент. После его установки нам нужно установить модуль nmap с помощью pip install python-nmap. href=”https://nmap.org/download.html”>онлайн-инструмент. После его установки нам нужно установить модуль nmap с помощью pip install python-nmap.

Обратите внимание, что мы не можем нацеливаться на какой-либо веб-сайт или IP-адрес, поскольку это незаконно, поэтому мы будем использовать локальный хост, т. е

127.0.0.1

Как собрать банеры служб

Если служба запущена на нестандартном порту, то получается, что по номеру порта невозможно определить что это за служба. Тем не менее при попытке подключения служба может вывести достаточно информации, чтобы раскрыть себя. Именно этим пользуются сборщики банеров — инициализируют самое начало процесса подключения и смотрят, что им прислала служба. В nmap есть скрипт (NSE) который называется banner, чтобы он использовался, добавьте две опции к вашей команде -sV —script=banner.

Можно собирать банеры как для всех портов, так и для одного или нескольких.

Пример команды:

sudo nmap -p 25,53,80,81,135,137,138,139,445,1121,1122,2921,2980,2988,4949,5554,9306,9312 -sV --script=banner 88.99.152.33

Пример вывода:

Используя команду netcat

Утилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.

Шаблон вызова утилиты

Откроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.

Подключаемся к открытому порту и отправим import antigravity

Пример более полезного использования nc – передача файла. На принимающей стороне

На отправляющей стороне

Или можно отдавать файл любому подключившемуся. На передающей стороне

На принимающей стороне

Пример открытия shell’а на определенном порте (источник). На стороне, где нужно открыть шел

Еще один полезный пример с netcat – запуск процесса, с возможностью отслеживания его работы через сеть

Как скрыть порт iptables?

Закрыть порт, это очень хорошо, но что если он нужен нам открытым и желательно, чтобы для других этот же порт был недоступен. Существует такая технология, как Port Knocking, которая позволяет открывать нужный порт только для определенного ip адреса и только после обращения его к нужному порту. Например, нам нужно защитить SSH от перебора паролей и несанкционированного доступа. Для этого все пакеты, которые будут приходить на порт 22, 111 и 112 мы будем перенаправлять в цепочку SSH.

Как вы уже догадались, порт 22 нам непосредственно нужен, на порты 111 и 112 будут включать его и отключать соответственно. Когда пользователь обратится к порту 111 мы укажем системе, что нужно присвоить всем его пакетам имя ssh, при обращении к порту 112 уберем этот флаг. А если пользователь решит зайти на 22 порт, то проверим присвоено ли этому пакету имя SSH, если да, то пропустим, в противном случае — отбросим.

Сначала создаем цепочку SSH:

Перенаправляем пакеты:

При обращении к порту 111 присваиваем IP адресу имя, сам пакет дальше не пускаем:

При обращении к 112 убираем имя у IP:

И нам осталось только проверить имеет ли наш пакет, который пытается обратиться к 22 порту имя SSH и если да, то мы его одобряем:

Вот и все. Теперь для того чтобы открыть наш SSH порт будет достаточно попытаться подключиться к порту 111 с помощью telnet. Утилита сообщит, что произошла ошибка во время подключения, поскольку мы отбросили пакет:

Но зато теперь вы можете получить доступ к сервису SSH на порту 22. Чтобы снова закрыть порт выполните:

Даже при открытии, этот порт доступен только вашему ip адресу и больше никому другому. Но нужно заметить, что это не панацея. Кто-либо может случайно запросить порт, который предназначен для активации, и таким образом, открыть себе доступ к службе SSH. Так что надежные пароли и ключи шифрования это не отменяет.

Используя команду ss

Утилита ss – это современная альтернатива для команды netstat. В отличие от netstat, которая берет информацию из каталога /proc, утилита ss напрямую связывается со специальной подсистемой ядра Linux, поэтому работает быстрее и её данные более точные, если вы хотите выполнить просмотр открытых портов это не имеет большого значения.

Утилита ss позволяет просматривать информацию об используемых сокетах в системе. Эта команда обладает схожим функционалом к netstat, но есть и уникальные возможности. Например можно фильтровать вывод по установленным соединениям с определенным портом.

Список процессов, использующие соединения в данный момент

Список сокетов в режиме прослушивания

Пример фильтра – список всех соединений к порту 80

Каковы наиболее явные признаки того, что мы стали жертвами сканера портов?

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

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

Некоторые из самых популярных инструментов сканирования портов:

Скачать Angry IPScan для MacOS

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

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

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