Portmap linux ��� ���

Basia

portmapper он же portmap

Про portmapper не вспоминала, пока после поднятия файрволла, перезагружая сервер не заметила, что уж очень долго он останавливается и стартует. Пришлось последить повнимательнее что пишет при старте. Жаловался он на то что не смог запустить portmap и nfsd . Занялась решением задачи, как не мешать portmapper и при этом не оставлять дыр. Что такое вообще portmapper он же portmap и зачем он нужен. Из загрузочной инфы ясно, что NFS ( демон nfsd) не может запуститься без portmap . Итак, portmap отвечает за динамическое назначение портов для некоторых служб (Portmap — это сервер, который преобразует номера программ RPC (Remote Procedure Call) в номера портов протокола DARPA. Необходим для обеспечения вызовов RPC.). Находится он может тут /etc/portmap , тут /usr/sbin или тут /sbin/portmap .

Выяснить точнее можно командой whereis .

Portmapper на Linux называется либо portmap либо rpc.portmap, а на некоторых машинах он называется rpcbind . Сервер RPC при запуске сообщает процессу portmap номер прослушиваемого порта, а также номера тех программ, которые он готовится обслужить. Если клиенту нужно обратиться к RPC с конкретным номером программы, он сначала должен войти в контакт с процессом portmap на серверной машине и определить номер порта связи с пакетами RPC. В него встроены слабые механизмы проверки подлинности, и он может выбирать порты для управляемых служб из широкого диапазона. Закрытие portmap совсем — это совсем радикальное решение. К тому же portmapper обслуживает , mountd, ypbind/ypserv, pcnfsd, и ‘r’ сервисы, такие как ruptime и rusers. Из них только nfsd, mountd, ypbind/ypserv и возможно pcnfsd имеют какое-либо важное значение. Для защиты можно использовать сетевой экран или hosts.allow/ hosts.deny . Поскольку я все равно подкручивала поднятый файрволл, просто допишем в разрешенные порты: Nfsd работает на порту 2049, используя оба протокола — udp и tcp. Portmapper работает на порту 111, tcp и udp, а mountd работает на портах 745 и 747, tcp и udp. По умолчанию. Посмотреть, как отзовутся порты RPC можно так:

В ответ увидите что то подобное этому:

прог-ма верс прото порт

100000 2 tcp 111 portmapper

100000 2 udp 111 portmapper

Тут и видно, какие порты кто слушает.

Отличная статья по NFS , в ней можно найти полезную информацию по portmap

Будете смеяться, после настройки файрволла с учетом портов portmapper , на всякий случай перезагрузила сервер, чтобы посмотреть, как быстро он останавливается/ запускается и не ругается ли при загрузке. Фуф все в порядке 🙂

Источник

portmap — Unix, Linux Command

SYNOPSIS

DESCRIPTION

When an RPC server is started, it will tell portmap what port number it is listening to, and what RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it will first contact portmap on the server machine to determine the port number where RPC packets should be sent.

Portmap must be started before any RPC servers are invoked.

Normally portmap forks and dissociates itself from the terminal like any other daemon. Portmap then logs errors using syslog(3).

Option available:

Tag Description
d (debug) prevents portmap from running as a daemon, and causes errors and debugging information to be printed to the standard error output.
l (localhost only) causes portmap to only bind to the loopback interface (i.e. INADDR_LOOPBACK).
v (verbose) run portmap in verbose mode.
Читайте также:  Windows setup включен режим ems как отключить

This portmap version is protected by the tcp_wrapper library. You have to give the clients access to portmap if they should be allowed to use it. To allow connects from clients of the .bar.com domain you could use the following line in /etc/hosts.allow:

You have to use the daemon name portmap for the daemon name (even if the binary has a different name). For the client names you can use the keyword ALL, IP addresses, hostnames or domain names.

For further information please have a look at the tcpd((8)), hosts_allow((5)) and hosts_access((5)) manual pages.

Источник

Portmap linux ��� ���

До того как вы продолжите читать этот документ вам будет необходимо мочь выполнять операцию telnet между машинами, котрые вы будете использовать как сервер и клиент. Если что-то не работает, вам нужно проверить NET-3 HOWTO и правильно настроить работу сети.

3.2 Первый шаг

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

Если вас нужно настроить не-Linux машину как сервер, то вам нужно прочитать системные руководство, чтобы определить как разрешить работу сервера NFS и экспортировать файловую систему через NFS. Как сделать это на различных платформах вынесено в отдельный раздел. После того как вы определили все что нужно вы можете продолжать чтение следующего раздела этого HOWTO. Или читайте дальше этот раздел, поскольку для некоторых вещей о которых я буду говорить не важно какой тип машины вы используете как сервер.

То о чем вы читали будет требовать настройки нескольких программ.

3.3 Portmapper

Portmapper на Linux называется либо portmap либо rpc.portmap . Справочная страница на моей системе говорит что это «Преобразователь номеров портов DARPA в вызовы соответствующих программ RPC». Это первая дыра в безопасности, которую вы откроете читая этот документ. Описание как закрыть одну из дыр находится в разделе безопасности. Который я советую вам прочитать.

Запустите portmapper. Он называется либо portmap либо rpc.portmap и должен находиться в директории /usr/sbin (на некоторых машинах он называется rpcbind ). Вы можете запустить его сейчас вручную, но он должен запускаться при каждом запуске вашей машины, так что вам необходимо создать/отредактировать rc-скрипты. Ваши rc-скрипты объяснены более близко в справочной странице init , они обычно находятся в директориях /etc/rc.d , /etc/init.d или /etc/rc.d/init.d . Если там есть скрипт названный inet , то это нужный для редактирования скрипт. Но что написать или что сделать находится вне области этого документа. Запустите portmap, и проверьте что он запущен с помощью команды ps aux . Это сделано? Хорошо.

3.4 Mountd и nfsd

Следующие программы, которые нам нужно запустить это mountd и nfsd. Но сначала мы отредактируем другой файл. Это /etc/exports . Скажем я хочу, чтобы файловая система /mn/eris/local , которая находится на машине eris была доступна для машины названной apollon . Тогда я помещу в файл /etc/exports на eris следующие строки:

Читайте также:  Майкрософт iso образ windows

Вышеприведенные строки дают apollon доступ на чтение/запись на /mn/eris/local . Вместо rw мы можем сказать ro , что означает только чтение (если вы ничего не поместите, то по умолчанию будет только чтение. Существуют другие опции, которые вы можете дать, и я позже буду обсуждать некоторые из них относящиеся к безопасности. Они все перечислены в справочной странице exports , которую вы должны прочитать по крайней мере раз в жизни. Существуют также лучшие способы чем перечисление всех машин в файле exports. Вы например можете использовать сетевые группы, если у вас работает NIS (или NYS) (NIS также известен как YP), и всегда использовать шаблоны (wild cards) домэйнов и подсетей IP как машины, которым разрешено что-то монтировать. Но вы учитывать, кто может получить доступ к серверу неавторизованным способом, если вы используете такую всеобъемлющую авторизацию.

Замечание: Этот файл exports не имеет тот же синтаксис, котрый используют другие системы Unix. В этом документе есть отдельный раздел о файлах exports других Unix-систем.

Сейчас мы готовы к запуску mountd (или он может называться rpc.mountd ) и nfsd (который может называться rpc.nfsd ). Обе эти программы читают файл exports.

Если вы отредактировали файл /etc/exports , то вы должны быть уверены, что nfsd и mountd знают что файл изменен. Традиционный способ сделать это — это запустить программу exportfs . Во многих дистрибутивах Linux программа exportfs отсутствует. Если это так вы можете создать такой скрипт на вашей машине:

Сохраните его в файле, скажем /usr/sbin/exportfs , и не забудьте выполнить chmod a+rx . Сейчас, после того как вы изменили ваш файл exports, вы должны запустить exportfs как root.

Теперь вы должны проверить, что mountd и nfsd запущены правильно. Сначала это делается с помощью rpcinfo -p . Вывод программы должен показать что-то подобное следующему:

Как вы видите portmapper анонсировал свои сервисы, и что имеются mountd и nfsd.

Если вы получили сообщение rpcinfo: can’t contact portmapper: RPC: Remote system error — Connection refused или что-то подобное вместо этого, то значит portmapper не запущен. Исправьте это. Если вы получили сообщение No remote programs registered. , то либо portmapper не хочет говорить с вами, либо что-то не в порядке. Завершите nfsd, mountd и portmapper и попытайтесь выполнить заново стартовую последовательность.

После проверки что portmapper объявил сервисы вы также можете выполнить проверку с помощью ps. Portmapper будет продолжать объявлять свои сервисы даже после того как программы расширяющие его возможности завершили работу. Так что проверка с помощью ps может быть умной, если что-то выглядит сломанным.

Конечно вам будет нужно исправить ваши системные rc-файлы для запуска mountd и nfsd также как и portmapper при загрузке. Очень вероятно, что эти скрипты уже существуют на вашей машине, и вам будет нужно только раскомментировать нужный раздел или активизировать скрипт на нужном уровне запуска.

Справочные страницы, которые вы должны сейчас знать: portmap, mountd, nfsd и exports.

Хорошо, если вы сделали все как я сказал, вы должны установить все для запуска сервера NFS.

Источник

Linux OS service ‘portmap’

Service Name

Description

Portmap service maps RPC requests to the correct services. RPC processes notify portmap when they start, revealing the port number they are monitoring and the RPC program numbers they expect to serve. The client system then contacts portmap service on the server with a particular RPC program number. portmap then redirects the client to the proper port number to communicate with its intended service.

Читайте также:  Команда для кали линукс для установки полной версии

This service executes portmap daemon and portmap service must be started before any RPC servers are invoked. Portmap is needed for the programs which use SUN RPC. NFS and NIS are the typical service to need this portmap. This service is provided by portmap rpm package, which should be installed on any machine which acts as a server for protocols using RPC.

Service Control

Use the chkconfig utility to configure (enable and disable) the portmap service i.e.:

Use the service command to manage (stop, start, etc.) the portmap service interactively ie.:

To start the service :

To stop the service :

To check the status of the service :

To restart the service :

Conditionally restarting the service :

To reload the service :

Configuration

There is no configuration file for this service. The following options may be added by portmap daemon:
-d: prevents portmap from running as a daemon, and causes errors and debugging information to be printed to the standard error output.
-l: causes portmap to only bind to the loopback interface (i.e. INADDR_LOOPBACK).
-v: run portmap in verbose mode.

The rpcinfo tool, can be used to find all the RPC services registered on a specified host and to report their universal addresses and the transports for which they are registered. Following example shows all of the RPC services registered on the local machine :

Источник

portmap(8) — Linux man page

portmap — DARPA port to RPC program number mapper

Synopsis

Description

Portmap is a server that converts RPC program numbers into DARPA protocol port numbers. It must be running in order to make RPC calls.

When an RPC server is started, it will tell portmap what port number it is listening to, and what RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it will first contact portmap on the server machine to determine the port number where RPC packets should be sent.

Portmap must be started before any RPC servers are invoked.

Normally portmap forks and dissociates itself from the terminal like any other daemon. Portmap then logs errors using syslog(3).

Option available: -l‘ (localhost only) causes portmap to only bind to the loopback interface (i.e. INADDR_LOOPBACK).

-v‘ (verbose) run portmap in verbose mode.

This portmap version is protected by the tcp_wrapper library. You have to give the clients access to portmap if they should be allowed to use it. To allow connects from clients of the .bar.com domain you could use the following line in /etc/hosts.allow:

You have to use the daemon name portmap for the daemon name (even if the binary has a different name). For the client names you can use the keyword ALL, IP addresses, hostnames or domain names.

For further information please have a look at the tcpd((8)), hosts_allow((5)) and hosts_access((5)) manual pages.

See Also

xinetd.conf((5)), rpcinfo((8)), pmap_set((8)), pmap_dump((8)), xinetd((8)) tcpd((8)) hosts_access((5)) hosts_options((5))

If portmap crashes, all rpc servers must be restarted.

History

The portmap command appeared in BSDBSD 4.3.

4.3 Berkeley Distribution March 16, 1991 4.3 Berkeley Distribution

Источник

Оцените статью