www777abcdcom
FTP no es seguro y sólo debe utilizarse como último recurso.
vsftp tiene una seguridad relativamente buena
Se puede usar SFTP en lugar de FTP
Otro FTP comúnmente utilizado en Linux:
proftp p>
vsftp
pureftp
A continuación se toma VSFTP como ejemplo:
Método de instalación uno: instalación del paquete fuente
useradd -s / bin/false -d /var/ftp ftpvirtual
cd ......
make
make install
cp vsftpd .conf /etc
/usr/local/sbin/vsftpd amp; #Start
Método de instalación dos: instalación rpm, recomendado
rpm -ivh vsftpd- 2.0.1-5.i386.rpm
o yum install vsftpd
/etc/init.d/vsftpd start
Después de los dos Los métodos están instalados. Los métodos de configuración son los mismos. Comencemos con la configuración.
Primero, hablemos de las configuraciones comunes del archivo de configuración principal
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #El inicio de sesión anónimo está prohibido
local_enable=NO #Prohibir que los usuarios locales inicien sesión
write_enable=YES #Permisos de escritura para usuarios locales
local_umask=022 #Máscara de generación de archivos de usuario local
dirmessage_enable=YES #Mostrar archivos ocultos
xferlog_enable=YES #Habilitar registros de carga y descarga
connect_from_port_20=YES #El servidor habilitará las solicitudes de conexión para los datos FTP port
xferlog_std_format=YES #El servidor utilizará el formato de registro estándar ftpd xferlog
pam_service_name=vsftpd #Establezca el nombre del archivo de configuración del servicio de autenticación PAM
userlist_enable=YES #Establece si el usuario especificado en el archivo puede acceder al servidor vsftpd
listen=YES #El servidor FTP estará en modo de inicio independiente
tcp_wrappers=YES #Usa tcp_wrappers como host método de control de acceso
chroot_local_user=YES #Bloquear usuarios locales FTP en el directorio host
chroot_list_enable=YES #Bloquear usuarios en el directorio host
listen_address=192.168 .0.2 #Dirección de escucha
pasv_enable=YES #Si se permite el uso del modo pasivo, el valor predeterminado está permitido.
pasv_min_port=10000 #Especificar el valor mínimo del puerto abierto cuando se usa el modo pasivo
pasv_max_port=10004 #Especificar el valor máximo del puerto abierto cuando se usa el modo pasivo.
max_clients=100 #Establece el número máximo de conexiones de clientes permitidas por el servidor FTP. Un valor de 0 significa que no hay límite.
max_per_ip=5 #El número máximo de conexiones de clientes permitidas. por el mismo número de dirección IP, un valor de 0 significa sin límite, es decir, hilo
local_max_rate=500000 #Establezca la velocidad de transmisión máxima de los usuarios locales en bytes/seg, un valor de 0 significa que no. limit
anon_max_rate=200000 #Establece la velocidad máxima de transmisión de usuarios anónimos, en bytes/seg, un valor de 0 significa que no hay límite
use_localtime=YES #El valor predeterminado de tiempo en vsftp es la hora GMT explícita. Por lo tanto, encontraremos que la hora anterior es ocho horas diferente de la hora en la que depositamos y retiramos. Sólo cambia este.
listen_port=10021 Cambiar el puerto
one_process_model=NO sí puede aumentar el rendimiento, aumentar la carga y reducir la seguridad. Se recomienda NO
nopriv_user=nadie. se ejecuta como nadie de forma predeterminada vsftp
Para servicios externos, se recomienda iniciar en modo independiente para un buen rendimiento.
Solo para personal interno, se recomienda utilizar super demonio para iniciar, modificar de la siguiente manera:
listen=NO
...omitido
vsftp se usa como hora GMT predeterminada, se recomienda modificarlo de la siguiente manera:
use_localtime=YES
/etc/vsftpd.ftpusers #Guardar cuentas de usuario locales que no permita el inicio de sesión FTP para mejorar la seguridad del sistema
/etc/vsftpd.user_list
#Desactivar usuarios en vsftpd.user_list
userlist_enable=YES
userlist_deny=YES
#Solo permitir usuarios en vsftpd.user_list
userlist_enable=YES
userlist_deny=NO
Registrar:
vsftpd_log_file=/ var/log/vsftpd.log
Comencemos con los cuatro métodos de “autenticación de usuario” de vsftp
1 Usuario anónimo ftp anónimo<. /p>
/var/ftp Directorio de inicio predeterminado
En /etc/vsftpd/vsftpd.conf:
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable= SÍ #Se puede eliminar
chmod -R 777 /var/ftp/pub/
Modificar los permisos SELinux de /var/ftp/pub
Ejecute el siguiente comando, Modifique el tipo de directorio /var/ftp/pub:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/
anon_root=/var/www/html/ftp # Cambiar el directorio de inicio de usuarios anónimos
2. Usuarios locales
Soportados de forma predeterminada y usan sus propios directorios de inicio.
Inseguro
local_root=/opt #Agregar este elemento y cambiarlo a otra ruta
3. Método recomendado para el archivo PAM de usuario virtual
Establecer biblioteca de contraseñas de usuario virtual. archivo
# cat logins.txt
mike
pwabcd
john
pw1234
Generar archivo de autenticación vsftpd
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
Se requiere un archivo de configuración PAM para crear un nuevo usuario virtual
cat /etc/pam.d/vsftpd.vu
se requiere autenticación /lib/security/pam_userdb. =/etc/vsftpd/vsftpd_login
cuenta requerida /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
El usuario del sistema del usuario virtual recién creado debe acceda al directorio y establezca los permisos correspondientes
# useradd -s /bin/false -d /home/ftpsite ftpvirtual
# chmod 700 /home/ftpsite
# Configure el archivo de configuración vsftpd.conf para admitir usuarios virtuales
guest_enable=YES
guest_username=ftpvirtual
pam_service_name=vsftpd.vu
user_config_dir =/etc/vsftpd/vsftpd_user_conf #Agregar configuración del directorio del archivo de configuración del usuario
/etc/vsftpd/vsftpd_user_conf/mike (mismo nombre), las configuraciones que no se encuentren aquí se ejecutarán de acuerdo con la configuración de vsftpd. conf por defecto
anon_world_readable_only=NO #Puede explorar directorios FTP y descargar archivos
anon_upload_enable=YES #Los usuarios pueden cargar archivos, lo que equivale a write_enable=yes para permitir la carga
anon_mkdir_write_enable=YES #Tiene la capacidad de crear y el derecho a eliminar directorios
anon_other_write_enable=YES #Tiene el permiso para cambiar el nombre y eliminar archivos
local_root=/data/ espacio de usuario #Establece el directorio de inicio del usuario virtual después de iniciar sesión
anon_max_rate=1024000 #En bytes/s, esto está limitado a 8 Mbit y el rango es de aproximadamente 80 a 120
IV Método de autenticación de MySQL recomendado para usuarios virtuales
1. MySQL Para la instalación, consulte las notas de MySQL
2.1 openssl-0.9.8e Cuando el programa fuente está precompilado, aparece el error md5.h ". Presente pero no se puede compilar" puede aparecer en el registro. La desinstalación de algunos de los siguientes paquetes puede resolver el problema.
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel
Luego elimina los que puedan venir con el sistema: p>
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
Ruta de búsqueda del archivo de la biblioteca de configuración
#echo "/usr/local/ssl/lib" gt;gt; /etc/ld.so.conf
#ldconfig -v p>
2.2 O instale el paquete rpm de openssl-0.9.8e
3 pam_mysql-0.7RC1.tar.gz
#./configure --with-mysql. =/usr /local/mysql --with-openssl=/usr/local/ssl
Si mysql se instala mediante rpm, no hay ningún parámetro --with-mysql. Si openssl se instala mediante rpm, el parámetro es - -with-openssl
make; make install
Preste atención a la ruta pam_mysql.so, que puede ser /usr/lib/security/pam_mysql.so o / lib/security/pam_mysql.so
vi /etc/pam.d/vsftp.mysql #Nuevo, solo dos líneas
se requiere autenticación /lib/security/pam_mysql.so user= vsftpd passwd=123456 host=localhost db =vsftp table=usuarios usercolumn=nombre passwdcolumn=passwd crypt=2
cuenta requerida /lib/security/pam_mysql.so usuario=vsftpd passwd=123456 host=localhost db= vsftp table=usuarios usercolumn=name passwdcolumn =passwd crypt=2
4.0 Preparar base de datos, tablas y datos
mysqlgt; crear base de datos vsftp;
mysqlgt; seleccione en vsftp.* a vsftpd@ localhost identificado por '123456';
mysqlgt; conceda selección en vsftp.* a vsftpd@127.0.0.1 identificado por '123456';
mysqlgt ; usar vsftp;
mysqlgt; crear usuarios de tabla (
-gt;
id int AUTO_INCREMENT NOT NULL,
-gt; nombre char(20) binario NOT NULL,
-gt passwd char(48) binario NOT NULL,
-gt; clave primaria(id)
-gt;
mysqlgt; insertar en usuarios(nombre, contraseña) valores('hlc', contraseña('hlc') );
mysqlgt; insertar en usuarios(nombre, contraseña) valores('holly', contraseña('holly'));
5.0 Modificar el archivo de configuración principal
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name = vsftpd.mysql
Lo anterior ha completado la configuración de vsftp. Lo siguiente es un complemento:
dirmessage_enable=YES #Establezca el mensaje de bienvenida para crear un .message en cada directorio y escribe el mensaje de bienvenida.
paquete de soporte db_load (los tres primeros son suficientes):
db4
db4-devel
db4-utils
db4-java
db4-tcl
Linux recomienda desactivar selinux o no imponer ninguna seguridad en FTP
setsebool -P -ftpd_disable_trans on
p>setsebool -P -allow_ftpd_full_access on
reinicio del servidor vsftpd
O necesitas reiniciar el servidor
Los códigos numéricos que aparecen en FTP El acceso se enumera a continuación.
110 Reiniciar marcar respuesta.
120 ¿En cuánto tiempo estará listo el servicio?
El puerto de enlace de datos 125 está abierto y listo para la transmisión.
150 El estado del archivo es normal y el puerto de datos está abierto.
200 El comando se ejecutó exitosamente.
202 Error en la ejecución del comando.
211 Estado del sistema o respuesta de ayuda del sistema.
212 El estado del directorio.
213 El estado del archivo.
214 Mensaje de ayuda.
215 Tipo de sistema de nombres.
220 Nuevo servicio online listo.
El puerto de control del servicio 221 está cerrado y puedes cerrar sesión.
225 El enlace de datos está abierto, pero no hay acción de transmisión.
226 El puerto de datos está cerrado y la operación del archivo solicitado es exitosa.
227 Entra en modo pasivo.
230 Inicio de sesión de usuario.
250 Se completa la operación del archivo solicitado.
257 Muestra el nombre de la ruta actual.
331 El nombre de usuario es correcto, se requiere contraseña.
332 Se requiere información de la cuenta al iniciar sesión.
350 La operación solicitada requiere un comando adicional.
421 No se puede proporcionar servicio, cerrar enlace de control.
425 No se puede abrir el enlace de datos.
426 Cerrar la conexión y finalizar la transmisión.
450 No se realizó la operación solicitada.
451 Comando finalizado: Hubo un error local.
452 Comando no ejecutado: Espacio en disco insuficiente.
Error de formato 500, no se puede reconocer el comando.
501 Error de sintaxis de parámetros.
502 Error en la ejecución del comando.
503 Secuencia de comando incorrecta.
504 Los parámetros recibidos por el comando son incorrectos.
530 No iniciado sesión.
532 Se requiere iniciar sesión en la cuenta para guardar archivos.
550 No se realizó la operación solicitada.
551 El comando solicitado terminó con un tipo desconocido.
552 El archivo solicitado se finalizó y el espacio de almacenamiento se desbordó.
553 El comando solicitado no se ejecutó y el nombre es incorrecto.