Interní firewall v InTouch CRM
Tento dokument popisuje funkčnost InTouch CRM, která má zvýšit bezpečnost aplikace při provozu na veřejné IP adrese.
InTouch CRM umožňuje filtrovat každý http(s) dotaz podle IP adresy klienta nebo podle cesty v aplikaci, na kterou je směřován dotaz. Filtr lze konfigurovat pomocí textového záznamu se seznamem pravidel (dále jen konfigurace). Konfigurace je umístěna v databázi InTouch CRM (Nastavení/Rozšířené nastavení, předvolba s kódem firewall
), takže při aktualizaci na novou verzi systému je automaticky přenášena.
Formát konfigurace je řádkový, přičemž každý řádek může obsahovat pravidlo. Např.:
Allow: 109.202.70.192/26
Allow: /.well-known/*
Allow: /dav/*
Deny: *
Filtr, přes který bude procházet http dotaz do CRM projde postupně všechny podmínky a první, která vyhoví, určí jestli bude dotaz povolen (Allow
) nebo zamítnut (Deny
).
Formát každého řádku je tedy
právo: podmínka
přičemž právo může být jedna ze dvou hodnot Allow
nebo Deny
a podmínka může být v jednom z těchto možných tvarů:
- Podmínka je
*
- této podmínce vyhoví všechny dotazy a má smysl ji použít pouze jako poslední pravidlo. - Podmínka začíná znakem
/
- podmínka je v tomto případě považována za cestu nebo část cesty (pokud končí hvězdičkou). Z http dotazu se zjistí aktuální cesta, na kterou je směřován a ta se porovná s cestou v podmínce. - Podmínka začíná hvězdičkou
*
a pokračuje příponou souboru (např.*.css
,*.js
,*.tar.gz
) - této podmínce vyhoví všechny soubory z danou příponou. Je například vhodná pro výběr všech skriptů nebo všech stylů. - Podmínka začíná číslicí - předpokládá se, že v tomto případě se jedná o IP masku a ta se porovná s IP adresou klienta
- Podmínka je jedním z následujících klíčových slov:
operator
- podmínce vyhoví dotazy, které provedl uživatel s příznakem operátor!operator
- podmínce vyhoví dotazy, které provedl uživatel, který nemá příznak operátor
Řádky, které začínají znakem #
jsou považovány za komentáře a aplikace je bude ignorovat.
Pokud vyhodnocení dotazu skončí na právu Deny, klientovi bude vrácen http status
403 FORBIDDEN
.
Příklad, který je uveden výše dovolí neomezený přístup ze sítě 109.202.70.*
, pak přístup na část serveru, která začíná cestou /.well-known/
nebo /dav/
(a to odkudkoliv) a všechny ostatní dotazy budou zamítnuty.
Důležité: Nastavení firewallu, které je popsané v tomto dokumentu, lze aplikovat pouze na aplikaci ve verzi Start
nebo Enterprise
(tj. systémy, hostované na hardwaru zákazníka). Na verzi Online
(cloud ANNECA) toto nastavení nefunguje.
Pro nastavení firewallu postupujte následovně:
- Přihlaste se do aplikace jako uživatel s právem administrovat (
admin
). - Otevřete stránku Nastavení / Rozšířené nastavení
- V nabídce vlevo zvolte Nová preference
- Ve formuláři vyplňte jako Identifikátor hodnotu
firewall
a do pole Hodnota vepište definici pravidel ve specifikovaném formátu. - Stiskněte Uložit a zpět a otestujte funkčnost (např. se připojte z mobilu přes LTE/3G síť)
Doporučená pravidla:
# Povolit přístup z naší sítě 123.221.121.*
Allow: 123.221.121.255/24
# Povolit firmě ANNECA přístup do app
Allow: 109.202.70.192/24
# Povolit synchronizaci CalDAV/CardDAV
Allow: /.well-known/*
Allow: /dav/*
Allow: *.css
Allow: *.js
# Povolit sledování statistiky hromadných e-mailů
Allow: /BB*
# Povolit odhlásení newsletteru
Allow: /customerFront*
#Zakázat vše ostatní
Deny: *