Aprobar espacios de trabajo de Slack a través de un perfil de proxy web

Buenas ​👍, por si no me conocéis soy César Sánchez y vengo a contaros: ⬇️
Aprobar espacios de trabajo de Slack a través de un perfil de proxy web

Descripción

Este artículo describe cómo controlar el acceso a los espacios de trabajo de Slack mediante la inyección de encabezados HTTP.

Alcance

FortiGate ejecutando FortiOS 6.0 o superior con política de firewall basada en proxy y de inspección SSL completa.

Solución

Puede ser requerido por los administradores de TI para restringir el acceso a ciertos espacios de trabajo de Slack.

Esto puede lograrse aprovechando el perfil de proxy web para añadir dos cabeceras HTTP según la documentación de Slack que se indica a continuación (X-Slack-Allowed-Workspaces-Requester y X-Slack-Allowed-Workspaces.

https://slack.com/help/articles/360024821873-Approve-Slack-workspaces-for-your-network

Requisitos previos de Slack:

1) Debe ser propietario del espacio de trabajo o administrador del espacio de trabajo
2) El plan de Slack debe ser Business+ o Enterprise Grid.
3) Lo anterior es cierto para el contenido de la cabecera ‘X-Slack-Allowed-Workspaces-Requester’.

4) El contenido de la cabecera ‘X-Slack-Allowed-Workspaces’ puede ser cualquier espacio de trabajo público o privado.

Requisitos previos de FortiGate:

1) El modo de inspección de la política del cortafuegos debe establecerse como basado en proxy.
2) El perfil de inspección SSL debe estar configurado como Inspección SSL completa.

Nota.

Lo anterior es necesario sólo para el tráfico hacia el dominio y subdominios de slack.com.

Pasos de configuración:

1) Crear un objeto de dirección para los subdominios de Slack:

# config firewall address
editar «comodín.slack.com»

set type fqdn

set fqdn «*.slack.com»

siguiente

end

2) Crear un perfil de proxy web con la modificación de las cabeceras http:

Artículos relacionados  Autenticación NTLM mediante FSSO

# config web-proxy profile

editar «SLACK»

set log-header-change enable

configurar cabeceras

editar 1

set name «X-Slack-Allowed-Workspaces-Requester»

set dstaddr «comodín.slack.com»

set content «T03ARHV9669»

siguiente

editar 2

set name «X-Slack-Allowed-Workspaces»

set dstaddr «comodín.slack.com»

set content «T03ARHV9669»

siguiente

editar 3

set name «X-Slack-Allowed-Workspaces»

set dstaddr «comodín.slack.com»

set content » T0A93EN1Y»

siguiente

fin

siguiente

end

Nota.

Se pueden añadir múltiples cabeceras ‘X-Slack-Allowed-Workspaces’ en caso de que se apruebe más de un Slack Workspace.

3) Se puede habilitar el registro adicional con la configuración ‘set log-header-change enable’.

Esto generará un evento extra de tipo ‘http_header_change’ en los registros del filtro web según el ejemplo siguiente:

date=2022-05-11 time=21:03:38 eventtime=1652328219334999559 tz=»-0700″ logid=»0344013632″ type=»utm» subtype=»webfilter» eventtype=»http_header_change» level=»notice» vd=»root» policyid=40 poluuid=»2aa5f31e-8131-51ec-a460-093b51af60ae» policytype=»policy» transid=16777538 sessionid=168777 profile=»SLACK» srcip=172.16.3.30 srcport=54976 srccountry=»Reserved» dstip=44.237.180.172 dstport=443 dstcountry=»Estados Unidos» srcintf=»port6″ srcintfrole=»lan» dstintf=»port1″ dstintfrole=»wan» srcuuid=»cde13dc2-cfe2-51ec-f78f-0e0e49eaf177″ dstuuid=»2e1f07f4-ab2c-51ec-2a5b-4d01ad8b2ed6″ proto=6 service=»HTTPS» url=»https://robertao.slack.com/api/signin.findWorkspaces?_x_id=noversion-1652328222.694&slack_route=T000…» agent=»Chrome/92.0.4515.131″ chgheaders=»Añadido=X-Slack-Allowed-Workspaces-Requester: T03ARHV9669|X-Espacios de trabajo permitidos: T03ARHV9669X-Slack-Allowed-Workspaces: T03891MQN3W»

4) Aplicar el perfil de proxy web a una política de firewall, lo que sólo puede hacerse a través de la CLI

El ejemplo siguiente se aplica a todo el tráfico de reenvío desde 172.16.3.30 hacia el exterior; sin embargo, el cambio de las cabeceras http sólo se aplicará al tráfico que coincida con el perfil web-proxy, que en este ejemplo se limita a *.slack.com.

# configurar política de firewall

editar 40

set name «SLACK-Restricción»

set srcintf «puerto6»

set dstintf «virtual-wan-link»

set action accept

set srcaddr «172.16.3.30»

set dstaddr «all»

set schedule «always»

establecer servicio «TODOS»

set utm-status enable

set inspection-mode proxy

set webproxy-profile «SLACK»

set ssl-ssh-profile «deep-inspection»

set logtraffic all

Artículos relacionados  Uso de puntos de automatización para generar un resumen de los cambios de configuración.

set nat enable

siguiente

end

Nota.

El perfil de Filtro Web no es necesario, sólo son necesarios los perfiles de inspección web-proxy y SSL completo.

Verificación:

Es importante señalar que el usuario no recibirá un mensaje de sustitución (mensaje de página bloqueada) de FortiGate.

1) Registros del filtro web.

Para verificar si la configuración se está aplicando correctamente, se puede comprobar el registro mencionado anteriormente para confirmar que se realiza la modificación del encabezado.

date=2022-05-11 time=22:14:59 eventtime=1652332499253966355 tz=»-0700″ logid=»0344013632″ type=»utm» subtype=»webfilter» eventtype=»http_header_change» level=»notice» vd=»root» policyid=40 poluuid=»2aa5f31e-8131-51ec-a460-093b51af60ae» policytype=»policy» transid=16777736 sessionid=187333 profile=»SLACK» srcip=172.16.3.30 srcport=49524 srccountry=»Reservado» dstip=44.237.180.172 dstport=443 dstcountry=»Estados Unidos» srcintf=»port6″ srcintfrole=»lan» dstintf=»port1″ dstintfrole=»wan» srcuuid=»cde13dc2-cfe2-51ec-f78f-0e0e49eaf177″ dstuuid=»2e1f07f4-ab2c-51ec-2a5b-4d01ad8b2ed6″ proto=6 service=»HTTPS» url=»https://robertao.slack.com/» agent=»Chrome/92.0.4515.131″ chgheaders=»Añadido=X-Slack-Allowed-Workspaces-Requester: T03ARHV9669X-Slack-Allowed-Workspaces: T03ARHV9669X-Slack-Allowed-Workspaces: T03891MQN3W»

2) Depuración del backend.

Los siguientes filtros pueden ser utilizados considerando que este tipo de depuración puede ser larga.

# diagnosticar filtro wad vd root
# diagnosticar wad filter firewall-policy 40
# diagnose wad debug enable

# diagnose wad debug enable category http

# diagnose debug console timestamp enable

# diagnose debug enable

La salida debería ser similar a la siguiente:

[I]2022-05-11 22:14:59.253880 [p:252][s:187333][r:16777736] wad_dump_http_request :2558 hreq=0x7ff80e80cb48 Solicitud recibida del cliente: 172.16.3.30:49524

GET / HTTP/1.1
Host: robertao.slack.com
sec-ch-ua: «Chromium»;v=»92″, » No es una marca»;v=»99″, «Google Chrome»;v=»92″
sec-ch-ua-mobile: ?0
upgrade-insecure-requests: 1
agente-usuario: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/92.0.4515.131 Safari/537.36
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site: ninguno
sec-fetch-mode: navigate
sec-fetch-user: ?1
sec-fetch-dest: documento
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
cookie: b=b88f5b36faece16a3ace963c8e79bd9d

[I]2022-05-11 22:14:59.253987 [p:252][s:187333][r:16777736] wad_dump_fwd_http_req :2567 hreq=0x7ff80e80cb48 Reenvía la petición al servidor:
GET / HTTP/1.1
Host: robertao.slack.com
sec-ch-ua: «Chromium»;v=»92″, » No es una marca»;v=»99″, «Google Chrome»;v=»92″
sec-ch-ua-mobile: ?0
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/92.0.4515.131 Safari/537.36
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site: ninguno
sec-fetch-mode: navigate
sec-fetch-user: ?1
sec-fetch-dest: documento
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
cookie: b=b88f5b36faece16a3ace963c8e79bd9d
X-Slack-Allowed-Workspaces-Requester: T03ARHV9669
X-Slack-Allowed-Workspaces: T03ARHV9669
X-Slack-Allowed-Workspaces: T03891MQN3W

Artículos relacionados  Métodos de modelado de tráfico y valor DSCP/ToS

3) Mensaje del navegador web para el acceso denegado.

Finalmente, el navegador del usuario final presentará un mensaje de bloqueo de Slack.

CarlosColombini_0-1652333469008.png

​🔒 Para terminar, agradecerte que hayas llegado hasta abajo de este artículo. Esperamos que haya servido para solucionar tus problemas y que recibamos pronto otra visita tuya.
Si no logras encontrar solución a tu dilema usa la barra de búsqueda o contacta con nosotros en los comentarios.
¡Un placer!

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Your email address will not be published. Required fields are marked *