sábado, 10 de septiembre de 2016

Haz tu blog Wordpress más rápido sin plugins

Una de las cosas que más pueden fastidiar al internauta medio es acceder a páginas lentas. Nos hemos acostumbrado a acceder a la información de forma rápida y repetida, por lo que un punto importante para mejorar la sensación de nuestros visitantes es hacer que nuestra página cargue los más rápido posible.

Tras seguir los consejos básicos y recurrentes (reducir tamaño de las imágenes, elegir un tema simple, evitar el abuso de Javascripts, etc.), el siguiente punto que todos los manuales recomiendan es la activación de caché en los archivos (para evitar que el navegador se descargue cada vez la misma foto perdiendo tiempo) y la compresión de los archivos enviados para reducir el tamaño de la información enviada (especialmente importante para los visitantes móviles). Existen múltiples plugins para Wordpress especializados en esta tarea, pero seamos realistas, salvo que tengas una gran cantidad de tráfico usarlos sería como matar a cañonazos. Una solución simple, efectiva, y que evitar instalar más plugins en nuestras webs sería modificar el fichero .htaccess de nuestra web añadiendo el código descrito a continuación.

Activación caché
Con el siguiente código le indicamos al navegador de nuestro cliente que una vez que haya bajado un fichero puede reutilizarlo tantas veces como necesite, sin tener que volverlo a descargar, hasta que llegue la fecha de caducidad. Cuando subimos una imagen JPG a nuestro blog para decorar una entrada no la volvemos a tocar en la vida por lo que descargarla en cada visita es una pérdida de tiempo y ancho de banda, así con el siguiendo código le indicamos al navegador del visitante que puede almacenar esa imagen durante un año y reutilizarla tantas veces como necesite en ese tiempo.

## EXPIRES CACHING ##

ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"

## EXPIRES CACHING ##
Activación compresión 
La compresión GZIP permite que al enviar archivos éstos se compriman en el servidor y descompriman en el navegador del usuario consiguiendo que los datos transmitidos sean menores. Así se consigue ahorrar ancho de banda, lo cual es importante para los visitantes móviles y para aquellos que tengan contratado un plan con limitación de datos en sus blogs.

## GZIP ##

  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml
  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent

## END GZIP ##

Compruebalo
Haz un test de velocidad gratuito de tu blog con GTMetrix antes y después de incorporar estos códigos y verás que sí hay diferencia.

martes, 6 de septiembre de 2016

Recopilación de legislación española referente a la Ciberseguridad

El Instituto Nacional de Ciberseguridad de España (INCIBE) ha recopilado en un único documento todas las diferentes normativas y regulaciones que afectan, total o parcialmente, a la ciberseguridad en el estado español. Aunque se trata más de una ayuda a los agentes jurídicos que tengan que actuar ante un caso concreto, nunca está de más que los responsables tecnológicos puedan conocer las responsabilidades legales derivadas de su trabajo diario.

Este compendio legal incluye normativa tan dispar como regulación del CNI, requisitos de los secretos oficiales, protección de infraestructuras críticas, firma electrónica, conservación de datos de telecomunicaciones, procedimientos administrativos, etc. Se trata pues de un texto legal y poco apto para quien no sea del sector.

Podéis descargaros semejante mamotreto legal (865 páginas) en formato PDF, ePUB o comprar una versión impresa en esta web del: Boletín Oficial del Estado.

lunes, 15 de agosto de 2016

Elegir la numeración interna en nuestra centralita

Tradicionalmente, en España, se han utilizado numeraciones de cuatro dígitos para definir las extensiones, grupos de salto, listas de servicios, etc. internos de una centralita. El uso de cuatro dígitos resulta un buen compromiso entre capacidad de gestión (permite 10.000 identificadores de extensiones, diferenciación de servicios, capacidad de crecimiento, etc.) y la facilidad de memorización por parte de los usuarios finales (Aunque esto sea cada vez menos importantes al avanzar en la integración de los servicios de telefonía tradicional con las comunicaciones integradas). Aunque en servicios pequeños es posible utilizar tan sólo 2 dígitos, cuando una instalación crece se suele dar el salto a los cuatro dígitos. Se trata pues de una convención social y no de una cuestión técnica como tal (podríamos definir extensiones de 1, 3, 57 o 512 dígitos si quisiéramos).

Las numeraciones internas de una centralita, da igual si tradicional o de telefonía IP, son responsabilidad de la propia centralita y son eso, internas, por lo que cada instalador puede realizar la configuración que mejor le parezca sin que haya afectación hacia el exterior. Así pues el número de dígitos, el orden y la numeración elegida para la gestión interna de la centralita no deberían tener afectación en el exterior. Por lo que debemos tener en cuenta varios factores externos que sí afectarían al uso de la telefonía por parte los usuarios:

Evitar numeración de tres dígitos
En España se utiliza numeración pública de tres dígitos para servicios públicos por lo que es preferible evitar su uso dentro de nuestra centralita para evitar confusiones para los usuarios finales. Si un usuario tiene que llamar a emergencias marcará el 112 esperando que le conteste personal cualificado para poder movilizar los servicios de emergencia necesarios y no que suene la extensión de María Rodriguez en contabilidad. Lo mismo podría pasar con los bomberos (080) o la Guardia Civil (062). Quizás los casos de información local (010) o de la Administración General del Estado (060) no sean tan críticos pero son igualmente molestos para los usuarios que tengan dichas extensiones.

Evitar numeración de cuatro dígitos que empiece por 1 y 2
Dentro del Plan Nacional de Numeración de España se reserva la numeración de cuatro dígitos que empieza por 1 (1000 - 1999) para "Servicios Generales" si bien, probablemente por motivos históricos, dentro de este rango podemos encontrar bastante numeración pública de la empresa Telefónica/Movistar (1004, 1002...).
Igualmente se reserva la numeración de cuatro a seis dígitos dígitos que empiece por 103, 104, 105 y 107 a  servicios internos de las propias operadoras por lo que es posible que una operadora de telefonía ponga un servicio de atención al cliente (sólo accesible desde su propia red) con el número 1033 y que coincida con la extensión de Pilar de marketing.
La numeración que empiece por 12 y 22 corresponde a servicios internos de las operadoras. Por ejemplo Movistar utiliza el 1212 para dar la información que antes ofrecían los servicios de hora exacta o despertador (Ver información en su web).



Si queréis profundizar más en el tema de la numeración y ver qué hay provincias con dos prefijos (como el 971/871 en Baleares o ) y que tenemos tantas líneas de móviles que ya no basta con la numeración de nueve dígitos que empieza por 6 por lo que se añadido algunas de las que empiezan por 7, aquí tenéis el documento oficial del Ministerio de Industria, Energía y Turismo de España con el plan nacional oficial de numeración E.164 (PDF, 7 páginas, 68KB).

-----

Pregunta para responder en los comentarios: 
Las nuevas numeraciones de telefonía móvil empiezan por 71, 72, 73 y 74. ¿Por qué no por 70?

viernes, 29 de julio de 2016

Evitar que mensajes de consola molesten al conectarnos a un equipos Cisco

Cuando estamos conectado a un equipo por consola es común que nos muestre por pantalla todas aquellas entradas de log que vaya surgiendo ya que, por defecto, la consola es la salida predeterminada de dichos mensajes. Este comportamiento, que es muy útil cuando estás depurando errores (con algún debug activado) puede ser muy molesto si estamos configurando ya que, nuevamente de forma predeterminada, los mensajes salen por pantalla desde el punto donde esté el cursor en este momento. Eso hace que los mensajes de log pueden aparecer en mitad de la escritura un comando dificultando el trabajo con el equipo.
en Cisco se incorpora una sencilla instrucción que hace que los mensajes que aparecen por pantalla lo hagan en una línea por debajo de lo que estamos escribiendo, sin solaparase, lo cual facilita mucho la gestión: logging synchronous

La activación de este comando sería

ROUTER#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
ROUTER(config)#line console 0
ROUTER(config-line)#logging synchronous 
ROUTER(config-line)#end
ROUTER#

martes, 26 de julio de 2016

Atajos de teclado para Windows 10

Estamos acostumbrados a utilizar el ratón para interactuar con un entorno gráfico pero hay que reconocer que en muchas ocasiones es un engorro, y un retraso, tener que apartar las manos del teclado para realizar un cambio y luego volver al teclado. Para aumentar la productividad muchas aplicaciones llevan incorporadas atajos de teclado que permiten la ejecución de instrucciones específicas sin tener que separar las manos del teclado, como el famoso Ctrl+P para imprimir.

Los sistemas operativos de Micrososft, desde sus inicios en Windows 95, llevan incorporados esos atajos pero no siempre los conocemos todos, así que os dejo un enlace a un artículos (en inglés) con los atajos incluidos en Windows 10:

https://www.dropbox.com/s/gau2ixcg5g5mj64/Shortcut-Keys-For-Windows-10.pdf?dl=0

¿Sabías que la combinación de tecla Windows + Imprimir pantalla guarda una captura de pantalla directamente en un fichero en disco? Usando únicamente Imprimir pantalla se hace una copia en memoria que después debemos pegar en nuestro editor gráfico favorito mientras que con esta combinación de teclas ya se genera el archivo directamente, lo cual es muy útil si necesitamos hacer varias capturas seguidas ;)

viernes, 22 de julio de 2016

Conocer estado configuración actual de una interfaz en H3C


Cuando realizamos cambios de configuración en los puertos de un switch por regla general la mayoría de fabricantes requieren que se elimine la configuración anterior y se configuren los nuevos requerimientos. Durante este proceso esa toma suele quedar inoperativa ya quela configuración está a medias. Además el orden de las instrucciones suele ser importante (p.e. en Cisco antes de poner una interfaz en modo trunk hay que especificar el encapsulamiento) por lo que hay veces que podemos perdernos al darnos error alguna instrucción y no saber cuál es la configuración exacta de la interfaz en un momento dado.
Los nuevos switches HP, aquellos que han surgido tras al integración con 3Com, incorporan una funcionalidad muy útil que nos permite ver la configuración de una interfaz concreta sin tener que recurrir a ver toda la configuración general: display this.

Con esta instrucción podemos ver la configuración actual de una interfaz en el momento preciso sin tener que salir de la configuración de la interfaz y recurrir a instrucciones del tipo display current-configuration | begin 1/0/15

[SWITCH01-GigabitEthernet1/0/15]display this
#
interface GigabitEthernet1/0/15
 port link-mode bridge
 port link-type trunk
 port trunk permit vlan all
#
return
[SWITCH01-GigabitEthernet1/0/15]
[SWITCH01-GigabitEthernet1/0/9]display this
#
interface GigabitEthernet1/0/9
 port link-mode bridge
#
return
[SWITCH01-GigabitEthernet1/0/9] 

jueves, 31 de marzo de 2016

Que nuestro Linux no responda al ping

Aunque la seguridad por oscuridad no es una buena idea la verdad es que el hecho de que nuestros servidores pasen inadvertidos para la gran mayoría de sistemas de rastreo automático nos permitirá vivir más tranquilos.

Una de las formas de escapar de las múltiples oleadas de rastreadores es que nuestro servidor no responda a las peticiones ping (ICMP Echo Request) de tal manera que para los rastreadores más sencillos, la inmensa mayoría, nuestro servidor no esté operativo y por lo tanto no intenten atacarlo posteriormente. Se trata pues de una estrategia de ocultación que nos permitirá reducir la cantidad de ataques desde Internet pero que no protegerá nuestros equipos frente a los mismos.

Hacer que Linux ignore todos los ping ahora

Dentro del directorio /proc/sys/net/ipv4 encontramos un fichero llamado icmp_echo_ignore_all que contiene un único valor numérico. Como su propio nombre indica, este fichero, o más bien su contenido, indica al sistema si debe ignorar todas las peticiones icmp echo que reciba. Para ello simplemente hay que darle un valor:

  • 0 para decirle que no ignora las peticiones (es decir, que las responda)
  • 1 para indicar que sí las ignore (es decir, que no responda)

Así que basta ejecutar lo siguiente, como root:

root@linux# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
El problema de esta estrategia es que tras el próximo reinicio el servidor perderá esta configuración y volverá a responder a los ping.

Hacer que Linux ignore todos los ping siempre

Si queremos que el servidor no repsonda al ping aunque se reinicie debemos seguir estos pasos:

  1. Modificar el fichero de configuración /etc/sysctl.conf y añadirle una nueva línea con la siguiente instrucción net.ipv4.icmp_echo_ignore_all = 1
  2. Recargar la configuración con el comando sysctl -p, o bien reiniciar el equipo


Recordad que esta configuración evita que se responda a cualquier ping (incluso los realizados localmente desde el propio equipo) por lo que si queremos que algunas peticiones sí sean respondidas tendremos queoptar por soluciones de filtrado más completas (iptables, etc.).

martes, 2 de febrero de 2016

Consultar entradas DNS en diferentes servidores

En los entornos empresariales podemos encontrarnos con la existencia de servidores DNS (Domain Name System) que permiten una resolución de nombres diferenciada para los usuarios internos y las peticiones públicas. Así los usuarios de la propia empresa reciben una dirección IP privada de tal manera que pueden acceder a los servicios internos directamente mientras que los usuarios públicos, externos a la empresa, reciben una resolución que hace referencia a una dirección IP pública accesible a través de Internet.
Con esta diferenciación se permite separar los dos tráficos (el interno y el público) de tal forma que pueden compartir recursos (servidores, ancho de banda, etc.) o ser totalmente independiente.
Esas configuraciones pueden generar algo de confusión sobre en qué servicio se está trabajando en realidad por lo que puede dificultar la resolución de incidencias.

Veamos cómo averiguar si hay diferencias entre la resolución interna y la externa para un dominio concreto utilizando la propia utilidad de nslookup:

  1. Ejecutamos el programa nslookup 
  2. Realizamos la búsqueda deseada con la configuración de usuario local
  3. Cambiar de servidor de DNS mediante el comando "server"
    1. El servidor 8.8.8.8 del ejemplo es uno de los DNS públicos de Google
  4. Realizar la misma búsqueda y comparar el resultado
Ejemplo:
C:\Users\Andreu>nslookup
Servidor predeterminado:  192.168.1.1
Address:  192.168.1.1

> www.midominio.com
Servidor:  192.168.1.1
Address:  80.58.61.250

Respuesta no autoritativa:
Nombre:  midominio.com
Address:  192.168.3.35
Aliases:  www.midominio.com

> server 8.8.8.8
Servidor predeterminado:  google-public-dns-a.google.com
Address:  8.8.8.8

> www.midominio.com
Servidor:  google-public-dns-a.google.com
Address:  8.8.8.8

Respuesta no autoritativa:
Nombre:  midominio.com
Address:  184.107.221.118
Aliases:  www.midominio.com

>