С миру по нитке

Закрыть порт в реестре. Как закрыть tcp порт

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

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

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

sudo netstat -ntulp

Для анализа портов, доступных извне используется программа nmap:

Как видите, извне у нас, кроме стандартных портов веб-сервера, доступны mysql, ftp, dns и другие сервисы. Некоторые из них не должны быть доступны публично. Это не критично, но и нежелательно. Мы можем очень просто закрыть такие порты с помощью iptables. Общий синтаксис команды для блокировки порта будет выглядеть вот так:

$ iptables -A INPUT -p tcp --dport номер_порта -j DROP

Например, если мы хотим заблокировать порт iptables mysql, то необходимо выполнить:

sudo iptables -A INPUT -p tcp --dport 3306 -j DROP

Можно закрыть порт для определенного интерфейса, например, eth1:

sudo iptables -A INPUT -i eth1 -p tcp --dport 3306 -j DROP

Или даже для ip и целой подсети. Например, закрыть все подключения к порту 22 SSH кроме IP адреса 1.2.3.4:

sudo iptables -A INPUT -i eth1 -p tcp -s !1.2.3.4 --dport 22 -j DROP

Здесь знак восклицания означает инверсию, то есть применить ко всем кроме этого. Можно убрать этот знак и указать только IP, к которым нужно применить запрет. Мы рассмотрели как закрыть порт iptables в цепочке INPUT, которая отвечает за входящие соединения, это более применимо к серверам. Но что, если нужно закрыть подключение к удаленному порту из этого компьютера или нашей сети? Для этого существует цепочка OUTPUT.

Например, заблокируем попытки отправки почты подключением к любой машине по порту 25:

sudo iptables -A OUTPUT -p tcp --dport 25 -j DROP

Также, как и раньше, вы можете указать исходящий сетевой интерфейс, только теперь он указывается опцией -o:

sudo iptables -A OUTPUT -o eth1 -p tcp --dport 25 -j DROP

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

sudo iptables-save

Чтобы посмотреть текущие правила для каждой из цепочек выполните:

sudo iptables -L -n -v

Такая команда покажет все правила, а если вы хотите только информацию о заблокированных портах, выполните:

sudo iptables -L -n -v | grep -i DROP

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

sudo iptables -F

Закрыть порты iptables, кроме разрешенных

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

Например, меняем политику для цепочки INPUT:

sudo iptables -P INPUT DROP

Затем разрешаем все входящие соединения от локального интерфейса:

sudo iptables -A INPUT -i lo -j ACCEPT

Затем разрешаем доступ к портам 80 и 22:

sudo iptables -A INPUT -i eth0 -p tcp --dport 80 --match state --state NEW -j ACCEPT
$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 --match state --state NEW -j ACCEPT

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

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

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

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

sudo iptables -N SSH

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

sudo iptables -A INPUT -p tcp --dport 22 -j SSH
$ sudo iptables -A INPUT -p tcp --dport 111 -j SSH
$ sudo iptables -A INPUT -p tcp --dport 112 -j SSH

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

sudo iptables -A SSH -p tcp -m state --state NEW -m tcp --dport 111 -m recent --set --name SSH --rsource -j DROP

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

sudo iptables -A SSH -p tcp -m state --state NEW -m tcp --dport 112 -m recent --remove --name SSH --rsource -j DROP

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

sudo iptables -A SSH -p tcp -m state --state NEW -m tcp --dport 22 -m recent --rcheck --name SSH --rsource -j ACCEPT

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

telnet ip_адрес 111

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

telnet ip_адрес 112

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

Выводы

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

Вчера неизвестные устроили очередную массовую атаку с помощью вируса-шифровальщика. Эксперты заявили, что пострадали десятки крупных компаний на Украине и в России. Вирус-шифровальщик носит название Petya.A (вероятно, вирус назван в честь Петра Порошенко). Пишут, что если создать файл perfc (без расширения) и разместить его по адресу C:\Windows\, вирус обойдет вас стороной. Если ваш компьютер ушел в перезагрузку и начал «проверку диска», нужно его немедленно выключить. Загрузка с с LiveCD или USB-диска даст доступ к файлам. Еще один способ защиты: закрыть порты 1024–1035, 135 и 445. Как это сделать мы сейчас разберемся на примере Windows 10.

Шаг 1
Переходим в Брандмауэр Windows (лучше выбрать режим повышенной безопасности), выбираем вкладку «Дополнительные параметры ».
Выбираем вкладку «Правила для входящих подключений », потом действие «Создать правило » (в правой колонке).

Шаг 2
Выбираем тип правила - «для Порта ». В следующем окне выбираем пункт «Протокол TCP », указываем порты, которые хотите закрыть. В нашем случае это «135, 445, 1024-1035 » (без кавычек).

Шаг 3
Выбираем пункт «Блокировать подключение », в следующем окне отмечаем все профили: Доменный, Частный, Публичный.

Шаг 4
Осталось придумать название для правила (чтобы в будущем его было легко найти). Можно указать описание правила.

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

135 TCP-порт используется службами удалённого обслуживания (DHCP, DNS, WINS и т.д.) и в приложениях «клиент-сервер» Microsoft (например, Exchange).

445 TCP-порт используется в Microsoft Windows 2000 и поздних версий для прямого TCP/IP-доступа без использования NetBIOS (например, в Active Directory).

Публикация

Данная статья будет посвящена следующему вопросу: каким образом открыть порт в Windows 7. Стоит отметить, что приведенная инструкция-схема имеет силу только в случае, если на компьютере работает предустановленный штатный брандмауэр (другими словами, FireWall).

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

Открываем порты на Windows 7

Шаг 1. Через «Пуск» следует открыть «Панель управления».

Шаг 3. Заходим в «Доп. параметры».

Шаг 4. После предыдущего этапа обязательно должно появиться окошко под названием «Брандмауэр Windows в режиме повышенной безопасности». После этого в списке, находящемся слева, нужно кликнуть на «Правила для входящих подключений».

Шаг 5. Обращаем свое внимание на список справа, где, как нетрудно догадаться, следует выбрать категорию «Создать правило». Такая процедура откроет «Мастер создания нового правила».

Шаг 6. Мастер должен спросить Вас о типе создаваемого правила. В данном случае, нужно выбрать «Для порта», продолжив создание кнопкой «Далее».

Шаг 7. Следующим вопросом будет, соответственно, номер создаваемого порта (либо диапазон). Нужно вводить номер в ячейке под названием «Определенные локальные порты». Важно, что если нужен именно диапазон, то использовать необходимо дефис. Кликаем «Далее».

Шаг 8. Разрешаем подключение и нажимаем опять «Далее».

Шаг 9. Для каких профилей нужно использовать создаваемый порт? В данном случае, выделяем три: Публичный, Доменный и Частный.

Шаг 10. Нужно задать имя нового порта и, по желанию, определенное описание. В заключение, подтверждаем создание правила кнопкой «Готово». Увидеть только что созданное правило можно в самом начале всего списка.

Открыть порт в Windows 7 важные замечания

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

2. Если подключение к Интернету происходит через модем/роутер, то открытие портов нужно проводить непосредственно на устройстве.

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

Привет всем читателям блога.
Сегодня мы поговорим о портах Windows и как их закрыть. Чтобы защитить компьютер, не обязательно пользоваться брандмауэром: вы можете вручную закрыть порты и блокировать некоторые протоколы.
Брандмауэр способен защитить персональный компьютер и сеть от незваных гостей. Если вы не хотите устанавливать брандмауэр, но все же хотите защитить свой компьютер, то у вас есть возможность вручную закрыть тот или иной порт или блокировать определенные протоколы.
Некоторые порты и протоколы могут быть использованы для атаки на вашу систему. Например, кто-нибудь может управлять вашим компьютером с помощью службы Telnet , если порт, через который она обычно работает (порт 23) , оставлен открытым . Во многом известный троян Back Orifice, дающий отморозкам неограниченную власть над вашей системой, использует различные порты, и порты с номерами 31337 и 31338 .
Чтобы защитить свой компьютер, вам стоит закрыть все порты, кроме тех, которые нужны
для работы, например порт 80 должен быть открыт, если вы хотите просматривать
web - страницы .

Как закрыть порты

Чтобы вручную закрыть порты и блокировать протоколы, щелкните правой кнопкой мыши
на папке Сетевое окружение (My Network Places) и выберите пункт Свойства (Properties), откроется папка Сетевые подключения (Network Connections). Затем щелкните правой кнопкой мыши на соединении, для которого вы хотите закрыть порты, и снова выберите Свойства . Выделите в списке строчку Протокол Интернета (TCP/IP) (Internet protocol (TCP/IP) и щелкните на кнопке Свойства (Properties).

На вкладке Общие (General) щелкните на кнопке Дополнительно (Advanced). В появившемся диалоговом окне Дополнительные параметры TCP/IP (Advanced TCP/IP Settings) перейдите на вкладку Параметры (Options), выделите строчку Фильтрация TCP/IP (TCP/IP Filtering) и щелкните на кнопке Свойства (Properties). Появится диалоговое окно Фильтрация TCP/IP (TCP/IP filtering) . Чтобы заблокировать порты TCP, UDP и протоколы IP, для каждого из них выберите пункт Только (Permit only).
Таким образом вы успешно закроете все порты TCP, UDP и заблокируете протоколы IP .
Как устранить ошибки в портах читайте

Однако закрыть все порты - это не выход. Нужно указать системе, через какие порты можно
передавать данные. Запомните , что если вы хотите просматривать web - страницы , необходимо открыть порт 80 ! Чтобы открыть определенные порты или разрешить использование некоторых протоколов, щелкните на кнопке Добавить (Add). Укажите порты и протоколы, которые вы хотите открыть, а затем нажмите ОК . Теперь будут использоваться только порты и протоколы из составленного вами списка.

Обратите внимание, что сетевые службы и приложения используют сотни различных портов TCP и UDP . Если вы разрешите только работу с web - сайтами (порт 80) , то вы не сможете использовать другие ресурсы Интернета, такие как FTP , электронная почта (e - mail) , совместный доступ к файлам, потоковый звук и видео и т. д. Поэтому данный способ подходит только тогда, когда вы хотите свести к минимуму число сетевых служб и приложений, работающих на вашем компьютере.

Получение списка имеющихся в системе портов

Существует как минимум два способа:
1. Список доступных портов можно узнать, проанализировав ключ реестра
HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/SERIALCOMM
2. Можно поочередно попробовать открыть порты COM1 .. COM9, таким образом удастся
установить все доступные порты (т. е. порты, не открытые другими приложениями).

Как отключить ненужные службы Windows XP Вы можете узнать

Вчера неизвестные устроили очередную массовую атаку с помощью вируса-шифровальщика. Эксперты заявили, что пострадали десятки крупных компаний на Украине и в России. Вирус-шифровальщик носит название Petya.A (вероятно, вирус назван в честь Петра Порошенко). Пишут, что если создать файл perfc (без расширения) и разместить его по адресу C:\Windows\, вирус обойдет вас стороной. Если ваш компьютер ушел в перезагрузку и начал «проверку диска», нужно его немедленно выключить. Загрузка с с LiveCD или USB-диска даст доступ к файлам. Еще один способ защиты: закрыть порты 1024–1035, 135 и 445. Как это сделать мы сейчас разберемся на примере Windows 10.

Шаг 1
Переходим в Брандмауэр Windows (лучше выбрать режим повышенной безопасности), выбираем вкладку «Дополнительные параметры ».
Выбираем вкладку «Правила для входящих подключений », потом действие «Создать правило » (в правой колонке).

Шаг 2
Выбираем тип правила - «для Порта ». В следующем окне выбираем пункт «Протокол TCP », указываем порты, которые хотите закрыть. В нашем случае это «135, 445, 1024-1035 » (без кавычек).

Шаг 3
Выбираем пункт «Блокировать подключение », в следующем окне отмечаем все профили: Доменный, Частный, Публичный.

Шаг 4
Осталось придумать название для правила (чтобы в будущем его было легко найти). Можно указать описание правила.

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

135 TCP-порт используется службами удалённого обслуживания (DHCP, DNS, WINS и т.д.) и в приложениях «клиент-сервер» Microsoft (например, Exchange).

445 TCP-порт используется в Microsoft Windows 2000 и поздних версий для прямого TCP/IP-доступа без использования NetBIOS (например, в Active Directory).

Публикация