Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PROXYMAP(8)		    System Manager's Manual		   PROXYMAP(8)

NAME
       proxymap	- Postfix lookup table proxy server

SYNOPSIS
       proxymap	[generic Postfix daemon	options]

DESCRIPTION
       The  proxymap(8)	 server	 provides read-only or read-write table	lookup
       service to Postfix processes. These services are	implemented with  dis-
       tinct service names: proxymap and proxywrite, respectively. The purpose
       of these	services is:

       o      To overcome chroot restrictions. For example,  a	chrooted  SMTP
	      server needs access to the system	passwd file in order to	reject
	      mail for non-existent local addresses, but it is	not  practical
	      to  maintain  a copy of the passwd file in the chroot jail.  The
	      solution:

	      local_recipient_maps =
		  proxy:unix:passwd.byname $alias_maps

       o      To consolidate the number	of open	lookup tables by  sharing  one
	      open  table  among multiple processes. For example, making mysql
	      connections from every Postfix daemon process  results  in  "too
	      many connections"	errors.	The solution:

	      virtual_alias_maps =
		  proxy:mysql:$config_directory/virtual_alias.cf

	      The  total  number  of  connections  is limited by the number of
	      proxymap server processes.

       o      To provide single-updater	functionality for lookup  tables  that
	      do  not  reliably	 support multiple writers (i.e.	all file-based
	      tables).

       The proxymap(8) server implements the following requests:

       open maptype:mapname flags
	      Open the table with type maptype and name	mapname, as controlled
	      by  flags.  The  reply  includes the maptype dependent flags (to
	      distinguish a fixed string table from a regular  expression  ta-
	      ble).

       lookup maptype:mapname flags key
	      Look  up	the data stored	under the requested key.  The reply is
	      the request completion status code and the lookup	result	value.
	      The  maptype:mapname and flags are the same as with the open re-
	      quest.

       update maptype:mapname flags key	value
	      Update the data stored under the requested key.	The  reply  is
	      the  request  completion	status	code.  The maptype:mapname and
	      flags are	the same as with the open request.

	      To implement single-updater maps,	specify	a process limit	 of  1
	      in the master.cf file entry for the proxywrite service.

	      This request is supported	in Postfix 2.5 and later.

       delete maptype:mapname flags key
	      Delete  the  data	 stored	under the requested key.  The reply is
	      the request completion status  code.   The  maptype:mapname  and
	      flags are	the same as with the open request.

	      This request is supported	in Postfix 2.5 and later.

       sequence	maptype:mapname	flags function
	      Iterate  over  the  specified  database.	The function is	one of
	      DICT_SEQ_FUN_FIRST or DICT_SEQ_FUN_NEXT.	The reply is  the  re-
	      quest  completion	status code and	a lookup key and result	value,
	      if found.

	      This request is supported	in Postfix 2.9 and later.

       The request completion status is	one of OK, RETRY, NOKEY	(lookup	failed
       because	the  key  was not found), BAD (malformed request) or DENY (the
       table is	not approved for proxy read or update access).

       There is	no close command, nor are  tables  implicitly  closed  when  a
       client  disconnects.  The  purpose  is  to  share tables	among multiple
       client processes.

SERVER PROCESS MANAGEMENT
       proxymap(8) servers run under control by	the Postfix master(8)  server.
       Each  server  can  handle  multiple simultaneous	connections.  When all
       servers are busy	while a	client connects, the master(8) creates	a  new
       proxymap(8)  server process, provided that the process limit is not ex-
       ceeded.	Each server terminates after serving at	least $max_use clients
       or after	$max_idle seconds of idle time.

SECURITY
       The  proxymap(8)	 server	 opens	only  tables that are approved via the
       proxy_read_maps or proxy_write_maps configuration parameters, does  not
       talk  to	 users,	 and  can run at fixed low privilege, chrooted or not.
       However,	running	the proxymap server chrooted severely  limits  usabil-
       ity, because it can open	only chrooted tables.

       The proxymap(8) server is not a trusted daemon process, and must	not be
       used to look up sensitive information such as UNIX user or  group  IDs,
       mailbox file/directory names or external	commands.

       In  Postfix  version  2.2 and later, the	proxymap client	recognizes re-
       quests to access	a table	for security-sensitive purposes, and opens the
       table directly. This allows the same main.cf setting to be used by sen-
       sitive and non-sensitive	processes.

       Postfix-writable	data files should be stored under a  dedicated	direc-
       tory  that  is  writable	 only  by the Postfix mail system, such	as the
       Postfix-owned data_directory.

       In particular, Postfix-writable files should never exist	in  root-owned
       directories.  That  would  open	up  a particular type of security hole
       where ownership of a file or directory does not match the  provider  of
       its content.

DIAGNOSTICS
       Problems	and transactions are logged to syslogd(8).

BUGS
       The  proxymap(8)	 server	provides service to multiple clients, and must
       therefore not be	used for tables	that have high-latency lookups.

       The proxymap(8) read-write service does not explicitly close lookup ta-
       bles  (even if it did, this could not be	relied on, because the process
       may be terminated  between  table  updates).   The  read-write  service
       should  therefore not be	used with tables that leave persistent storage
       in an inconsistent state	between	updates	 (for  example,	 CDB).	Tables
       that support "sync on update" should be safe (for example, Berkeley DB)
       as should tables	that are implemented by	a real DBMS.

CONFIGURATION PARAMETERS
       On busy mail systems a long time	may pass before	 proxymap(8)  relevant
       changes	to  main.cf are	picked up. Use the command "postfix reload" to
       speed up	a change.

       The text	below provides only a parameter	summary. See  postconf(5)  for
       more details including examples.

       config_directory	(see 'postconf -d' output)
	      The  default  location of	the Postfix main.cf and	master.cf con-
	      figuration files.

       data_directory (see 'postconf -d' output)
	      The directory with Postfix-writable  data	 files	(for  example:
	      caches, pseudo-random numbers).

       daemon_timeout (18000s)
	      How  much	time a Postfix daemon process may take to handle a re-
	      quest before it is terminated by a built-in watchdog timer.

       ipc_timeout (3600s)
	      The time limit for sending or receiving information over an  in-
	      ternal communication channel.

       max_idle	(100s)
	      The  maximum  amount of time that	an idle	Postfix	daemon process
	      waits for	an incoming connection before terminating voluntarily.

       max_use (100)
	      The maximal number of incoming connections that a	Postfix	daemon
	      process will service before terminating voluntarily.

       process_id (read-only)
	      The process ID of	a Postfix command or daemon process.

       process_name (read-only)
	      The process name of a Postfix command or daemon process.

       proxy_read_maps (see 'postconf -d' output)
	      The  lookup tables that the proxymap(8) server is	allowed	to ac-
	      cess for the read-only service.

       Available in Postfix 2.5	and later:

       data_directory (see 'postconf -d' output)
	      The directory with Postfix-writable  data	 files	(for  example:
	      caches, pseudo-random numbers).

       proxy_write_maps	(see 'postconf -d' output)
	      The  lookup tables that the proxymap(8) server is	allowed	to ac-
	      cess for the read-write service.

SEE ALSO
       postconf(5), configuration parameters
       master(5), generic daemon options

README FILES
       Use "postconf readme_directory" or "postconf html_directory" to	locate
       this information.
       DATABASE_README,	Postfix	lookup table overview

LICENSE
       The Secure Mailer license must be distributed with this software.

HISTORY
       The proxymap service was	introduced with	Postfix	2.0.

AUTHOR(S)
       Wietse Venema
       IBM T.J.	Watson Research
       P.O. Box	704
       Yorktown	Heights, NY 10598, USA

								   PROXYMAP(8)

NAME | SYNOPSIS | DESCRIPTION | SERVER PROCESS MANAGEMENT | SECURITY | DIAGNOSTICS | BUGS | CONFIGURATION PARAMETERS | SEE ALSO | README FILES | LICENSE | HISTORY | AUTHOR(S)

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=proxymap&sektion=8&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help