Skip to content

Instantly share code, notes, and snippets.

@oneohthree
oneohthree / quick-slugify.sh
Last active February 22, 2024 01:53
Quick bash slugify
echo "$STRING" | iconv -t ascii//TRANSLIT | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g | tr A-Z a-z
@oneohthree
oneohthree / samba-ad-dc-howto.md
Last active February 16, 2023 18:40
samba-ad-dc-howto.md

Instalación de Samba como Active Directory Domain Controller (AD DC)

Consideraciones previas

  • Sistema operativo: Debian GNU/Linux 9 (Stretch)
  • Nombre de host: dc
  • Nombre de dominio: foo.bar
  • Dirección IP: 192.168.0.1

Configuración de nombres de hosts

Protección de las credenciales enviadas por el navegador al servidor proxy

Problema

Es sabido que durante el proceso de autenticación en un servidor proxy HTTP las credenciales se envian en texto plano. Lo anterior pudiera convertirse en un problema de seguridad. Esta vulnerabilidad permite a un usuario malicioso capturar fácilmente el par usuario contraseña utilizando un ataque de tipo MitM.

Solución

Una solución viable consiste en configurar el servidor proxy con soporte para SSL, de modo que el tráfico enviado desde el navegador hacia este viaje por un canal seguro. Para esto, el navegador debe ser capaz de comunicarse con el servidor proxy a través del protocolo HTTP sobre SSL/TLS.

Qué es una VLAN

Este documento describe la definición de VLAN, por qué se usan, cómo funcionan y cómo configurarlas.

Las VLAN separan LAN físicas en múltiples dominios de broadcast para aislar servicios con el fin de mejorar la seguridad y la administración de la red. Los hosts dentro de redes VLAN se pueden comunicar directamente solo con otros hosts en la misma VLAN y deben utilizar un router para comunicarse con otros hosts en otras VLAN.

Dos switches se instalan en ubicaciones distintas, por ejemplo, en pisos diferentes en un edificio. Ambos switches conectan dos computadoras que pertenecen a empresas distintas. En este caso, las computadoras pueden asignarse a diferentes VLAN, logrando así un aislamiento de usuarios entre empresas.

Un switch identifica paquetes provenientes de diferentes VLAN de acuerdo con la información contenida en sus etiquetas VLAN. IEEE 802.1Q agrega una etiqueta de 4 bytes entre la dirección MAC de Origen/Destino y el campo Longitud/Tipo a una trama Ethernet, como se muestr

A Known Plaintext Attack on the PKZIP Stream Cipher: Una receta exótica

Receta para descifrar archivos ZIP cifrados con el algoritmo de PKZIP, por Eli Biham y Paul Kocher e implementación de Peter Conrad.

Utensilios

  • pkcrack

Ingredientes

systemctl stop pve*
nano /etc/hostname
nano /etc/hosts
hostnamectl set-hostname new_hostname
reboot
cp /var/lib/rrdcached/db/pve2-node/old_hostname /var/lib/rrdcached/db/pve2-node/new_hostname
cp /var/lib/rrdcached/db/pve2-storage/old_hostname /var/lib/rrdcached/db/pve2-storage/new_hostname
lf="$(curl -s https://product-details.mozilla.org/1.0/firefox_versions.json \
| jq -r .LATEST_FIREFOX_VERSION)"
lt="$(curl -s https://product-details.mozilla.org/1.0/thunderbird_versions.json \
| jq -r .LATEST_THUNDERBIRD_VERSION)"
releases=("win32" "win64" "linux-i686" "linux-x86_64")
locales=("es-ES" "en-US")
for release in "${releases[@]}"; do
for locale in "${locales[@]}"; do
<?xml version="1.0"?>
<presets>
<MKV_VP8>
<label>MKV VP8</label>
<params>-crf 15.0 -f matroska -b:v 8000k -r 25 -vcodec libvpx -acodec aac -ar 48000 -b:a 192k -coder 1 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me_method hex -subq 6 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -strict -2</params>
<extension>mkv</extension>
<category>MKV</category>
</MKV_VP8>
<MKV_VP9>
<label>MKV VP9</label>

Integración de proxy cache Squid con Samba 4 AD DC

Este documento describe el proceso de integración de Samba AD DC con Squid con soporte para la autenticación Kerberos y basic (como fallback).

Consideraciones previas

  • Sistema operativo: Debian GNU/Linux 9 (Stretch) 64bits
  • Version de Squid: 3.5
  • Nombre de dominio: foo.bar
  • Nombre de host del servidor AD DC: dc
lf="$(curl -s https://product-details.mozilla.org/1.0/firefox_versions.json | \
jq -r .LATEST_FIREFOX_VERSION)"
lt="$(curl -s https://product-details.mozilla.org/1.0/thunderbird_versions.json | \
jq -r .LATEST_THUNDERBIRD_VERSION)"
releases=("win32" "win64" "lnux-i686" "linux-x86_64")
locales=("es-ES" "en-US")
for release in "${releases[@]}"; do
for locale in "${locales[@]}"; do