Порт 6000 для чего
Перейти к содержимому

Порт 6000 для чего

  • автор:

Насколько опасно то что из инета видем порт 6000 ?

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

Re: Насколько опасно то что из инета видем порт 6000 ?

ну если пользователь седлает xhost +, можно просто туда подсоединится.

если не сделает — тоже можно, но надо будет помучаться немного с авторизацией. в случае MIT-MAGIC-COOKIE оно ломаемо AFAIK.

наконец, X можно просто зафлудить.

в общем — оно вам надо в интернете? лучше отключите а если удаленные X нужны — туннелируйте через ssh.

Port 6000 Details

The IBM TotalStorage DS400 with firmware 4.15 uses a blank password for the root, user, manager, administrator, and operator accounts, which allows remote attackers to gain login access via certain Linux daemons, including a telnet daemon on a nonstandard port, tcp/6000.
References: [CVE-2007-3232] [BID-24452]

XFree86 3.3.x and 4.0 allows a user to cause a denial of service via a negative counter value in a malformed TCP packet that is sent to port 6000.
References: [CVE-2000-0453] [BID-1235]

The Xper Connect broker listens to Port 6000/TCP by default. By sending an HTTP request outside the bounds of the buffer to Port 6000/TCP, an attacker can cause a heap-based buffer resulting in loss of confidentiality, integrity, and availability.
References: [CVE-2013-2808], [SECUNIA-55152]

MobaXterm could allow a remote attacker to execute arbitrary commands on the system, caused by the failure to authenticate remote X11 connections over port 6000. By connecting to the server, an attacker could exploit this vulnerability to inject X11 commands on the system with the privileges of the victim.
References: [CVE-2015-7244] [XFDB-107748]

Related ports: 3659

Notes:
Port numbers in computer networking represent communication endpoints. Ports are unsigned 16-bit integers (0-65535) that identify a specific process, or network service. IANA is responsible for internet protocol resources, including the registration of commonly used port numbers for well-known internet services.
Well Known Ports: 0 through 1023.
Registered Ports: 1024 through 49151.
Dynamic/Private : 49152 through 65535.

TCP ports use the Transmission Control Protocol, the most commonly used protocol on the Internet and any TCP/IP network. TCP enables two hosts to establish a connection and exchange streams of data. TCP guarantees delivery of data and that packets will be delivered in the same order in which they were sent. Guaranteed communication/delivery is the key difference between TCP and UDP.

UDP ports use the Datagram Protocol. Like TCP, UDP is used in combination with IP (the Internet Protocol) and facilitates the transmission of datagrams from one computer to applications on another computer, but unlike TCP, UDP is connectionless and does not guarantee reliable communication; it’s up to the application that received the message to process any errors and verify correct delivery. UDP is often used with time-sensitive applications, such as audio/video streaming and realtime gaming, where dropping some packets is preferable to waiting for delayed data.

When troubleshooting unknown open ports, it is useful to find exactly what services/processes are listening to them. This can be accomplished in both Windows command prompt and Linux variants using the «netstat -aon» command. We also recommend runnig multiple anti-virus/anti-malware scans to rule out the possibility of active malicious software. For more detailed and personalized help please use our forums.

port 6000 — что за зверь?

Создал сервер на Nodejs. Решил повесить его на порт 6000, консоль выдает, что все ок — сервер запущен. Однако, браузер достучаться к нему не может. Запросы к серверу не приходят. Поменял порт на 3000 — все работает. Что за дела?) введите сюда описание изображения

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

введите сюда описание изображения

По идее, ничего, кроме этого сервера, запущено не должно быть. И я думал, что если порт и занят, то получу ошибку. Однако, в качестве теста,запустил MongoDB на порту 27017, потом запустил сервер Nodejs на этом же порту — и никаких ошибок не увидел. Сервер работает, принимает запросы

Сетевые соединения X11

Есть две технологии в ИТ, которые казалось должны были исчезнуть на рубеже прошлого века, но их живучесть и удобство раз за разом отодвигает их уход со сцены. Речь идет об IPv4 и X11. Если первый из них практически во всех аспектах уступает IPv6, то преимущества Wayland, как технологии над X11 очевидны не всем. Wayland вовсе не универсален, как X Windows System, он намного более прост. Это дает ему ряд преимуществ по сравнению с иксами, но в этом же кроются его недостатки.

Если говорить о преимуществах, то это в первую очередь простота реализации и долгожданное избавление пользователей графической среды Linux от таких артефактов перерисовки, как разрывы изображения, a․ k․ a․ tearing. С этим особенно часто сталкиваются обладатели видеокарт NVidia. Хватает и недостатков и противники замены X-сервера напирают на гибкость использования сетевых возможностей в различных сценариях.

На самом деле X11 сетевой протокол с графическими возможностями, а не наоборот. Из этого простого факта следует, что даже если в скором времени основные дистрибутивы Linux перейдут на протокол Wayland, многие из возможностей и примеров использования X сервера будут востребованы еще достаточно долгое время. Удаленный доступ к приложениям и сессиям X.Org — современной реализации X Window System, одна из таких ключевых особенностей системы.

▍ Сетевая структура взаимодействий X-сервера

Наиболее распространенным IPC, т․ е․ способом взаимодействия между процессами, X-клиента и X-сервера, являются сокеты. Их роль в предоставлении API связи с использование TCP/IP, а также сокетов домена Unix. Помимо сокетов клиент и сервер для коммуникации могут также использовать иные каналы IPC, например MIT Shared Memory Extension.

Доменные сокеты Unix (от англ. Unix Domain Sockets, UDS) являются POSIX-механизмом IPC, с помощью которого различные процессы ОС могут взаимодействовать друг с другом. Такие сокеты эффективнее локальных TCP/IP соединений, так как не требуют дополнительных байтов в заголовке протокола. Подобно сокетам TCP/IP, доменные сокеты Unix поддерживают надёжную потоковую передачу данных с помощью SOCK_STREAM. Они также могут работать в режиме упорядоченной ( см․ SOCK_SEQPACKET) и неупорядоченной ( см․ SOCK_DGRAM) передачи датаграмм.

Рис. 1 Сетевое взаимодействие между клиентом и сервером X с помощью UDS.

UDS используют файловую систему ОС в качестве адресного пространства имён (например /tmp/my_xapp ), сами сокеты в ней всего лишь inode, а процессы обращаются к сокетам, так же, как к файлу. Однако обмен данными в активном соединении использует не файловую систему, а только буферы памяти ядра.

Рис. 2 Сетевое взаимодействие между клиентом и сервером X поверх TCP/IP.

Сокеты TCP/IP и UDS создаются с помощью функции CreateWellKnownSockets(). Для этого она обращается к _XSERVTransMakeAllCOTSServerListeners . Эта процедура пробегает по каждому интерфейсу транспорта, поддерживаемого сервером.

Количество таких интерфейсов определено константой NUMTRANS в файле X11/Xtrans/Xtrans.c.

Таблица Xtransports[] определена в том же самом файле и содержит 10 элементов, таким образом NUMTRANS ≤ 10.

Сами же флаги, которые во время сборки определяют транспортные интерфейсы X сервера, можно найти в xc/config/cf/linux.cf .

Проследив цепочку до системного вызова socket() находим такую последовательность транспортных процедур.

Серверный процесс стартует с вызова функции TRANS(CreateListener) из Xtrans.c . Далее переход в состояние ожидания входящего соединения происходит в такой последовательности.

В файле Xtransmit.h можно обнаружить X_TCP_PORT . Первое клиентское соединение будет использовать порт 6000, второе — 6001 и т․ д․

▍ Взгляд изнутри трафика между клиентом и сервером X

Запустим простейшую иксовую программу Xclock и проверим как все это работает на практике.

В первой строке вывода видим, что системный вызов socket() завершился успешно и вернул файловый десткриптор 3. Далее, во второй строке setsockopt() выставляет параметр TCP_NODELAY , с которым TCP фрагменты отправляются по сети как можно ранее, даже если эти фрагменты слишком малы. В третьей строке опять встречается setsockopt() на это раз для активации опции SO_KEEPALIVE . Данный параметр поддерживает соединение в активном состоянии, с помощью периодической отправки служебных сообщений. Наконец в четвертой строке системный вызов connect() соединяет клиент X с сервером, по TCP порту 6000.

Используемый TCP порт напрямую связан с количеством соединений и номером переменной $DISPLAY , если бы использовалось DISPLAY=tcp/192.168.10.10:1.0 , то тогда в последней строке connect() состоялся бы по TCP порту 6001.

После рукопожатия обмен данными происходит с использованием структур X-клиента — xConnClientPrefix , и X-сервера — xConnSetupPrefix , XconnSetup , определенных в файле /usr/include/X11/Xproto.h . Размер занимаемой памяти в структур в байтах определен в #define директивах заголовочного файла.

Рис. 3 Установка параметров соединения в сессии X11.

Можно также пронаблюдать за процессом с помощью сетевого анализатора, клиентский запрос Initial connection request соответствует вызову xConnClientPrefix . Соответственно Initial connection reply в следующем пакете создан со стороны xConnSetupPrefix и xConnSetup . Для сбора трафика можно запустить Wireshark и слушать локальный интерфейс, либо с помощью следующей команды tcpdump.

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

Рис. 4 Сетевой след соединения X11 в WireShark.

То же самое и во всех подробностях можно увидеть в tshark в текстовом формате. Так выглядит клиентский запрос X11 в сторону сервера.

Пакет с ответом со стороны X-сервера совсем не так лаконичен, в нем указаны все необходимые детали для форматирования графического вывода на экран.

▍ Удаленное подключение к X-серверу по ssh

Переходя от теории сетевых взаимодействий X Window System к практике, рассмотрим, как запустить графическое приложение на уделенном X-сервере при подключении по ssh.

  1. Подключение необходимо запускать с ключом -X , который активирует переадресацию X11. На практике, однако из-за X11 SECURITY extension это часто не работает. В таких случаях используют -Y для подключения с доверительной переадресацией X11.
  2. Убедитесь, что на удаленном сервере установлен пакет xauth , который создаст файл

  1. Имеет смысл в качестве проверки иксов выполнить xclock прежде, чем запускать JAVA installer, или мастер настроек некоей корпоративной CRM, или ERP системы. Если показалось окно xclock, то соединение с X-сервером работает как надо.

Рис. 5 Собственно xclock, значит удаленные иксы настроены и работают.

  1. Если после логина по ssh была выполнена команда смены пользователя sudo su — для перехода в root, то тогда необходимо выставить переменную DISPLAY. Этого не надо делать, если используется изначальный пользователь и сеанс shell.

Я стараюсь по мере возможности тестировать сеанс Wayland при каждом новом релизе KDE Plasma, несмотря на многочисленные улучшения с каждым разом, на версии kde-apps-21.04.3 работать можно лишь на Plasma-X11. В чем бы не состояли преимущества Wayland, до тех пор пока в терминале зависает команда man, хаотично прыгают элементы ниспадающего меню и блуждает внешний монитор, старый и добрый X Window System остается вне конкуренции. Надеюсь так не будет продолжаться долго.

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

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