
Asegure los directorios grabables
Recomendamos mover todos los directorios grabables a una ubicación no pública para evitar el acceso basado en la web. Hay tres directorios grabables necesarios para que WHMCS funcione, estos son: attachments, downloads and templates_c
WHMCS necesita que se le dé la nueva ubicación de los directorios grabables. Esto se hace en dos lugares:
File Storage
Los directorios de almacenamiento de attachments y downloads se pueden mover a una ubicación local o almacenarse de forma remota en un servicio compatible con AWS S3. Si no está familiarizado con el servicio AWS S3, le recomendamos utilizar la opción de almacenamiento local.
1) Crear la ubicación de almacenamiento. Esto podría ser:
* Un directorio grabable en su servidor sobre la raíz web
* Un depósito de almacenamiento no público compatible con AWS S3.
2) Vaya a Setup > Storage Settings
3) Use la interfaz para agregar ubicaciones de almacenamiento seguras y cambiar a ellas.
Templates Cache
El caché de plantillas (templates_c) se usa para mejorar el rendimiento de páginas y correos electrónicos con plantillas.
1) Cree un directorio templates_c en la ubicación deseada (una ubicación no pública sobre su raíz web)
2) Edite el archivo configuration.php y especifique la ruta a la nueva ubicación agregando una nueva línea:
$templates_compiledir = “/home/username/templates_c/”;
En el ejemplo anterior, “username” es el nombre de usuario de cPanel, por lo que la carpeta se encuentra en el directorio de inicio, arriba de public_html.
Asegure el archivo configuration.php
Recomendamos ajustar los permisos establecidos para el archivo “configuration.php” ubicado en su directorio raíz WHMCS. Este archivo contiene datos confidenciales que no se pueden recuperar sin una copia de seguridad del archivo. Para evitar sobrescribir, editar o eliminar accidentalmente el archivo, cambie la configuración de permisos de este archivo a 400
. Esto proporciona acceso de solo lectura al archivo por parte del sistema y evita que cualquier otra persona lea, edite o ejecute el archivo.
Para cambiar los permisos en este archivo, puede ejecutar el siguiente comando desde el shell mientras está en su directorio raíz WHMCS:
chmod 400 configuration.php
Mover el directorio de Crons
La carpeta crons se puede mover a cualquier lugar encima o debajo de la docroot ó public_html. Recomendamos moverlo a un directorio no público sobre su raíz web para evitar el acceso basado en la web.
Los archivos dentro del directorio crons necesitan saber dónde encontrar su instalación WHMCS, y su instalación WHMCS necesita saber dónde encontrar el directorio crons, por lo que el proceso de reubicación implica editar dos archivos.
- Comience eligiendo una nueva ubicación para su directorio crons y mueva toda la carpeta /crons/ y los contenidos a ella.
- Abra el archivo config.php dentro del directorio crons y siga las instrucciones para descomentar la línea de ruta WHMCS y proporcionar la ruta completa a su instalación WHMCS. Por ejemplo:
$whmcspath = ‘/home/username/public_html/whmcs/’;
3. Abra el archivo configuration.php dentro del directorio raíz de instalación de WHMCS y agregue la siguiente línea al final del archivo para que WHMCS pueda localizar su ubicación de directorio crons personalizada y mostrarle las rutas correctas que necesita usar para cron y Configuración del comando de tuberías dentro de la interfaz de administración.
$crons_dir = ‘/home/username/whmcs_crons/’;
Restringir el acceso por IP
Para una mayor protección, si su personal usa direcciones IP fijas, puede agregar aún más protección a su área de administración restringiendo el acceso a un conjunto específico de IP. Esto se hace creando un archivo con el nombre .htaccess dentro de su directorio de administración WHMCS, con el siguiente contenido:
order deny,allow
allow from 12.34.5.67
allow from 98.76.54.32
deny from all
Puede especificar tantos permisos diferentes de líneas como necesite. O incluso puede permitir subredes IP completas especificando solo la primera parte de una IP, por ejemplo: “12.34.”. Esto se llama restricción de IP de htaccess.
Restringir los privilegios de la base de datos
Para el uso diario, solo se requieren los siguientes privilegios de base de datos. Todos los demás pueden estar deshabilitados.
- DELETE
- INSERT
- SELECT
- UPDATE
- LOCK TABLES
Tenga en cuenta que la instalación, actualización, activación y desactivación de módulos requieren los siguientes privilegios adicionales.
- ALTER
- CREATE
- DROP
- INDEX