NoSQL Pastebin basado en PHP.

Creado: Diciembre 24, 2022

Estuve dando vueltas por medio Internet, buscaba un servicio amigable de Pastebin el cual no tuviera demasiados requerimientos.

Al parecer, esto ultimo no es sencillo y todo lo existente requiere que altere mi instalación actual, por suerte existe algo en PHP y MySQL, lo cual solo agrega como requerimiento lo ultimo mencionado.

Aunque no me gusto inicialmente (Todo tiende a ser muy complicado o demasiado sencillo) pero decidí que seria bueno portar la implementación de dicho proyecto a una base de datos NoSQL o en este caso Lazer Database, una base de datos Flat-File.

El proyecto puede ser clonado desde aquí. Las instrucciones de como utilizar la aplicación están disponibles en el archivo README.md.


Apache Virtual Hosts con mod_macro

Creado: Octubre 8, 2022

Esta semana estuvo entretenida, una de mis búsquedas estuvo referida a la optimización de Virtual Hosts en Apache (1000+). La idea es no repetir código, que se pueda leer, que al buscar un Virtual Host este este presente mediante la ejecución de httpd -S.

Y entre todas mis lecturas me encontré con este modulo. Básicamente, mod_macro nos permite: Proporciona macros dentro de los archivos de configuración de tiempo de ejecución de Apache httpd, para facilitar el proceso de creación de numerosos bloques de configuración similares. Cuando se inicia el servidor, las macros se expanden utilizando los parámetros proporcionados y el resultado se procesa junto con el resto del archivo de configuración.

Leer artículo...

Nginx y Apache Security Headers

Creado: Octubre 5, 2022

Security Headers para Apache y Nginx actualizados, una breve reseña de los mismos. Este breve articulo no es mas que una nota o cheatsheet de los security headers a utilizar y requeridos en su mayoría. Si desean leer sobre el tema pueden seguir el siguiente enlace.

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header Feature-Policy "microphone none;camera none;geolocation none;";
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header Expect-CT "max-age=31536000; report-uri=https://www.barrahome.org/contact";
add_header Access-Control-Allow-Origin "*" always;

El equivalente para Apache seria utilizando algo como esto:

<IfModule mod_headers.c>
   Header always set X-XSS-Protection "1; mode=block"
<IfModule mod_headers.c>

Pueden observar los resultados aplicados en este blog visitando el sitio de Serpworx.

Leer artículo...

Apache con ExecCGI y FPM

Creado: Septiembre 22, 2022

Una simple receta con notas de como se debe configurar un Virtual Host con Apache para que ejecute CGIs y PHP.

Esta configuración de Apache se realizo bajo Ubuntu 22.04 con el modulo de proxy_fcgi, setenvif y cgid. El modulo cgid se habilita cuando nuestro MPM es event mientras que cuando ejecutamos prefork el modulo a utilizar es cgi.

En Ubuntu se habilita o deshabilita el modulo mediante el comando: a2enmod cgi{d} dependiendo del MPM a utilizar. Para conocer mas sobre estos comandos a2enmod/a2dismod pueden visitar el siguiente enlace. Para PHP-FPM puede que deban ejecutar a2enconf y pueden leer mas sobre esto en este otro enlace.

Leer artículo...

Centos Apache SELinux

Creado: Noviembre 15, 2020

Guía rápida de como habilitar SELinux con Apache en Centos 7/8 utilizando directorio personal y otros características.

Esto es ciertamente muy básico pero útil y practico. Tener en cuenta que hay pasos los cuales me salte dado que cualquiera leyendo esto tiene una noción básica de lo que estoy escribiendo.

Luego de instalar Apache con dnf o yum pasamos a permitir Apache con el siguiente comando:

sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P httpd_enable_homedirs 1

Si quieren saber que otras opciones existen en el contexto de httpd pueden ejecutar esta variante:

sudo getsebool -a | grep "httpd_can"
Leer artículo...