Skip to content

Instantly share code, notes, and snippets.

@pbruna
pbruna / saslauthd.conf
Last active November 24, 2023 16:18
openLDAP Proxy with Meta Backend
# /etc/saslauthd.conf
ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=%d,dc=local
ldap_timeout: 10
ldap_filter: (|(uid=%U)(SAMACCOUNTNAME=%U))
ldap_bind_dn: cn=Manager,dc=local
ldap_password: secret
ldap_deref: never
ldap_restart: yes
ldap_scope: sub
@pbruna
pbruna / jwt.html
Created August 10, 2023 14:38
JWT for OnlyOffice
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/Javascript">
@pbruna
pbruna / levantamiento_zimbra.md
Last active October 20, 2021 09:02
Tareas de levantamiento Zimbra

Introducción

Este documento indica la información necesaria que se debe obtener en un levantamiento de Zimbra, como también los comandos que se deben ejecutar ello.

1. Diseño Plataforma

  1. Insertar diagrama de la Plataforma
  2. Cantidad de usuarios zmprov -l gaa | wc -l
  3. % de usuarios que usan Webmail, POP3, IMAP, Mobile, Outlook Conector
  4. Poseen equipo para filtrar Spam y Virus? Marca y Version
  5. Zimbra está conectado a un sistema de autenticación externo como AD o LDAP? Cual?
@pbruna
pbruna / zbox_reporte_falla_2015020901.md
Last active October 20, 2021 09:00
Reporte de la caída del servicio de correo del día 09 de Febrero de 2015

A continuación se explican los eventos que resultaron en la caída de los servicios de correo el día Martes pasado, y que duró un poco más de 45 minutos. Esta caída afectó al 70% de los usuarios de ZBox Mail.

ZBox Mail es una plataforma distribuida, es decir, existen varios servidores que cumplen funciones específicas, no uno sólo que realiza todo el trabajo. Cada servidor pertenece a uno de estos roles:

  • Mailbox, servidor donde residen los datos de las casillas de correo. El repartir las casillas en más de un servidor se mejora la velocidad de acceso y en caso de falla, no se ven afectados todos los usuarios.

  • MTA, servidor encargado de recibir y despachar los correos hacia y desde Internet. También realiza el trabajo de filtrar los correos para permitir que sólo quienes estén autorizados, puedan enviar correo usando nuestra plataforma.

  • Balanceador de Carga / Proxy, es el servidor que responde cuando los usuarios se conectan para revisar sus correos. Este servidor los redirigi al Mailbox c

  • Bunny Hops: 30 seconds
  • Jumping Jacks: 30 seconds
  • Cherry Pickers: 30 seconds
  • Lunge to Twist: 30 seconds - alternate sides
  • Skater Plyos: 60 seconds - alternate sides
  • Air Squats: 60 seconds
  • Rest Period: 30 seconds
  • Alternating Supermans: 60 seconds - alternate arms and legs
  • Lateral Pushups: 60 seconds - alternate sides
  • Rest Period: 30 seconds
@pbruna
pbruna / mruby_nginx_mail_auth_router.rb
Last active April 4, 2018 12:45
A mruby-nginx example of how to do an Auth Router for a Mail Proxy
backend = ""
request = Nginx::Request.new
auth_user = request.headers_in["Auth-User"]
domain = auth_user.split(/@/).last
backend_zimbra_open = "http://opmailbox1:7072/service/extension/nginx-lookup"
backend_zimbra_network = "http://nemailbox1:7072/service/extension/nginx-lookup"
auth_headers = {
"Auth-User" => request.headers_in["Auth-User"],
@pbruna
pbruna / carterdte_api.md
Last active May 18, 2017 19:51
Ejemplo de consultas y respuestas de API CarterDTE

1. Inicio de Sesion

ENDPOINT: Zimbra

El usuario debe ser validado contra Zimbra usando:

  • LDAP, o
  • La API SOAP

Sólo usuarios con el atributo zimbraIsDelegatedAdminAccount == TRUE o zimbraIsAdmin == TRUE deben ingresar. Al validar correctamente se debe retorar un Carter_Auth_Token el cual se usará para todas las solicitudes siguientes.

@pbruna
pbruna / FuckZimbraSignature.html
Last active January 31, 2017 17:52
Problema de tamaño de Zimbra
<!-- Este es el original enviado por CVega -->
<div style="color: #000000;
font-family: arial, helvetica, sans-serif;
font-size: 16px; font-style: normal; font-variant-ligatures: normal;
font-variant-caps: normal; font-weight: normal; letter-spacing: normal;
orphans: 2; text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: #ffffff;
word-wrap: break-word;">
<div>
@pbruna
pbruna / Vagrantfile.rb
Created December 2, 2016 15:04
Vagrantfile for Zimbra
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "bento/centos-7.2"
config.ssh.insert_key = false
# Compartir directorio de desarollo de Zimlets
var exec = require('child_process').exec;
var hash = {
'A': {els: [1,2], result: 0},
'B': {els: [1,2,3,4,5], result: 0},
'C': {els: [1,2,3,4,5], result: 0},
'D': {els: [1,4,5], result: 0},
}
var COMANDOS = [