FTP es una figura veterana en las aplicaciones de Internet, que facilita el intercambio de archivos por parte de usuarios empresariales. Sin embargo, los problemas de seguridad siempre han estado relacionados con FTP. Cómo evitar que los atacantes roben información importante de los servidores FTP por medios ilegales; cómo evitar que los atacantes utilicen servidores FTP para propagar troyanos y virus, etc. Éstas son cuestiones a las que los administradores de sistemas deben prestar atención. En esta ocasión tomaré VSFTP, que es el más utilizado en la plataforma del sistema operativo Linux, como ejemplo para hablar sobre cómo mejorar la seguridad del servidor FTP.
1. Prohibir que los usuarios a nivel del sistema inicien sesión en el servidor FTP.
Para mejorar la seguridad del servidor FTP, es mejor que los administradores del sistema configuren cuentas FTP separadas para los empleados en lugar de dar usuarios a nivel del sistema a usuarios comunes, lo que traerá grandes riesgos de seguridad. En el servidor VSFTP, las cuentas de inicio de sesión se pueden administrar a través del archivo de configuración vsftpd.ftpusers. Sin embargo, esta cuenta está en una lista negra y las personas incluidas en ella no podrán usar su cuenta para iniciar sesión en el servidor FTP. Después de implementar el servidor VSFTP, podemos usar el comando vi para ver el archivo de configuración y encontrar que ya tiene muchas cuentas predeterminadas. Entre ellos, el superusuario raíz del sistema también se encuentra entre ellos. Se puede ver que, por razones de seguridad, el servidor VSFTP prohíbe que la cuenta raíz inicie sesión en el servidor FTP de forma predeterminada. Si el administrador del sistema desea permitir que cuentas del sistema, como root, inicien sesión en el servidor FTP, debe eliminar root y otros nombres de usuario relacionados en este archivo de configuración. Sin embargo, permitir que la cuenta del sistema inicie sesión en el servidor FTP tendrá un impacto negativo en su seguridad. Por esta razón, no recomiendo que los administradores del sistema hagan esto. Es mejor que los administradores no cambien ninguna de las cuentas del sistema relacionadas en este archivo y conserven la configuración de estas cuentas.
Si por otros motivos necesita deshabilitar otras cuentas, puede agregar los nombres de las cuentas a este archivo. Por ejemplo, se pueden implementar en el servidor un servidor FTP y un servidor de base de datos al mismo tiempo. Por razones de seguridad, es una buena idea agregar la cuenta del administrador de la base de datos a esta lista negra.
2. Fortalecer el control sobre los usuarios anónimos.
Los usuarios anónimos se refieren a aquellas cuentas que no se han definido en el servidor FTP y el administrador del sistema FTP aún necesita que inicien sesión para facilitar la administración. Pero después de todo, no han obtenido la autorización del servidor. Para mejorar la seguridad del servidor, sus permisos deben estar restringidos. También hay muchos parámetros en el servidor VSFTP que se pueden usar para controlar los permisos de usuarios anónimos. Los administradores del sistema deben realizar trabajos de configuración relevantes según el nivel de seguridad del servidor FTP. Cabe señalar que cuanto más estricto sea el control de permisos de los usuarios anónimos, mayor será la seguridad del servidor FTP, pero al mismo tiempo también se reducirá la comodidad del acceso de los usuarios. Por lo tanto, al final, los administradores de sistemas todavía necesitan lograr un equilibrio entre la seguridad y la conveniencia del servidor.
A continuación se muestran varias configuraciones que recomiendo para usuarios anónimos. Si no sabe cómo configurarlas, puede consultar estas configuraciones. Estas configuraciones tienen en cuenta la seguridad del servidor y la comodidad del usuario.
Uno es el parámetro anon_world_readable_only. Este parámetro se utiliza principalmente para controlar si los usuarios anónimos pueden descargar archivos legibles desde el servidor FTP. Si el servidor FTP se implementa dentro de la empresa y lo utilizan principalmente empleados internos, es mejor configurar este parámetro en SÍ. Luego, coloque en él algunos formularios corporativos comunes y otros documentos disponibles públicamente, para que los empleados puedan descargar estos documentos de forma anónima. Esto no afectará la seguridad del servidor FTP, pero también facilitará la operación de otros empleados.
El segundo es el parámetro anon_upload_enable. Este parámetro indica si los usuarios anónimos pueden cargar archivos al servidor FTP bajo acceso anónimo. Normalmente, este parámetro debe establecerse en No. Es decir, los usuarios no pueden cargar archivos durante el acceso anónimo. De lo contrario, si alguien puede cargar un archivo, si la otra parte carga un archivo de virus, la empresa se verá afectada. Por lo tanto, se debe prohibir a los usuarios anónimos cargar archivos. Pero hay excepciones a esto. Por ejemplo, algunas empresas utilizan el protocolo FTP para realizar copias de seguridad de archivos. En este momento, si la seguridad de la red corporativa está garantizada, puede configurar este parámetro en SÍ, lo que permite al sistema operativo llamar al comando FTP para realizar una copia de seguridad de los archivos en el servidor FTP. En este caso, para simplificar la implementación de los procedimientos de copia de seguridad, se suele utilizar el acceso anónimo. Por lo tanto, a los usuarios anónimos se les debe permitir cargar archivos en el servidor FTP.
El tercero es el parámetro anon_other_write_enable y el parámetro anon_mkdir_write_enable. Estos dos parámetros implican principalmente algunos permisos relativamente avanzados de usuarios anónimos. Por ejemplo, el primer parámetro indica que el usuario anónimo tiene otros permisos además de cargar y crear subdirectorios, como cambiar el nombre de los archivos en el servidor FTP, etc. El segundo parámetro indica que los usuarios anónimos pueden crear subdirectorios en circunstancias específicas. Estas funciones afectarán la seguridad del servidor FTP y la seguridad de los archivos. Por este motivo, a menos que exista un motivo especial, estos permisos deben estar deshabilitados. Es decir, establezca los valores de estos parámetros en NO. Creo que, a menos que el administrador del sistema utilice el servidor FTP por diversión, estos parámetros se pueden activar. De lo contrario, es mejor configurar estos parámetros en NO para mejorar la seguridad del servidor FTP.
En general, el control de usuarios anónimos debe seguir el principio de privilegio mínimo. Debido a que los usuarios anónimos son usuarios que no están autorizados por el servidor FTP, no se puede realizar un control de acceso de permisos de nivel profundo. Por este motivo, sólo se puede controlar a través de estos parámetros básicos.
3. Controla bien el directorio.
Normalmente, los administradores del sistema necesitan configurar diferentes directorios raíz para cada usuario diferente. Por razones de seguridad y para evitar que diferentes usuarios interfieran entre sí, el administrador del sistema debe configurarlo para que los usuarios no puedan acceder a los directorios raíz de otros usuarios. Por ejemplo, algunas empresas configuran una cuenta FTP para cada departamento para facilitar el intercambio de archivos. Luego, el departamento de ventas tiene un directorio raíz de ventas; el departamento de almacén tiene un directorio raíz de Ware. Como empleados de ventas, pueden acceder a cualquier subdirectorio bajo su propio directorio raíz, pero no pueden acceder al directorio raíz del usuario del almacén Ware. En este caso, los empleados del departamento comercial no podrán acceder a los ficheros del usuario del almacén. Se puede ver que al restringir el acceso de los usuarios a directorios distintos del directorio raíz, es posible evitar que diferentes usuarios interfieran entre sí y mejorar la seguridad de los archivos en el servidor FTP. Para lograr este propósito, el parámetro chroot_local_user se puede configurar en NO. Después de esta configuración, todos los usuarios que hayan iniciado sesión localmente no pueden ingresar a otros directorios que no sean el directorio raíz. Sin embargo, al realizar este control, es mejor configurar un directorio al que todos puedan acceder para almacenar algunos archivos públicos. Debemos garantizar la seguridad del servidor sin afectar el intercambio y comunicación normal de archivos.
4. Limite la velocidad de transmisión.
A veces, para garantizar el funcionamiento estable del servidor FTP, es necesario limitar la velocidad de carga y descarga de archivos. Por ejemplo, en el mismo servidor, el servidor FTP, el servidor de correo, etc. se implementan por separado. Para que estos servicios de aplicaciones coexistan pacíficamente, es necesario controlar su velocidad máxima de transmisión. Porque el ancho de banda de un mismo servidor tiene un límite máximo. Si un servicio de aplicación ocupa un ancho de banda relativamente grande, tendrá un impacto adverso en otros servicios de aplicaciones e incluso hará que otros servicios de aplicaciones no puedan responder normalmente a las necesidades de los usuarios. Otro ejemplo es que a veces FTP necesita establecer límites de velocidad máxima según su finalidad. Si se utiliza FTP para la copia de seguridad, carga y descarga de archivos al mismo tiempo, para mejorar la eficiencia de la copia de seguridad de archivos y acortar el tiempo de la copia de seguridad, es necesario limitar la velocidad máxima de carga y descarga de archivos.
Para implementar la limitación de la velocidad de transmisión, el administrador del sistema puede configurar el parámetro local_max_rate. Por defecto, este parámetro no está habilitado, es decir, no hay límite de tarifa máxima. Sin embargo, según las razones anteriores, sigo recomendando que los administradores del sistema establezcan este parámetro antes de poner el servidor FTP en producción. Evite impactos negativos en otros servicios de aplicaciones debido al consumo excesivo de ancho de banda para carga y descarga. Los administradores de sistemas deben lograr un equilibrio entre los diversos servicios de aplicaciones y asignar de manera razonable el ancho de banda. Al menos asegúrese de que cada servicio de aplicación pueda responder a las solicitudes de los clientes con normalidad. Además, cuando sea posible, es necesario realizar operaciones fuera de las horas pico. Por ejemplo, un servidor de correo y un servidor FTP se implementan en un host al mismo tiempo. El servidor FTP se utiliza principalmente para realizar copias de seguridad de archivos. Entonces, para evitar que la copia de seguridad de archivos tenga un impacto adverso en el envío y la recepción de correo electrónico (debido a que la copia de seguridad de archivos requiere un ancho de banda relativamente grande, lo que reducirá en gran medida la velocidad de envío y recepción de correo electrónico), es mejor separar la copia de seguridad de archivos del período pico. del envío y recepción de correo electrónico. Si la hora pico para enviar y recibir correos electrónicos suele ser cuando vas a trabajar por la mañana, entonces no utilices el servicio FTP para realizar copias de seguridad de archivos. Durante la pausa del almuerzo, generalmente envío y recibo menos correos electrónicos. En este punto, puede utilizar FTP para realizar copias de seguridad de archivos. Por lo tanto, si el servidor FTP y otros servicios de aplicaciones se ejecutan en horas de menor actividad, la tarifa se puede establecer más alta para mejorar la eficiencia operativa del servicio FTP. Por supuesto, esto impone exigencias relativamente altas a los administradores de sistemas. Porque los administradores de sistemas necesitan analizar varias aplicaciones y luego hacer planes integrales basados en la implementación del servidor. A menos que existan medidas más estrictas y mejores condiciones, es necesario maximizar la velocidad de transmisión del servidor FTP. De lo contrario, tendrá un impacto muy negativo en otros servicios de información implementados en la empresa y provocará congestión en la red empresarial.