skip to content
<< Installation Übersicht Test >>
Konfiguration anpassen der ftp-proxy.conf

2. Konfiguration

 

cd /etc/proxy-suite/

 

vim ftp-proxy.conf:

#####################################################################

#

# $Id: ftp-proxy.conf.sample,v 1.6.2.4 2005/01/11 13:00:01 mt Exp $

#

# Sample FTP Proxy Configuration File

#

# For more information, see ftp-proxy.conf(5) manual page.

#

# The general format is "Keyword Value".

#

# Any white space at the beginning or end of a line and after

# the Keyword is ignored. Lines can be continued with '\'.

# Case is *NOT* sensitive, so "user" is "User" is "USER".

#

# Several variables can also be assigned to a client's user name.

# User specific sections are introduced by a '[username]' line.

# The variables are: TimeOut, ValidCommands, SameAddress,

# ActiveMinDataPort, ActiveMaxDataPort,

# PassiveMinDataPort, PassiveMaxDataPort,

# DestinationAddress, DestinationPort,

# DestinationMinPort, DestinationMaxPort,

# DestinationTransferMode

# These variables can also be obtained from an LDAP server, in

# which case the values from this file are not evaluated any

# more.

#

#####################################################################

#

# The start of the file is implicitly the [-Global-] section.

#

 

#F.L. angeasst am 28.01.2009

 

[-Global-]

 

#

# The following entries select a port range for client DTP

# ports in active mode, i.e. when the client sends a PORT

# command. The default is port 20 as per RFC 959, if the

# proxy is running as root (user ID 0) or a random port.

#

# ActiveMinDataPort 40000

# ActiveMaxDataPort 40999

 

#

# The follwing flag is especially useful for outbound FTP

# traffic. It allows to put some "magic" in the USER name.

# If set, it enables the USER name to contain the target

# server in the form "user[@host[:port]]" and overrides

# the DestinationAddress (and DestinationPort) below.

# See also ForceMagicUser option.

#

# AllowMagicUser yes

#

# The follwing setting allows you to configure a so called

# transparent proxy for outgoing ftp. To get it working you

# also have to redirect client requests on a gateway or

# firewall host (i.e. via ipchains) to the ftp-proxy.

# You can combine this with the AllowMagicUser flag.

#

AllowTransProxy yes

 

#

# This message prevents any login if a file with the given

# name exists. Instead the contents of the file will be sent

# to the client and the connection closed. Lines are prefixed

# with "421-". If no such file exists, the mechanism is not

# triggered and DenyString (s.b.) is ignored altogether.

#

# DenyMessage /etc/proxy-suite/ftp-deny.txt

 

#

# If a DenyMessage file exists, the deny mechanism will be

# activated in any case. If a DenyString exists, it will be

# sent (with escape sequences) as the last line (with a 421

# reply code), else the standard message

# "Service not available" will be displayed.

#

# DenyString Service out of order

 

#

# Where to redirect incoming FTP traffic. This destination

# will be used if a client has not set its own target.

# WARNING: ftp-proxy will refuse to run if this directive

# is not set and transparent proxying not enables (see also

# AllowTransProxy).

#

DestinationAddress 192.168.x.x

 

#

# (Local) port range for all connections to the server. The

# default is to let the proxy select any ephemeral port.

#

# DestinationMinPort 42900

# DestinationMaxPort 42999

 

#

# This is the port corresponding to DestinationAddress. It

# defaults to 21, the standard FTP port.

#

DestinationPort 21

 

#

# Specify the FTP transfer mode to be used from the proxy to

# the server. TransferMode can be active, passive, or client.

# The default is "client" which means to use the same as the

# client.

#

DestinationTransferMode client

DestinationTransferMode passive

DestinationTransferMode active

 

#

# Defines the action that is taken when a data transfer command

# is failed on the server side. If set to "yes", the client

# socket will be reset after a command is failed and the transfer

# mode reset to the default (active ftp).

# This option is a workarround for Netscape (4.x) clients, that

# sends a second data transfer command if the first is failed

# while "user click" on a symbolic link pointing to a directory.

#

# FailResetsPasv no

 

#

# Same as AllowMagicUser, but makes the host and port portion

# mandatory.

#

# ForceMagicUser yes

 

#

# Limits the number of incoming client connections per minute

# in daemon mode - it defaults to 40 connections per minute.

#

ForkLimit 40

 

#

# If given, change GID to give up root privileges. In POSIX

# environments this changes all group ID's.

#

Group nogroup

# Group nobody

 

#

# Defines a different base distinguished name that is used

# when accessing an LDAP directory for user authentication

# purposes. Defaults to LDAPBaseDN.

#

# LDAPAuthDN dc=domain,dc=tld

 

#

# Defines an attribute and its value as 'attr=value' string,

# that will be checked while user authentication.

#

# LDAPAuthOKFlag allowedService=FTPProxy

 

#

# Defines the LDAP password attribute name used for user

# authentication. Defaults to an empty string - password

# authentication disabled.

#

#LDAPAuthPWAttr userPassword

 

#

# Defines password type used in LDAP followed by the minimal

# allowed password length (default is 5). Valid values are:

# plain, crypt, {crypt}

# optionally followed by one number 0-9, i.e. {crypt}7,

# plain9 or plain. Defaults to plain (length is 5).

#

#LDAPAuthPWType plain

 

#

# When accessing the LDAP directory, a search base can be

# handed to the search functions. We strongly recommend to

# do so. This is the "root" of the relevant search tree.

#

# LDAPBaseDN dc=domain,dc=tld

 

#

# Use distinguished name to (simple) bind to the directory

# service. If not set, an annonymous bind is used.

# If (exactly one) %s is used, the name will be replaced

# by the auth name while user authentication or the FTP

# user name.

#

# LDAPBindDN uid=%s,dc=domain,dc=tld

# LDAPBindDN uid=ftp-proxy,dc=domain,dc=tld

 

#

# Use credential (password) to bind to the directory service

# using distinguished name given with LDAPBindDN.

#

# LDAPBindPW aPassword

 

#

# The next thing to decide when using LDAP is the attribute

# used as the main identificator. Some administrators will

# use the CN (Common Name) attribute, and this is also the

# default, but it can be any legal identifier.

#

# LDAPIdentifier LoginName

 

#

# Additionally, an LDAP ObjectClass should be defined for

# the FTP User(s). This will be especially useful if the

# user entries are located inside a mixed LDAP hierarchy.

# If an ObjectClass is given, the search is executed as:

# "(&(ObjectClass=<class>)(CN=<username>))", else it will

# just be based upon CN (the Common Name) or whatever has

# been assigned to LDAPIdentifier above.

#

# LDAPObjectClass FTPProxyUser

 

#

# Access information based upon users can also be obtained

# dynamically from an LDAP directory. This works only if the

# program was compiled with LDAP support. Both the University

# of Michigan and the Netscape LDAP API are supported.

#

# LDAPServer ldap.domain.tld[:port]

 

#

# Set to listen on a specific interface (0.0.0.0 means all

# and is also the default). Address can be given as dotted

# decimal IP address or DNS host name.

#

Listen 0.0.0.0

 

#

# Determine where to send logging information. If the value

# starts with a '/' it is assumed to be a file. If it starts

# with a '|' it is assumed to be a program which will be

# popen()-ed. Anything else is assumed to be a facility for

# syslog(). See ftp-proxy.conf(5) and the "SYSLOG" file for

# severity handling.

#

# LogDestination daemon

LogDestination /tmp/ftp-proxy.log

# LogDestination |/usr/bin/rotatelogs /var/log/ftp-proxy.log

 

#

# Defines the maximal level of logged messages. The levels

# are, in order of decreasing importance:

# FLT, ERR, WRN, INF, DBG

# The default level is INF. A LogLevel set to WRN causes,

# that only messages of levels FLT, ERR, WRN will be logged.

#

LogLevel DBG

 

#

# Maximum number of concurrent clients if running as daemon.

#

MaxClients 64

 

#

# This message (or rather the contents of a file with this

# name) will be issued when MaxClients is exceeded, each

# line prefixed with "421-". If no such file exists, only

# the MaxClientsString below will be displayed.

#

# MaxClientsMessage /etc/proxy-suite/ftp-maxclients.txt

 

#

# This string (with a default of "Service not available" will

# be displayed, if the configured maximum number of concurrent

# clients has been reached. It is prefixed with '421 '.

#

# MaxClientsString The server is full

 

#

# Defines the maximum number of bytes read from socket at once

# while data transfers. Default is to read all data as reported

# by the kernel.

# It may be usefull to set a limit (i.e. to 8192), if your proxy

# machine uses two interfaces of different speed, i.e. the clients

# are accessing the proxy via a high-speed interface (i.e.

# FastEthernet) and the proxy is accessing servers using a slower

# one (i.e. modem, ISDN link) and your ftp-clients aborts the data

# transfers because of a timeout.

#

# MaxRecvBufSize 0

 

#

# The following entries select a port range for client DTP

# ports in passive mode, i.e. when the client sends a PASV.

# If no port range is given, no bind is performed, in which

# case the proxy lets the machine select an ephemeral port.

#

# PassiveMinDataPort 41000

# PassiveMaxDataPort 41999

 

#

# Write an ASCII file with the Program ID if given. Only valid

# if running as daemon, in which case the daemon itself uses it.

#

PidFile /var/run/ftp-proxy.pid

 

#

# Port to listen on (for the SERVER-PI). Default is "ftp".

# Can be given as TCP service name or as a plain number.

#

Port ftp

#

# The following flag specifies the action when a PORT command

# is received while a PASV listening socket is outstanding.

# The RFC is not really clear about the "correct" behaviour,

# but since most existing implementations seem to reset the

# listener, we do the same by default. Nevertheless they all

# may be ... inaccurate.

#

# PortResetsPasv yes

 

#

# Shall we allow data connections only from the same host where

# the control connection originated from? Default is yes. If

# you say no here, the proxy is able to take part in so called

# third party server to server transfers.

#

# SameAddress yes

 

#

# If given, chroot() to this directory after initializing.

#

# Note, that you have to create the /dev/null device and copy

# all needed libraries, configuration files, ... into this

# directory first!

#

# ServerRoot /var/lib/ftp-proxy/rundir

 

#

# Determine whether to run as daemon or in inetd mode. This can

# be overridden by -d/-i command line switch. Default is inetd.

#

# ServerType inetd

ServerType standalone

 

#

# Enable this flag if you want to use a random port in

# the specified range with PassiveMinDataPort/MaxDataPort,

# DestinationMinPort/MaxPort, ActiveMinPort/MaxDataPort

# instead of incrementing the port number.

#

# SockBindRand no

 

#

# Shall we use the TCP Wrapper Library when running as daemon?

# "on", "yes", "true" or a non-zero number means yes, anything

# else no. Default no. Only applicable when running as daemon.

# Note that TCP Wrapper support must be compiled in for this to

# work.

#

# TCPWrapper yes

 

#

# Defines the name to use for TCPWrapper checks. Default is

# to use the base name of the ftp-proxy binary (ftp-proxy).

#

# TCPWrapperName ftp-proxy

 

# If a client has no activity for this many seconds, it is

# regarded to be dead and the connection will be terminated.

# Default is 900 seconds, i.e. 15 minutes.

#

TimeOut 900

 

#

# If the proxy server needs to advertise itself (in outgoing

# responses to the ftp-server, like answers to PASV commands)

# with a different address than it actually has, the following

# option can be used. Relevant e.g. when using a NAT device

# in the path.

#

# TranslatedAddress 0.0.0.0

 

#

# If given, change UID to give up root privileges. In POSIX

# environments this changes all user ID's.

# If set, the proxy will use non-privileged ports (>1024) for

# active mode ftp transfers - see also ActiveMin/MaxDataPort.

#

User nobody

# User ftpproxy

 

#

# Defines the mechanism, the proxy should use to authenticate

# users - currently "ldap" is implemented.

#

# UserAuthType ldap

 

#

# Defines if additional and the order of user authentication

# name and password should be encoded in FTP USER and PASS

# commands, as supported by some ftp-client's (i.e. @auth by

# NcFTP). Valid settings are:

#

# @auth for ftpuser@authuser[@host:port]

# auth@ for authuser@[ftpuser@host:port]

#

# UserAuthMagic @auth

 

#

# Defines the character to use as separator between user

# and host[:port] in the target setting of AllowMagicUser

# Default is the '@' character. This allows you to use

# E-Mail addresses as usernames for login to the ftp server

# (i.e. me@mydomain%ftp.server:21 if you set it to %).

#

# UseMagicChar %

# UserMagicChar %

 

#

# Allows to define a regular expression rule for validation

# of the user name. The default setting matches the usual

# cases inclusive E-Mail adresses and "domain/user" names:

#

# UserNameRule ^[[:alnum:]]+([%20@/\._-][[:alnum:]]+)*$

 

 

#

# List of FTP commands that will be allowed from a client.

# All commands not on this list will be rejected. If no list

# exists, then all commands will be allowed.

# Each command can be followed by an optional equals sign

# and regular expression (POSIX 1003.2) to restrict legal

# argument(s) syntax. In order to avoid confusing the

# configuration reading functions, the expression is "pre-

# processed." This means that a sequence like "%20" will be

# replaced by a space and "%5c" or "%5C" by a backslash

# before being compiled. In fact, this looks a bit like the

# HTML way of doing things. The percent sign itself is

# represented by "%25" of course. The pattern is interpreted

# as a POSIX 1003.2 RE (with REG_NEWLINE flag set), and is

# case sensitive. In any case, this works only if compiled

# with regular expression support compiled into the program.

#

# ValidCommands ABOR, PASS, PASV, STOR, USER, \

# MODE, QUIT, SYST

 

#

# This file will be presented to all clients immediately after

# the connection has been established. Each line is prefixed

# with "220-". The whole message is followed by a standard

# "220 <host> FTP server (<version>) ready" or whatever has

# been substituted with WelcomeString below. Escape sequences

# (like %h for hostname; see ftp-proxy.conf(5)) are active.

#

# WelcomeMessage /etc/proxy-suite/ftp-welcome.txt

 

#

# If we wanted to disguise as some known other FTP server we

# could use the following option. It replaces the standard

# "<host> FTP server (<version>) ready" in the initial 220

# message. As with all Messages and Strings, various escape

# sequences are available.

#

# WelcomeString Welcome to %h

 

 

############################################################

# $Log: ftp-proxy.conf.sample,v $

# Revision 1.6.2.4 2005/01/11 13:00:01 mt

# fixed default UserNameRule regexp rejecting user

# names where the 3. character is not alphanumeric

#

# Revision 1.6.2.3 2004/03/30 12:04:16 mt

# - changed awk,grep,logger paths to /bin and ServerRoot

# to /var/lib/ftp-proxy/rundir (/var/ftp-proxy/rundir)

# in rc-script and config samples

#

# Revision 1.6.2.2 2004/03/22 12:38:12 mt

# added UserNameRule option allowing a regex

# override of the builtin user name checks

#

# Revision 1.6.2.1 2003/05/07 11:07:49 mt

# added ForceMagicUser variable

#

# Revision 1.6 2002/05/02 13:44:52 mt

# added documented user auth related variables

#

# Revision 1.5 2002/01/14 19:15:01 mt

# actualized, added LogLevel TCPWrapperName MaxRecvBufSize options

#

# Revision 1.4 2001/11/06 23:04:44 mt

# applied / merged with transparent proxy patches v8

# see ftp-proxy/NEWS for more detailed release news

#

# Revision 1.3 1999/09/24 06:39:43 wiegand

# added regular expressions for all commands

# removed character map and length of paths

# added flag to reset PASV on every PORT

# added "magic" user with built-in destination

# added some argument pointer fortification

#

# Revision 1.2 1999/09/17 11:04:02 wiegand

# added path name restriction options

#

# Revision 1.1 1999/09/16 07:53:54 wiegand

# initial checkin

#########################################################################

 

 



Zuletzt geändert von Administrator (admin)  am Jan 28 2009  um 22:48
<< Installation Übersicht Test >>