From 3e8e8cef8e30a03241d61d3938458aa8744826df Mon Sep 17 00:00:00 2001 From: Florent Daigniere Date: Mon, 24 Jun 2024 09:22:19 +0200 Subject: [PATCH] Update network graph --- docs/mailu-network-diagram.ipynb | 601 ++++++++++++++++++------------- 1 file changed, 349 insertions(+), 252 deletions(-) diff --git a/docs/mailu-network-diagram.ipynb b/docs/mailu-network-diagram.ipynb index 7b4336a5..6d2a87d8 100644 --- a/docs/mailu-network-diagram.ipynb +++ b/docs/mailu-network-diagram.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -14,378 +14,461 @@ "\n", "\n", - "\n", - "\n", + "\n", + "\n", "mailu\n", - "\n", - "Mailu\n", + "\n", + "Mailu\n", "\n", "\n", "internet\n", - "\n", - "Internet\n", + "\n", + "Internet\n", + "\n", + "\n", + "\n", + "proxy\n", + "\n", + "Optional proxy\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "25/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "80/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "443/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "465/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "587/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "110/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "995/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "143/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "993/tcp\n", + "\n", + "\n", + "\n", + "internet->proxy\n", + "\n", + "\n", + "4190/tcp\n", "\n", "\n", - "\n", + "\n", "front\n", - "\n", - "Front\n", + "\n", + "Front\n", "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "80/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "443/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "25/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "465/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "587/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "110/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "995/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "143/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "993/tcp\n", - "\n", - "\n", - "\n", - "internet->front\n", - "\n", - "\n", - "4190/tcp\n", - "\n", - "\n", + "\n", "\n", - "front->front\n", - "\n", - "\n", - "8008/tcp\n", + "proxy->front\n", + "\n", + "\n", + "25/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "80/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "443/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "465/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "587/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "110/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "995/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "143/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "993/tcp\n", + "\n", + "\n", + "\n", + "proxy->front\n", + "\n", + "\n", + "4190/tcp\n", "\n", "\n", - "\n", + "\n", "front->front\n", - "\n", - "\n", - "8000/tcp\n", + "\n", + "\n", + "8008/tcp\n", + "\n", + "\n", + "\n", + "front->front\n", + "\n", + "\n", + "8000/tcp\n", "\n", "\n", - "\n", + "\n", "admin\n", - "\n", - "Admin\n", + "\n", + "Admin\n", "\n", "\n", - "\n", + "\n", "front->admin\n", - "\n", - "\n", - "8080/tcp\n", + "\n", + "\n", + "8080/tcp\n", "\n", "\n", - "\n", + "\n", "smtp\n", - "\n", - "SMTP\n", + "\n", + "SMTP\n", "\n", "\n", - "\n", + "\n", "front->smtp\n", - "\n", - "\n", - "25/tcp\n", + "\n", + "\n", + "25/tcp\n", "\n", "\n", - "\n", + "\n", "front->smtp\n", - "\n", - "\n", - "10025/tcp\n", + "\n", + "\n", + "10025/tcp\n", "\n", "\n", - "\n", + "\n", "antispam\n", - "\n", - "Antispam\n", + "\n", + "Antispam\n", "\n", "\n", - "\n", + "\n", "front->antispam\n", - "\n", - "\n", - "11334/tcp\n", + "\n", + "\n", + "11334/tcp\n", "\n", "\n", - "\n", + "\n", "imap\n", - "\n", - "IMAP\n", + "\n", + "IMAP\n", "\n", "\n", - "\n", + "\n", "front->imap\n", - "\n", - "\n", - "4190/tcp\n", + "\n", + "\n", + "4190/tcp\n", "\n", "\n", - "\n", + "\n", "front->imap\n", - "\n", - "\n", - "143/tcp\n", + "\n", + "\n", + "143/tcp\n", "\n", "\n", - "\n", + "\n", "front->imap\n", - "\n", - "\n", - "110/tcp\n", + "\n", + "\n", + "110/tcp\n", "\n", "\n", - "\n", + "\n", "webdav\n", - "\n", - "WebDAV\n", + "\n", + "WebDAV\n", "\n", "\n", - "\n", + "\n", "front->webdav\n", - "\n", - "\n", - "5232/tcp\n", + "\n", + "\n", + "5232/tcp\n", "\n", "\n", - "\n", + "\n", "webmail\n", - "\n", - "Webmail\n", + "\n", + "Webmail\n", "\n", "\n", - "\n", + "\n", "front->webmail\n", - "\n", - "\n", - "80/tcp\n", + "\n", + "\n", + "80/tcp\n", "\n", "\n", - "\n", + "\n", "redis\n", - "\n", - "Redis\n", + "\n", + "Redis\n", "\n", "\n", - "\n", + "\n", "admin->redis\n", - "\n", - "\n", - "6379/tcp\n", + "\n", + "\n", + "6379/tcp\n", "\n", "\n", - "\n", + "\n", "admin->imap\n", - "\n", - "\n", - "2525/tcp\n", + "\n", + "\n", + "2525/tcp\n", "\n", "\n", - "\n", + "\n", "smtp->front\n", - "\n", - "\n", - "2525/tcp\n", + "\n", + "\n", + "2525/tcp\n", "\n", "\n", - "\n", + "\n", "smtp->admin\n", - "\n", - "\n", - "8080/tcp\n", + "\n", + "\n", + "8080/tcp\n", "\n", "\n", - "\n", + "\n", "smtp->antispam\n", - "\n", - "\n", - "11332/tcp\n", + "\n", + "\n", + "11332/tcp\n", "\n", "\n", - "\n", + "\n", "antispam->admin\n", - "\n", - "\n", - "80/tcp\n", + "\n", + "\n", + "8080/tcp\n", "\n", "\n", - "\n", + "\n", "antispam->redis\n", - "\n", - "\n", - "6379/tcp\n", + "\n", + "\n", + "6379/tcp\n", "\n", "\n", - "\n", + "\n", "antivirus\n", - "\n", - "Anti-Virus\n", + "\n", + "Anti-Virus\n", "\n", "\n", - "\n", + "\n", "antispam->antivirus\n", - "\n", - "\n", - "3310/tcp\n", + "\n", + "\n", + "3310/tcp\n", "\n", "\n", - "\n", + "\n", "oletools\n", - "\n", - "Oletools\n", + "\n", + "Oletools\n", "\n", "\n", - "\n", + "\n", "antispam->oletools\n", - "\n", - "\n", - "11343/tcp\n", + "\n", + "\n", + "11343/tcp\n", "\n", - "\n", - "\n", - "imap->front\n", - "\n", - "\n", - "25/tcp\n", + "\n", + "\n", + "imap->proxy\n", + "\n", + "\n", + "25/tcp\n", "\n", "\n", - "\n", + "\n", "imap->admin\n", - "\n", - "\n", - "8080/tcp\n", + "\n", + "\n", + "8080/tcp\n", "\n", "\n", - "\n", + "\n", "imap->antispam\n", - "\n", - "\n", - "11334/tcp\n", + "\n", + "\n", + "11334/tcp\n", "\n", "\n", - "\n", + "\n", "fts_attachments\n", - "\n", - "Tika\n", + "\n", + "Tika\n", "\n", "\n", - "\n", + "\n", "imap->fts_attachments\n", - "\n", - "\n", - "9998/tcp\n", + "\n", + "\n", + "9998/tcp\n", + "\n", + "\n", + "\n", + "webmail->proxy\n", + "\n", + "\n", + "443/tcp\n", "\n", "\n", - "\n", + "\n", "webmail->front\n", - "\n", - "\n", - "14190/tcp\n", + "\n", + "\n", + "14190/tcp\n", "\n", "\n", - "\n", + "\n", "webmail->front\n", - "\n", - "\n", - "10025/tcp\n", + "\n", + "\n", + "10025/tcp\n", "\n", "\n", - "\n", + "\n", "webmail->front\n", - "\n", - "\n", - "10143/tcp\n", + "\n", + "\n", + "10143/tcp\n", "\n", "\n", - "\n", + "\n", "fetchmail\n", - "\n", - "Fetchmail\n", + "\n", + "Fetchmail\n", "\n", "\n", - "\n", + "\n", "fetchmail->front\n", - "\n", - "\n", - "25/tcp\n", + "\n", + "\n", + "25/tcp\n", "\n", "\n", - "\n", + "\n", "fetchmail->front\n", - "\n", - "\n", - "2525/tcp\n", + "\n", + "\n", + "2525/tcp\n", "\n", "\n", - "\n", + "\n", "fetchmail->admin\n", - "\n", - "\n", - "8080/tcp\n", + "\n", + "\n", + "8080/tcp\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 2, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -405,6 +488,7 @@ " \n", " # Components\n", " internet [label = \"Internet\";];\n", + " proxy [label = \"Optional proxy\"; shape = \"polygon\"];\n", " front [label = \"Front\";];\n", " admin [label = \"Admin\";];\n", " smtp [label = \"SMTP\";];\n", @@ -417,18 +501,29 @@ " fetchmail [label = \"Fetchmail\";];\n", " oletools [label = \"Oletools\"];\n", " fts_attachments [label = \"Tika\"];\n", + " # proxy from internet\n", + " internet -> proxy [label = \"25/tcp\";];\n", + " internet -> proxy [label = \"80/tcp\";];\n", + " internet -> proxy [label = \"443/tcp\";];\n", + " internet -> proxy [label = \"465/tcp\";];\n", + " internet -> proxy [label = \"587/tcp\";];\n", + " internet -> proxy [label = \"110/tcp\";];\n", + " internet -> proxy [label = \"995/tcp\";];\n", + " internet -> proxy [label = \"143/tcp\";];\n", + " internet -> proxy [label = \"993/tcp\";];\n", + " internet -> proxy [label = \"4190/tcp\";];\n", " \n", - " # Front from internet\n", - " internet -> front [label = \"80/tcp\";];\n", - " internet -> front [label = \"443/tcp\";];\n", - " internet -> front [label = \"25/tcp\";];\n", - " internet -> front [label = \"465/tcp\";];\n", - " internet -> front [label = \"587/tcp\";];\n", - " internet -> front [label = \"110/tcp\";];\n", - " internet -> front [label = \"995/tcp\";];\n", - " internet -> front [label = \"143/tcp\";];\n", - " internet -> front [label = \"993/tcp\";];\n", - " internet -> front [label = \"4190/tcp\";];\n", + " # Front from proxy\n", + " proxy -> front [label = \"25/tcp\";];\n", + " proxy -> front [label = \"80/tcp\";];\n", + " proxy -> front [label = \"443/tcp\";];\n", + " proxy -> front [label = \"465/tcp\";];\n", + " proxy -> front [label = \"587/tcp\";];\n", + " proxy -> front [label = \"110/tcp\";];\n", + " proxy -> front [label = \"995/tcp\";];\n", + " proxy -> front [label = \"143/tcp\";];\n", + " proxy -> front [label = \"993/tcp\";];\n", + " proxy -> front [label = \"4190/tcp\";];\n", " \n", " front -> front [label = \"8008/tcp\";];\n", " front -> front [label = \"8000/tcp\";];\n", @@ -448,18 +543,20 @@ " \n", " imap -> admin [label = \"8080/tcp\";];\n", " imap -> antispam [label = \"11334/tcp\";];\n", - " imap -> front [label = \"25/tcp\";];\n", + " imap -> proxy [label = \"25/tcp\";];\n", " imap -> fts_attachments [label = \"9998/tcp\";];\n", " \n", " webmail -> front [label = \"14190/tcp\";];\n", " webmail -> front [label = \"10025/tcp\";];\n", " webmail -> front [label = \"10143/tcp\";];\n", + " # carddav\n", + " webmail -> proxy [label = \"443/tcp\";];\n", " \n", " admin -> redis [label = \"6379/tcp\";];\n", " admin -> imap [label = \"2525/tcp\";];\n", " \n", " antispam -> redis [label = \"6379/tcp\";];\n", - " antispam -> admin [label = \"80/tcp\";];\n", + " antispam -> admin [label = \"8080/tcp\";];\n", " antispam -> oletools [label = \"11343/tcp\";];\n", " antispam -> antivirus [label = \"3310/tcp\";];\n", " \n",