La seguridad de la información debe ser uno de los estándares y tareas más importantes que como usuarios y administradores debemos tener en cuenta ya que la información delicada y privada de cada usuario radica allí, y aunque existen cientos de herramientas y utilidades enfocadas en mejorar la seguridad, no todas cumplen a cabalidad con ello.
Una de las mejores herramientas para esta tarea es ionCube la cual es un codificador PHP con la habilidad de usar la detección de intrusión en el sitio en tiempo real y cuenta con una aplicación de informes de errores para facilitar las tareas de administración.
Al usar ionCube, podemos permitir que las secuencias de comandos de PHP tengan la capacidad de controlar en que sitios se ha de ejecutar el código PHP, de este modo los archivos pueden tener un vencimiento de tiempo, además, todo el código que no es PHP, como el caso de XML, también podrá ser encriptado.
ionCube cuenta con tres ediciones, Basic, Pro y Cerberus, y todas ellas ofrecen codificación PHP compilada haciendo uso de bytecode ofuscado, más el cifrado opcional de archivos que no son PHP con lo cual se incrementan la posibilidad de seguridad.
ionCube podrá ser usado en sistemas Windows, Linux, FreeBSD y macOS, en este caso los codificadores de Windows y macOS poseen una interfaz gráfica de usuario con grandes beneficios, y todas las ediciones incluyen codificadores de línea de comando para su automatización.
- Soporta hasta PHP 7.2
- Cuenta con claves dinámicas y externas para ofrecer un mayor nivel de protección para bytecode compilado.
- Permite cifrar archivos que no son PHP, como XML y plantillas
- Soporta el uso de claves de cifrado opcionales que no son almacenadas, sino que se generen solo cuando sea realmente necesario (Teclas dinámicas)
- Codifica guiones de shell PHP
- Permite evitar la alteración de archivos haciendo uso de firmas digitales
- Genera archivos de licencia para restringir el acceso a archivos codificados
- Podremos crear archivos para caducar en una fecha determinada o después de un período de tiempo
- Restringe archivos para ejecutar en direcciones MAC específicas
- Restringe archivos que pueden ser ejecutados en cualquier combinación de direcciones IP y / o nombres de servidor
Ahora veremos cómo instalar esta utilidad en CentOS 7.
1. Instalar Apache o Nginx Web Server con PHP en CentOS 7
Para el óptimo uso de ionCube, el servidor debe contar con un servidor web en ejecución (Apache o Nginx) con PHP instalado, en caso de no ser así, podremos instalarlo usando alguna de las siguientes opciones:
Instalar Apache con PHP: yum install httpd php php-cli php-mysql Instalar NGINX con PHP: yum install nginx php php-fpm php-cli php-mysql
En este caso instalaremos Apache con PHP:
Ahora veremos lo siguiente:
Allí ingresamos la letra Y para confirmar la descarga y más adelante aceptaremos la clave de Apache. Ingresamos la letra S para confirmar la acción.
2. Habilitar el servicio en el arranque de sistema en CentOS 7
Una vez instalado Apache con PHP, vamos a iniciar y habilitar el servicio en el arranque del sistema ejecutando lo siguiente:
systemctl start nginx systemctl enable nginx systemctl start php-fpm systemctl enable php-fpm
3. Descargar ionCube en CentOS 7
Antes de descargar el archivo de ionCube debemos saber qué tipo de arquitectura tenemos en el sistema, para ello ejecutaremos lo siguiente. En este caso es de 64 bits (X86_64).
uname -a
Para descargar el archivo asociado a esta arquitectura, vamos a acceder al directorio /tmp y ejecutar lo siguiente:
cd /tmp wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
En el caso de contar con una arquitectura de 32 bits, ejecutaremos lo siguiente:
cd /tmp wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
Procedemos a extraer el contenido:
tar -xvf ioncube_loaders_lin_x86*
Luego, accederemos a la carpeta de ionCube y ejecutamos lo siguiente:
cd ioncube/ ls -l
4. Instalar ionCube Loader para PHP en CentOS 7
En este caso debemos seleccionar el cargador de ionCube adecuado para la versión de PHP que tengamos en CentOS 7, para saber la versión de php instalada vamos a ejecutar lo siguiente:
php -v
Ahora, vamos a conocer la ubicación del directorio de extensión para PHP versión 5.4, que es donde se instalará el archivo cargador de ionCube, como resultado veremos que el directorio es /usr/lib64/php/modules, ejecutamos lo siguiente:
php -i | grep extension_dir
Ahora, vamos a copiar el cargador de ionCube allí:
cp /tmp/ioncube/ioncube_loader_lin_5.4.so /usr/lib64/php/modules Configuración del cargador de ionCube
Para esto, vamos a acceder usando el editor deseado al archivo de configuración de PHP así:
nano /etc/php.ini
Allí, añadiremos lo siguiente justo debajo de la primera línea del archivo de configuración:
zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.4.so
Guardamos los cambios usando la combinación de teclas siguiente:
Ctrl + O
Salimos del editor usando:
Ctrl + X
Procedemos a reiniciar el servicio así:
systemctl restart httpd
systemctl restart nginx systemctl restart php-fpm
Una vez realizado esto, ejecutamos de nuevo el comando “php -v” y el resultado será el siguiente:
De este modo hemos instalado ionCube y así todas las tareas de PHP estarán seguras.