Welcome to Linux Forums! With a comprehensive Linux Forum, information on various types of Linux software and many Linux Reviews articles, we have all the knowledge you need a click away, or accessible via our knowledgeable members.
Write an article for LinuxForums Today! Win Great Prizes!
FTP Trouble continues. This is really aggravating me.
Update on my specs....
WHM 10.x Current
Pure FTP
APF Firewall
mod_dosevasive
mod_security
I am still having issues with FTP uploads --- same symptoms. About 1.5 – 2.5 MB into the upload, the server glitches-out with an error:
hResRead: 0, hResWrite:80042003
Before, with Pro FTP server installed, there was a refusal to resynch an upload file upon reconnect. However, Pure FTP server is now allowing resynch and reconnect, but about every 1.5-2.5 MB upload, there is a write fault at the server. This leads to disconnect, reconnect and resych which causes a very slow overall transfers.
Perhaps ClamAV interrupts while still filling the scan cache/buffer, and this causes the glitch. I just can't track this down at all.
This is my APF config
Code:
# Common ingress (inbound) TCP ports -3000_3500 = passive port range for Pure FTPD
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2082,2083, 2086,2087, 2095, 2096,3000_3500"
#
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="53"
# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,25,80,443,43,2089"
#
# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53"
This is /var/log/messsages (grep user)
Code:
Apr 4 21:16:40 server PAM_pwdb[5256]: (ftp) session opened for user theusername by (uid=0)
Apr 4 21:20:05 server PAM_pwdb[24507]: (ftp) session opened for user theusername by (uid=0)
Apr 4 21:21:07 server PAM_pwdb[27288]: (ftp) session opened for user theusername by (uid=0)
Apr 4 21:21:49 server PAM_pwdb[28157]: (ftp) session opened for user theusername by (uid=0)
Apr 4 21:26:27 server PAM_pwdb[3005]: (ftp) session opened for user theusername by (uid=0)
Apr 4 21:52:10 server PAM_pwdb[30951]: (ftp) session opened for user theusername by (uid=0)
Apr 4 21:57:09 server PAM_pwdb[32368]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:09:57 server PAM_pwdb[3999]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:10:01 server PAM_pwdb[4326]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:10:01 server PAM_pwdb[4327]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:10:02 server PAM_pwdb[4370]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:10:02 server PAM_pwdb[4384]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:10:03 server PAM_pwdb[4434]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:35:16 server PAM_pwdb[26568]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:35:17 server PAM_pwdb[26608]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:35:17 server PAM_pwdb[26609]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:35:20 server PAM_pwdb[26907]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:35:21 server PAM_pwdb[26917]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:37:21 server PAM_pwdb[1928]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:43:09 server PAM_pwdb[8735]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:43:09 server PAM_pwdb[8736]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:43:10 server PAM_pwdb[8738]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:43:10 server PAM_pwdb[8739]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:43:11 server PAM_pwdb[8740]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:43:18 server PAM_pwdb[8771]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:48:34 server PAM_pwdb[10216]: (ftp) session opened for user theusername by (uid=0)
Apr 4 22:59:14 server PAM_pwdb[12110]: (ftp) session opened for user theusername by (uid=0)
Apr 4 23:00:17 server PAM_pwdb[12958]: (ftp) session opened for user theusername by (uid=0)
Apr 4 23:07:46 server PAM_pwdb[14033]: (ftp) session opened for user theusername by (uid=0)
Apr 4 23:08:01 server PAM_pwdb[14077]: (ftp) session opened for user theusername by (uid=0)
Apr 4 23:23:37 server PAM_pwdb[18877]: (ftp) session opened for user theusername by (uid=0)
Apr 6 00:19:09 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 00:25:20 server pure-ftpd: (theusername@xx.x.132.115) [INFO] Timeout (no new data for 900 seconds)
Apr 6 00:42:56 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 00:44:03 server pure-ftpd: (theusername@xx.x.132.115) [NOTICE] /home/theusername//public_html/site/BK950064.pdf downloaded (138123 bytes, 662.35KB/sec)
Apr 6 00:44:19 server pure-ftpd: (theusername@xx.x.132.115) [NOTICE] /home/theusername//public_html/site/BK950064.pdf downloaded (138123 bytes, 567.04KB/sec)
Apr 6 00:44:56 server pure-ftpd: (theusername@xx.x.132.115) [INFO] Logout.
Apr 6 21:15:34 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 21:15:38 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 21:15:46 server pure-ftpd: (theusername@xx.x.132.115) [INFO] Logout.
Apr 6 21:30:38 server pure-ftpd: (theusername@xx.x.132.115) [INFO] Timeout - try typing a little faster next time
Apr 6 21:39:23 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 21:44:11 server pure-ftpd: (theusername@xx.x.132.115) [INFO] Timeout (no new data for 900 seconds)
Apr 6 21:44:12 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 21:44:12 server pure-ftpd: (theusername@xx.x.132.115) [NOTICE] Restarting at 1515520
Apr 6 21:47:53 server pure-ftpd: (theusername@xx.x.132.115) [INFO] Timeout (no new data for 900 seconds)
Apr 6 21:47:54 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 21:47:54 server pure-ftpd: (theusername@xx.x.132.115) [NOTICE] Restarting at 4292608
Apr 6 21:47:57 server pure-ftpd: (theusername@xx.x.132.115) [NOTICE] /home/theusername//.spamassassin/user_prefs uploaded (287385 bytes, 90.30KB/sec)
Apr 6 22:02:57 server pure-ftpd: (theusername@xx.x.132.115) [INFO] Timeout - try typing a little faster next time
Apr 6 22:28:52 server pure-ftpd: (?@xx.x.132.115) [INFO] theusername is now logged in
Apr 6 22:29:26 server pure-ftpd: (theusername@xx.x.132.115) [NOTICE] /home/theusername//mail/thedomain.com/mike/inbox uploaded (1178318 bytes, 90.06KB/sec)
I've browsed the forums left and right and just can't seem to get a fix here.
############################################################
# #
# Configuration file for pure-ftpd wrappers #
# #
############################################################
# If you want to run Pure-FTPd with this configuration
# instead of command-line options, please run the
# following command :
#
# /usr/sbin/pure-config.pl /usr/etc/pure-ftpd.conf
#
# Please don't forget to have a look at documentation at
# http://www.pureftpd.org/documentation.shtml for a complete list of
# options.
# Cage in every user in his home directory
ChrootEveryone yes
# If the previous option is set to "no", members of the following group
# won't be caged. Others will be. If you don't want chroot()ing anyone,
# just comment out ChrootEveryone and TrustedGID.
# TrustedGID 100
# Turn on compatibility hacks for broken clients
BrokenClientsCompatibility no
# Maximum number of simultaneous users
MaxClientsNumber 50
# Fork in background
Daemonize yes
# Maximum number of sim clients with the same IP address
MaxClientsPerIP 8
# If you want to log all client commands, set this to "yes".
# This directive can be duplicated to also log server responses.
VerboseLog no
# List dot-files even when the client doesn't send "-a".
DisplayDotFiles yes
# Don't allow authenticated users - have a public anonymous FTP only.
AnonymousOnly no
# Disallow anonymous connections. Only allow authenticated users.
NoAnonymous no
# Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
# The default facility is "ftp". "none" disables logging.
SyslogFacility ftp
# Display fortune cookies
# FortunesFile /usr/share/fortune/zippy
# Don't resolve host names in log files. Logs are less verbose, but
# it uses less bandwidth. Set this to "yes" on very busy servers or
# if you don't have a working DNS.
DontResolve yes
# Maximum idle time in minutes (default = 15 minutes)
MaxIdleTime 15
# LDAP configuration file (see README.LDAP)
# LDAPConfigFile /etc/pureftpd-ldap.conf
# MySQL configuration file (see README.MySQL)
# MySQLConfigFile /etc/pureftpd-mysql.conf
# Postgres configuration file (see README.PGSQL)
# PGSQLConfigFile /etc/pureftpd-pgsql.conf
# PureDB user database (see README.Virtual-Users)
# PureDB /etc/pureftpd.pdb
# Path to pure-authd socket (see README.Authentication-Modules)
ExtAuth var/run/ftpd.sock
# If you want to enable PAM authentication, uncomment the following line
# PAMAuthentication yes
# If you want simple Unix (/etc/passwd) authentication, uncomment this
# UnixAuthentication yes
# Please note that LDAPConfigFile, MySQLConfigFile, PAMAuthentication and
# UnixAuthentication can be used only once, but they can be combined
# together. For instance, if you use MySQLConfigFile, then UnixAuthentication,
# the SQL server will be asked. If the SQL authentication fails because the
# user wasn't found, another try # will be done with /etc/passwd and
# /etc/shadow. If the SQL authentication fails because the password was wrong,
# the authentication chain stops here. Authentication methods are chained in
# the order they are given.
# 'ls' recursion limits. The first argument is the maximum number of
# files to be displayed. The second one is the max subdirectories depth
LimitRecursion 2000 8
# Are anonymous users allowed to create new directories ?
AnonymousCanCreateDirs no
# If the system is more loaded than the following value,
# anonymous users aren't allowed to download.
MaxLoad 4
# Port range for passive connections replies. - for firewalling.
# PassivePortRange 30000 50000
# Force an IP address in PASV/EPSV/SPSV replies. - for NAT.
# Symbolic host names are also accepted for gateways with dynamic IP
# addresses.
# ForcePassiveIP 192.168.0.1
# Upload/download ratio for anonymous users.
# AnonymousRatio 1 10
# Upload/download ratio for all users.
# This directive superscedes the previous one.
# UserRatio 1 10
# Disallow downloading of files owned by "ftp", ie.
# files that were uploaded but not validated by a local admin.
AntiWarez yes
# IP address/port to listen to (default=all IP and port 21).
# Bind 127.0.0.1,21
# Maximum bandwidth for anonymous users in KB/s
# AnonymousBandwidth 8
# Maximum bandwidth for *all* users (including anonymous) in KB/s
# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.
# UserBandwidth 8
# File creation mask. <umask for files>:<umask for dirs> .
# 177:077 if you feel paranoid.
Umask 133:022
# Minimum UID for an authenticated user to log in.
MinUID 100
# Allow FXP transfers for authenticated users.
AllowUserFXP no
# Allow anonymous FXP for anonymous and non-anonymous users.
AllowAnonymousFXP no
# Users can't delete/write files beginning with a dot ('.')
# even if they own them. If TrustedGID is enabled, this group
# will have access to dot-files, though.
ProhibitDotFilesWrite no
# Prohibit *reading* of files beginning with a dot (.history, .ssh...)
ProhibitDotFilesRead no
# Never overwrite files. When a file whoose name already exist is uploaded,
# it get automatically renamed to file.1, file.2, file.3, ...
AutoRename no
# Disallow anonymous users to upload new files (no = upload is allowed)
AnonymousCantUpload no
# Only connections to this specific IP address are allowed to be
# non-anonymous. You can use this directive to open several public IPs for
# anonymous FTP, and keep a private firewalled IP for remote administration.
# You can also only allow a non-routable local IP (like 10.x.x.x) to
# authenticate, and keep a public anon-only FTP server on another IP.
#TrustedIP 10.1.1.1
# If you want to add the PID to every logged line, uncomment the following
# line.
#LogPID yes
# Create an additional log file with transfers logged in a Apache-like format :
# fw.c9x.org - jedi [13/Dec/1975:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
# This log file can then be processed by www traffic analyzers.
AltLog xferlog:/usr/local/apache/domlogs/ftpxferlog
# Create an additional log file with transfers logged in a format optimized
# for statistic reports.
# AltLog stats:/var/log/pureftpd.log
# Create an additional log file with transfers logged in the standard W3C
# format (compatible with most commercial log analyzers)
AltLog xferlog:/usr/local/apache/domlogs/ftpxferlog
# Disallow the CHMOD command. Users can't change perms of their files.
[
#NoChmod yes
# Allow users to resume and upload files, but *NOT* to delete them.
#KeepAllFiles yes
# Automatically create home directories if they are missing
#CreateHomeDir yes
# Enable virtual quotas. The first number is the max number of files.
# The second number is the max size of megabytes.
# So 1000:10 limits every user to 1000 files and 10 Mb.
#Quota 1000:10
# If your pure-ftpd has been compiled with standalone support, you can change
# the location of the pid file. The default is /var/run/pure-ftpd.pid
#PIDFile /var/run/pure-ftpd.pid
# If your pure-ftpd has been compiled with pure-uploadscript support,
# this will make pure-ftpd write info about new uploads to
# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and
# spawn a script to handle the upload.
#CallUploadScript yes
# This option is useful with servers where anonymous upload is
# allowed. As /var/ftp is in /var, it save some space and protect
# the log files. When the partition is more that X percent full,
# new uploads are disallowed.
MaxDiskUsage 99
# Set to 'yes' if you don't want your users to rename files.
#NoRename yes
# Be 'customer proof' : workaround against common customer mistakes like
# 'chmod 0 public_html', that are valid, but that could cause ignorant
# customers to lock their files, and then keep your technical support busy
# with silly issues. If you're sure all your users have some basic Unix
# knowledge, this feature is useless. If you're a hosting service, enable it.
CustomerProof yes
# Per-user concurrency limits. It will only work if the FTP server has
# been compiled with --with-peruserlimits (and this is the case on
# most binary distributions) .
# The format is : <max sessions per user>:<max anonymous sessions>
# For instance, 3:20 means that the same authenticated user can have 3 active
# sessions max. And there are 20 anonymous sessions max.
# PerUserLimits 3:20
# When a file is uploaded and there is already a previous version of the file
# with the same name, the old file will neither get removed nor truncated.
# Upload will take place in a temporary file and once the upload is complete,
# the switch to the new version will be atomic. For instance, when a large PHP
# script is being uploaded, the web server will still serve the old version and
# immediatly switch to the new one as soon as the full file will have been
# transfered. This option is incompatible with virtual quotas.
# NoTruncate yes
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
# including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
TLS 1
# Listen only to IPv4 addresses in standalone mode (ie. disable IPv6)
# By default, both IPv4 and IPv6 are enabled.
# IPV4Only yes
# Listen only to IPv6 addresses in standalone mode (ie. disable IPv4)
# By default, both IPv4 and IPv6 are enabled.
# IPV6Only yes
I have never used FTP pro, but, I looked through your last post.
2 things stood out, that I thought might be problems.
8 KB/s maximum bandwiidth.
IPV4 Only and IPV6 only, wouldn't they cancel each other out.
Does a normal ftp download work?
__________________
Go RedWings
How to know if you are a geek.
when you respond to "get a life!" with "what's the URL?"
- Birger
TYPE I
200 TYPE is now 8-bit binary
PASV
227 Entering Passive Mode (xx,x,179,254,48,127)
connecting data channel to xx,x.179.254:48,127(12415)
data channel connected to xx,x.179.254:48,127(12415)
STOR user_prefs
150 Accepted data connection
hResRead: 0, hResWrite:80042003
Error reading response from server.
transferred 3416064 bytes in 228.828 seconds, 116.629 Kbps ( 14.579 Kbps), transfer failed.
It appears that the connection is dead. Attempting reconnect...
Connecting to xx,x.179.254:21
Connected to xx,x.179.254:21 in 0.015625 seconds, Waiting for Server Response
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 22:44. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Host type (1): Automatic Detect
USER jschwoeb
331 User jschwoeb OK. Password required
PASS (hidden)
230-User jschwoeb has group access to: jschwoeb
230 OK. Current restricted directory is /
SYST
215 UNIX Type: L8
Host type (2): Unix (Standard)
PWD
257 "/" is your current location
CWD .spamassassin
250 OK. Current directory is /.spamassassin
New connection OK. Reissuing command.
TYPE I
200 TYPE is now 8-bit binary
PASV
227 Entering Passive Mode (xx,x,179,254,183,169)
connecting data channel to xx,x.179.254:183,169(47017)
data channel connected to xx,x.179.254:183,169(47017)
REST 3416064
350 Restarting at 3416064
STOR user_prefs
150 Accepted data connection
226-File successfully transferred
226 12.621 seconds (measured here), 90.06 Kbytes per second
transferred 1163929 bytes in 12.625 seconds, 720.253 Kbps ( 90.032 Kbps), transfer Succeeded.
Transfer request completed with status: Finished
PWD
257 "/.spamassassin" is your current location
TYPE A
200 TYPE is now ASCII
PASV
227 Entering Passive Mode (xx,x,179,254,79,241)
connecting data channel to xx,x.179.254:79,241(20465)
data channel connected to xx,x.179.254:79,241(20465)
LIST
150 Accepted data connection
transferred 466 bytes in < 0.001 seconds, 3640.625 Kbps ( 455.078 Kbps), transfer succeeded.
226-Options: -a -l
226 7 matches total
The file eventually transfers (in this case), but the fault/restart causes a long delay. A file upload that should take about 2-3 minutes is taking about 10-15 minutes.
It is always the same write error hResWrite:80042003 leading to the same Error reading response from server..
As for 8kb, notice that it is commented out by default. Server is on a 100mbps port.
Open Source Security Myths Dispelled Dispel the five major myths surrounding Open Source Security and gain the tools necessary to make a truly informed decision for your IT organization subscribe
InformationWeek InformationWeek is the only newsweekly you'll need to stay on top of the latest developments in information technology. subscribe