Как закрыть порт linux
Перейти к содержимому

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

Как закрыть порты в Linux?

У меня есть какой-то вопрос в закрытии порта, я думаю, что у меня есть некоторые странные вещи.

Когда я использую выполнить

это показывает, что порт 23 / TCP открыт.

Но когда я выполню

это показывает, что порт 23 / tcp закрыт.

Какой из них является правдой? Я хочу закрыть этот порт на всей моей системе, как я могу это сделать?

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

Варианты, которые я дал:

  • -t Только TCP
  • -l Только прослушивающие порты
  • -n Не ищите имена сервисов и хостов, просто отображайте номера
  • -p Показать информацию о процессе (требуется привилегия root)

В этом случае мы можем видеть, что sshd прослушивает любой 0.0.0.0 порт интерфейса ( ) 22 и cupsd прослушивает 127.0.0.1 порт 631 loopback ( ). Ваш вывод может показать, что telnetd имеет локальный адрес 192.168.1.1:23 , то есть он не будет отвечать на соединения на адаптере обратной связи (например, вы не можете telnet 127.0.0.1 ).

Существуют и другие инструменты, которые отображают аналогичную информацию (например, lsof или /proc ), но netstat является наиболее широко доступным. Это даже работает на Windows ( netstat -anb ). Netstat в BSD немного отличается: вам придется использовать sockstat (1) для получения информации о процессе.

Если у вас есть идентификатор процесса и имя программы, вы можете найти процесс и убить его, если хотите закрыть порт. Для более детального управления вы можете использовать брандмауэр (iptables в Linux), чтобы ограничить доступ только определенными адресами. Возможно, вам придется отключить запуск службы. Если PID в Linux означает «-», это, вероятно, процесс ядра (например, это характерно для NFS), так что удачи в выяснении, что это такое.

Примечание: я сказал «авторитетный», потому что вам не мешают условия сети и брандмауэры. Если вы доверяете своему компьютеру, это здорово. Однако, если вы подозреваете, что вас взломали, вы не сможете доверять инструментам на своем компьютере. Замена стандартных утилит (а иногда даже системных вызовов) на те, которые скрывают определенные процессы или порты (или руткиты), является стандартной практикой для злоумышленников. Лучше всего на этом этапе сделать криминалистическую копию вашего диска и восстановить ее из резервной копии; затем используйте копию, чтобы определить, как они вошли, и закройте ее.

Система Linux имеет так называемый петлевой интерфейс, предназначенный для внутренней коммуникации. Его имя хоста localhost и IP-адрес 127.0.0.1 .

При запуске nmap на localhost , вы на самом деле запустить PortScan на виртуальном кольцевом интерфейсе. 192.168.1.1 это IP-адрес вашего физического (наиболее вероятного eth0 ) интерфейса.

Итак, вы работаете nmap на двух разных сетевых интерфейсах, поэтому есть разница в открытых портах. Они оба правдивы.

Если у вас открыт TCP-порт 23, вероятно, у вас telnet запущен сервер (что не очень хорошо из-за отсутствия шифрования), или у вас на компьютере какой-то троянский конь.

Чтобы «закрыть» порт вы можете использовать iptables

Если вы это сделаете nmap localhost , он расскажет вам о другой ситуации: некоторые программы на Linux работают как сервер, хотя они используются только локально. Это потому, что другие программы используют их как сервер, к которому они подключаются. Так что оба ответа верны, так как вы спрашиваете что-то другое.

Порт 23 используется для Telnet. Обычно не используется больше. Попробуйте сделать, nmap -sV 192.168.1.1 чтобы узнать, какая программа открывает порт.

(192 . это IP-адрес локальной сети, поэтому результат nmap <your outside world IP> также даст другой результат из-за возможных настроек брандмауэра и т. Д.)

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

Когда процесс не прослушивает порт, даже при отсутствии блока брандмауэра, любая попытка подключиться к нему должна привести к немедленному «отказу в соединении» ( ECONNREFUSED к connect(2) )

Один из способов найти процесс (и его pid), который прослушивает порт 23, если такой процесс существует:

В приведенных выше -i списках открываются интернет-порты (как UDP, так и TCP), а -P запрещает перевод портов в имена сервисов (через /etc/services )

После того, как вы обнаружили, что запущенный процесс прослушивает порт 23, вы можете выяснить, как он запущен, посмотрев на дерево процессов (скажем, pstree ). Если его родитель init (очень вероятно), вы можете рекурсивно искать имя процесса в /etc . например:

Это должно привести вас к лучшему способу отключить его запуск в 1-м месте.

Как открыть и закрыть порты с помощью IPTables?

IPtables — это брандмауэр по умолчанию, используемый в системах CentOS и RHEL. На наших VPS или Выделенных серверах, брандмауэр активен, тогда как, все порты открыты. Мы делаем это для того, чтобы все пользователи могли подключаться к сервисам, которые они устанавливают, например, cPanel или Plesk. Вы можете использовать правила приведенные ниже для того, чтобы закрыть или открыть некоторые порты на вашем сервере.

Список текущих правил брандмауэра

iptablesL

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

Открыть порт в IPtables — CentOS 6

Открыть порт в IPtables — CentOS 7

В CentOS 7 вам следует использовать флаг –permanent, чтобы открыть порт. Как и в CentOS 6, просто замените номер 80 на нужный порт и выполните команду –reload

Эта команда открывает запрошенный порт. В нашем примере это порт 80. Замените 80 на номер порта, который вы хотите открыть. Запустите команду service iptables save, чтобы сохранить правила в конфигурации брандмауэра.

Закрыть порт в IPtables — CentOS 6

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

Закрыть порт в IPtables — CentOS 7

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

Дешевый Vps в Европе

Дешевый Vps в Европе в Hostimul.com — это виртуальный частный сервер. Вы можете купить это на Hostimul.com, где мы предоставляем виртуальные серверы с..

Vps в Европе

Наш Vps в Европе будет для вас отличным решением, если вы переросли среду общего хостинга и задаетесь вопросом, что делать дальше. Наши специалисты по..

Недорогой выделенный сервер

Недорогой выделенный сервер – это выделенный виртуальный сервер, услуга хостинга, при которой клиент полностью получает в личное пользование виртуальн..

Хостинг с большим дисковым пространством ✅

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

Быстрый виртуальный хостинг✅

Ищете быстрый виртуальный хостинг ? В Hostimul вы найдете все, что вам нужно. Давайте уточним что такое виртуальный хостинг? Когда придет время выбрат..

Выделенный Сервер в Европе ✔️

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

Купить Хостинг Дешево

Хотите купить хостинг дешево для вашего сайта ? Добро пожаловать в Hostimul.com, где найдете только выгодные тарифы. На рынке доступно несколько веб-х..

Облачный хостинг

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

Хостинг недорогой

Ищете хостинг недорогой ? Hostimul.com будет для вас лучшим спутником по обеспечению вашего проекта наилучшей хостинговой услугой. В поисках самого де..

Сервер для сайта

Надежный сервер для сайта необходим каждому, кто желает безопасный “ Дом ” для своего проекта-сайта. Крупному сайту, который интенсивно наполняется но..

Сервер Аренда

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

Виртуальный хостинг сайтов ✔️

Ищете виртуальный хостинг сайтов ? Hostimul будет для вас верным спутником по организации вашего проекта онлайн. Увеличьте скорость с помощью веб-хост..

Хостинг для wordpress Украина✔️

Услуга » Хостинг для wordpress Украина » в Hostimul является наиболее востребованной в силу своей надежности и качества обслуживания. Управляемые сайт..

Надежный Хостинг ✔️

Надежный хостинг доступен по адресу Hostimul.com по самым выгодным тарифам ! Владывая значительные средства в создание актуального и интересного сайта..

Хостинг выделенный сервер

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

Хостинг пробный период✅

Хостинг пробный период доступен в Hostimul.com на целый месяц с бесплатным доменом. Получите удобные услуги управления доменом вместе с учетной запись..

Купить Хостинг Для Сайта ✅

Решили купить хостинг для сайта ? Вы пришли определенно по верному адресу ! Скорость сайта может сильно повлиять как на видимость вашей поисковой сист..

Хостинг для интернет магазина

Ищете хостинг для интернет магазина ? Hostimul будет для вас наиболее лучшим вариантом для безопасной и отказоустойчивой деятельности вашего проекта, ..

Хостинг бесплатный ✔️

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

Vps в Сша ☑️

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

Vps в Украине ☑️

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

Vps в Германи ✅

Vps Германи с использованием Hostimul.com означает, что вы можете быть уверены, что сможете использовать дополнительные ресурсы хостинга ил..

Лучший хостинг ☑️

Хотите продвижение вашего проекта онлайн ? Для этого необходим лучший хостинг, которого вы найдете на Hostimul.com, являющийся лидеро..

Аренда виртуального сервера ☑️

Перед тем, как решитесь аренда виртуального сервера вам необходимо решить какой трафик ваш нужен. Виртуальный сервер это — хост..

Выделенный сервер ☑️

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

Купить хостинг ☑️

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

Виртуальный Сервер ☑️

Виртуальный сервер — это сервер, который совместно использует аппаратные и программные ресурсы с другими операционными системами (ОС) по..

Vps в Москве ✅

Заказать Vps в Москве через hostimul.com будет для вас очень выгодно и доступно. Независимо от того, устанавливается ли пользовательское приложение и..

Vps в России ✅

В первую очередь VPS обозначает виртуальный частный сервер. Это имитируемая машина, размещенная в облаке, которая позволяет владельцам настраивать соб..

Vps в Нидерландах ✅

Vps в Нидерландах — это виртуальный частный сервер для размещения веб-сайтов (электронная коммерция, контент, мультимедиа и т. Д.) И / или прог..

linux порты

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

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

Ключи:

-a выводит список всех портов
-l показывает только прослушиваемые порты
-p показывает имя программы и ее PID
-t показывает tcp порты
-u показывает udp порты
-n показывает ip адреса в числовом виде
-s выводит статистику по всем открытым портам

Пример использования:
netstat -a

Виды состояния:

ESTABLISHED — соединение установлено
SYN_SENT — сокет пытается установить соединение
SYN_RECV — начальная синхронизация соединения
FIN_WAIT1 — сокет закрыт, ожидание отключения соединения
FIN_WAIT2 — ожидание отключения удаленной стороны
TIME_WAIT — ожидание после закрытия повторной передачи отключения удаленной стороны
CLOSED — соединение закрыто, сокет не используется
CLOSE_WAIT — удаленный узел отключился, сокет скоро будет закрыт
LAST_ACK — сначала отключилась удаленная сторона, а затем сокет будет закрыт
LISTEN — сокет ожидает входящих соединений
CLOSING — закрытие сокета, точнее сокет закрыт, а затем отключился удаленный узел
UNKNOWN — состояние сокета неизвестно.

2. lsof — утилита, которая предназначена для вывода информации о том, какие файлы используются теми или иными процессами.

Ключи:

-l Идентификатор пользователя(userID) вместо имени пользователя на выходе.
-h Вывести помощь (help).
-t Получить ID процесса (ов).
-U Получить адрес сокета UNIX.
-i Показывает все открытые соединения.

Пример использования:
lsof -i

Узнаем какие процессы работают с портом 80:
lsof -i | grep 80

3. Nmap — мощный сетевой сканер, разработанный для сканирования и пентестинга удаленных узлов.

Как открыть порт в linux:
iptables -I INPUT -p tcp -m tcp —dport PORT_NUMBER -j ACCEPT
где PORT_NUMBER — это номер порта, который вы собираетесь открыть.

Как закрыть порт в linux:
iptables -A INPUT -p tcp —dport PORT_NUMBER -j DROP
где PORT_NUMBER — это номер порта, который вы собираетесь закрыть.

Можно закрыть порт для определенного интерфейса, например, eth1:
sudo iptables -A INPUT -i eth1 -p tcp —dport PORT_NUMBER -j DROP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *