Jump to content
Froxlor Forum
  • 0

Zertifikate für E-Mail


Question

Guten Morgen liebe Community,

ich hab schon gesucht hier, aber nicht wirklich was passendes gefunden, darum mach ich jetzt hier nochmal nen Thread auf. Ich nutz Froxlor nun erfolgreich seit über einem Jahr auf zwei Servern, es funktioniert soweit auch alles mit LetsEncrypt und den Zertifikaten.

Jetzt hab ich nur folgendes Problem, bzw. ist dies möglich, da ich mehrere Kunden über Froxlor auf zwei Servern verwalte, muss ich natürlich auch E-Mails verwalten, und zwar verschlüsselt. Kann man das über Froxlor machen? Sprich, dass die Kunden ihre Emails über

imap.kunde1.de & smtp.kunde1.de sowie imap.kunde2.de & smtp.kunde2.de usw. abrufen können. 

Momentan muss man ja bzw. so hat es mein Admin gemacht, ein Zertifikat für alle hinterlegen, welches auch nicht automatisch per Script geupdatet wird?! -> Ist das so richtig?

Oder müssen alle Kunden ihre E-Mails per imap.hauptdomain.de abrufen? 

 

 

 

 

 

Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0
8 hours ago, jonny87 said:

Momentan muss man ja bzw. so hat es mein Admin gemacht, ein Zertifikat für alle hinterlegen, welches auch nicht automatisch per Script geupdatet wird?! -> Ist das so richtig?

ja, du kannst ja auch in der mailserver cnfig nur einen hostnamen konfigurieren; E-Mail clients sollten also als imap/smtp server das eintragen, was da ei dir drinsteht

8 hours ago, jonny87 said:

Oder müssen alle Kunden ihre E-Mails per imap.hauptdomain.de abrufen? 

genau das

Link to post
Share on other sites
  • 0

Den Dovecot könnte man zumindest so einrichten dass jeder imap Zugriff sein eigenes Zertifikat hat  

Quote

/etc/dovecot/conf.d/10-ssl.conf

local_name imap.domain.de {
  ssl_cert = < /etc/letsencrypt/live/imap.domain.de/cert.pem
  ssl_key = < /etc/letsencrypt/live/imap.domain.de/privkey.pem
  ssl_ca = < /etc/letsencrypt/live/imap.domain.de/chain.pem
}

local_name imap.domain2.de {
  ssl_cert = < /etc/letsencrypt/live/imap.domain2.de/cert.pem
  ssl_key = < /etc/letsencrypt/live/imap.domain2.de/privkey.pem
  ssl_ca = < /etc/letsencrypt/live/imap.domain2.de/chain.pem
}

 

Link to post
Share on other sites
  • 0

Du kannst die configs nach Belieben anpassen dafür sind sie da. Und sie funktionieren wunderbar out-of-the-box. Bei unseren Vorgaben geht es hauptsächlich um die Anbindung der Konten aus der Datenbank - ssl ist Admin Sache. Und da froxlor Open source und frei von jedem auf der ganzen Welt nutzbar ist gilt nicjt für alle die dsgvo

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By d00p
      Dear Froxlor Community,
      I am proud to finally release the stable version of a new API based froxlor. Due to massive internal improvements and changes in the core (almost 600 commits since 0.9.40.1) users are now able to list/create/edit/delete resources and entities of froxlor via API (requires activation of api-usage in the settings and a user based API-key). The froxlor frontend itself uses the API backend too.
      Froxlor now uses composer to include some of its requirements like phpMailer, Logger, IdnaConvert and TwoFactorAuth libraries. All required files will be included in the official tarball so you do not need to worry about installing and using composer (only if you are using / testing the git-master, see https://github.com/Froxlor/Froxlor/wiki/Install-froxlor-from-git-sources).
      Most important changes:
      froxlor now requires at least php-7.0 or newer, php-5.6 is no longer supported because of its EOL almost a year ago you can access data via API, for more information see https://api.froxlor.org/doc/. An example can be found here: https://github.com/Froxlor/Froxlor/tree/master/doc/example PHPUnit tested API backend with MySQL 5.6, 5.7 and 8 as well as MariaDB 10.3 and 10.4, see https://travis-ci.com/Froxlor/Froxlor compatibility for MySQL8 2FA (two-factor-authentication) for admins/resellers/customers (email or authenticator app) all froxlor-database tables will automatically be converted to the InnoDB engine added support for Debian 10 (buster) and Ubuntu 18.04 (bionic beaver) implemented Let's Encrypt via acme.sh - Note: all your current Let's Encrypt certificates will be removed and re-created due to another structure customizable error/access log handling for webserver (format, level, pipe-to-script, etc.) deprecated Debian 7 (wheezy) and Ubuntu 14.04 (trusty tahr) support dropped support for Ubuntu 12.04 (precise pangolin) dropped ticketsystem Changes in 0.10.1:
      allow/disallow API access on a per-customer base new API parameters for Admins.add(), Admins.update(), Customers.add() and Customers.update() bool $api_allowed (default: false for Customers, true for Admins) add explicit tlsv1.3 ciphersuite setting fixed wrong behaviour in Ftps.add() if customer is newly created and setting customer.ftpatdomain is true added expiration date to SSL certificates loaded via API request fixed wrong return in Certificates.get() if given domain does not have a certificate allow setting http2 flag for (sub)domains in customer view, fixes #725 Changes in 0.10.2:
      force Let's Encrypt ACMEv2 API, fixed #728 added default-ssl-vhost settings and optionally allow including of non-ssl default-vhost settings, fixes #727 new API parameters for Domains.add() and Domains.update() string $ssl_specialsettings bool $include_specialsettings bool $dont_use_default_ssl_ipandport_if_empty removed API parameters in Domains.add() bool $use_default_ssl_ipandport_if_empty new API parameters for IpsAndPorts.add() and IpsAndPorts.update() string $ssl_specialsettings bool $include_specialsettings string $ssl_default_vhostconf_domain bool $include_default_vhostconf_domain implemented DomainZones.listing() to return custom stored dns entries fix registration and termination date to flip between empty-value and 0000-00-00 Changes in 0.10.3:
      fallback to /tmp/froxlor.log if file-log is activated but no file given or not writeable; fixes #737 added tls-settings per domain for admins with change_serversettings-flag set; fixes #519 new API parameter for Domains.add() and Domains.update() bool $override_tls (default: false) array $ssl_protocols string $ssl_cipher_list string $tlsv13_cipher_list preserve downward compatibility for 0.10.1 updaters regarding specialsettings for ssl-enabled domains; fixes #739 Changes in 0.10.4:
      added support for CIDR/netmask in mysql-access-hosts; fixes #564 fixed invalid handling of escape-sequences in api-endpoint, fixes #746 fixed an issue with adding the default ftp user for new customer when added by admin/reseller with no ftp-resources; fixes #741 fixed nginx configuration issue with fastcgi_split_path_info option; fixes #744 Changes in 0.10.5:
      bugfix release due to errors in Let's Encrypt re-new check; fixes #747 Changes in 0.10.6:
      introducing new API parameters sql_search, sql_limit, sql_offset, sql_orderby for almost all listing() calls introducing new API method listingCount() for almost all modules to return the total number of entities available changed behavior of SubDomains.listing() to return all fields from the domain table instead of the limited ones for customers when called as admin added new API module SysLog to query froxlor logs according to permission optimized panel_admins and panel_customers table to avoid mysql/mariadb warning: Row size too large (> 8126); fixes #752 corrected update of hosting plans via interface; fixes #753 implemented API method EmailForwarders.listing(); fixes #754 fixed parameters defaults for Domains.update() parameters ssl_ipandports and add new parameter (see below); fixes #756 new API parameters for Domains.update() bool $remove_ssl_ipandport Changes in 0.10.7:
      corrected behavior when changing mysql-access-host values; fixes #758 fix UI error "API keys not accessable due to missing Paging-class" fix trauncating of SysLog using SysLog.delete() corrected UI issue of incorrect listing of domains for customers and admin, fixes #759 corrected ordering of listings in UI regarding pagination added new settings to set default value of domain-edit-settings 'Apply specialsettings to all subdomains' and 'Apply php-config to all subdomains' corrected vhost-merging of specialsettings in nginx; fixes #757 Changes in 0.10.8:
      fix duplicate domain entries in customer-domain-list when domain has aliases fix searching for alias-domains by link in customer_domains use correct apiendpoint for lets encrypt; pass debug-flag onto acme.sh; fixes #762 fix removing of ssl-ip-relation to domain if no ssl-ip is selected via interface Debian package: Move mysql server dependency to redommends; fixes #761 Changes in 0.10.9:
      fix SQL error when searching for certificates by domainname, fixes #764 fix ordering of listings when natural sorting is activated, fixes #765 check for valid result when reading database usage from information_schema; fixes #766 Changes in 0.10.10:
      add new API function Froxlor.generatePassword() to return a random password based on froxlor settings regarding min-length, included characters, etc.; fixes #768 fix mysql8 issue with group by and sorting within; fixes #774 add new 'ssl-enabled' flag for domains and subdomains so ssl can be deactivated (by a customer too) even if there are ssl-ip/ports assigned; introduce new honorcipherorder and sessiontickets flags for more control over ssl-related settings on a per domain base (admin only); fixes #767 and #769 new API parameters for Domains.add() and Domains.update() bool $sslenabled bool $honorcipherorder bool $sessiontickets new API parameters for SubDomains.add() and SubDomains.update() bool $sslenabled new API method Froxlor.generatePassword() Changes in 0.10.11:
      apply 'notryfiles', 'writeaccesslog' and 'writeerrorlog' flags to subdomains when editing a domain fix SysLog.delete(), SysLog.listing() and SysLog.listingCount() whencalled as admin/reseller withouth customers_see_all permission add option to disable SSL sessiontickets globally for older systems, fixes #784 ability to add custom config to PHPFPM version, fixes #643 new API parameters for FpmDaemons.add() and FpmDaemons.update() string $custom_config Changes in 0.10.12:
      allow using more advanced LogFormat for webserver and awstats fix issue in PhpHelper::trimArray() returning an empty array, fixes #751 fix wrong behaviour of Emails.update() which allowed setting iscatchall-flag for more than one address of the same domain fix writable-check of froxlor-logfile if logfile did not exist Changes in 0.10.13:
      validate nameserver ip-addresses for binds allow-transfer block; fixes #791 fix IpsAndPorts when checking for system.ipaddress in update() and delete() fix Domains.update() if called as admin/reseller without change_serversettings privileges, thx to rseffner fix the case that the spf record is not inserted with its quotes, and so the condition fails and 2 spf records are inserted in the domain fix wrongly initialized resource-usage when re-calculating it; fixes #797 update php-fpm defaults; update paths for current stable php-7.3; read froxlor default php.ini from file rather then using phpconfig with id=1; fixes #796 Changes in 0.10.14:
      require set password complexity for admins too when resetting password; display correct error message if password complexity is not satisfied do not require enabled vhost-container for froxlor-vhost to change sslsessiontickets-setting disable sslsessiontickets-option in domain-add/edit if globally disabled in the settings fix listing of customer email addresses if 'domain' section is hidden via settings, fixes #803 add Froxlor.integrityCheck() API call to externally run integrity/consistency check, fixes #801 new API method Froxlor.integrityCheck() make customer firstname,name,company and customer-no available for all templates; fixes #808 store ace-string of domain besides idn-converted string to have correct sorting in the frontend; fixes #809 allow private ip ranges in ips-and-ports as some configurations require that; fixes #802 Changes in 0.10.15:
      fixed temporary userdata file creation results in an empty file on installation; fixes #815 Changes in 0.10.16:
      remove ssl-certificates connected to domains that are being deleted when deleting a customer; fixes #818 fix removing ip address if ip is set as system-ipaddress but there are other entries of that ip with a different port fixed parsing due to changes in dovecots default mail_log_prefix restructure acmesh implementation and let acme.sh take care of renewing the certificates itself; fixes #792, fixes #816 Double check whether installation of acme.sh worked when not installed yet and do not continue if not; fixes #823 add optional dns validation for let's encrypt activated domains; fixes #817 let send-to-alternative-email be optional if no address is given instead of displaying error that the email address is invalid; fixes #829 Changes in 0.10.17:
      fix minor issue with let's encrypt and uppercase letters in domainnames validate we're using the required minimum version of php in frontend and cron, not only on installation adding email addresses via webinterface results in error if domains are hidden from customers; fixes #803 fix including of language-strings in reports-cron, fixes #836 Changes in 0.10.18:
      remove TLSv1 from the list of default SSL-protocols marked Ubuntu 16.04 configuration templates as deprecated removed Ubuntu 14.04 configuration templates added configuration-templates for Ubuntu 20.04 added configuration-templates for CentOS 8 added distribution detection on installation and OS possibility for specific setting-adjustments (for later use) read certificate data folder from acme.sh.env file, fixes #846 corrected API docs, fixes #856 and #857 Changes in 0.10.19:
      return full domain object on Domains.update() call, fixes #861 add missing parmeter customerid for SubDomains.delete() which is required when called as admin; fixes #862 check for possible CNAME overrides of A/AAAA record in dns-editor, fixes #864 corrected timestamp-check for let's encrypt filesystem sync, fixes #865 Changes in 0.10.20:
      fix permanent rebuilding of vhost configs when using let's encrypt updated jquery library, fixes #872 unset any limit as we do not have pagination when showing search-results, fixes #869 fix missing query-parameters for IpsAndPorts.listing() when using sql_search show current count of results besides total count in listings, fixes #869 remove underscore from dkim-selector, refs #619 use overridden limit_extensions and idle_timeout values in vhost config when using fpm and not mod_proxy Download: 0.10.20

      Note: Debian/Ubuntu packages are available as of 21th of October 2019 - Note that there are no packages for oldoldstable (jessie) anymore

      Visit http://www.froxlor.org or join our IRC channel #froxlor on irc.freenode.net for support, help, participation or just a chat

      Thank you,
      d00p
    • By hoschi
      Ich hab noch gaaanz alte Systeme (+10 Jahre) am Start und wollte nicht auf dovecot umstellen.
      Falls jemand danach suchen sollte, die "alte" Kombination von Programmen ist weiter nutzbar, wenn angepasst (Debian 9+). Hintergrund: froxlor speichert in seiner DB die Passwörter nach konfiguration als password und password_enc ab, letzteres ist verschlüsselt. Der hash lässt erkennen, womit gearbeitet wurde - ein einfacher String ist ein Uralt-crypt-Passwort, aktuell sollte sowas wie $5$ am Anfang stehen, was auf SHA-256 verweisst.
      Werden die Klartextpasswörter gelöscht, ist die alte Konfiguration nicht mehr verwendbar. Wäre aber mal sinnvoll, die rauszuwerfen. Folgendes ist anzupassen:
      /etc/courier/authmysqlrc:
      MYSQL_USER_TABLE mail_users MYSQL_CRYPT_PWFIELD password_enc #MYSQL_CRYPT_PWFIELD crypt Damit wird courier angewiesen, für pop und imap verschlüsslte PW auszulesen. Die SHA-256 lib ist bei Debian inclusive. crypt fliegt raus. Fertig ist der Mailabruf.
      Tricky ist die Anpassung von postfix. Die dort benutzte Bibliothek für sasl hat Einschränkungen und ist der letztlich der Grund für Probleme. Lässt sich beheben mit folgender /etc/postfix/sasl/smtpd.conf:
      pwcheck_method: authdaemond authdaemond_path: /run/courier/authdaemon/socket mech_list: plain login In der Datei stand vorher pwcheck_method: auxprop mit sql plugin drin. Das Problem ist: auxprop kann nur Klartext. Aber dafür erlaubt auxprop die Verwendung von cram-md5 und digest-md5 zum hashen auf Clientseite, früher war daher die mech_list um diese beiden ergänzt. Bedeutet: der Client verbindet sich unverschlüsselt und ohne TLS, aber hasht noch auf dem Clientsystem das Passwort mit md5 und übermittelt dann nur den hash über den unverschlüsselten Kanal. Bei TLS kann man sich das sparen - erst wird der Kanal abgesichert, dann kann das PW unverschlüsselt geschickt werden und wird auf Serverseite gehasht und dann verglichen - das erledigt der authdaemond. auxprop kann das nicht.
      Die Mechlist wird dem Client übermittelt. Ganz alte Accounts haben evtl. noch Clienthashes und kein SSL eingeschaltet, die müssen dann umstellen auf STARTTLS mit Klartext - gilt aber nur für den Mailversand. Klartext bedeutet wie gesagt nur, das der Thunderbird/Outlook/etc. das Passwort ungehasht schickt, der authdaemond hasht das und vergleicht dann diesen hash mit dem in der froxlor Datenbank - da steht aber nix mehr im Klartext drin.
      Passwort-Wechsel ist für die User über Roundcube wie gewohnt möglich. In der DB könnt ihr sehen wie der Hash sich ändert.
    • By logicbloke
      Hi,
      I'm just wondering what the difference is between the following 2 folders:
      Why is froxlor installing acme.sh cron everytime it runs at 3am everyday especially since the 5-min let's encrypt froxlor cron is already in place? Also, all my db config points to /etc/ssl/froxlor-custom for the domains and all keys/certificates inside that folder have a different md5 from the ones under /root/.acme.sh/, so I'm wondering what's with the mismatch? Are we updating certificates for domains twice?
       
      If anyone can shed some more light on this, it will be very much appreciated.
       
      Many thanks!
    • By Michael Groß
      Hallo zusammen,
      ich kämpfe momentan mit der SSL Konfiguration von meinem Froxlor-Server.
      Bedauerlicherweise befindet sich der Webserver hinter einer Firewall und hat eine private IP Adresse zugewiesen bekommen. 
      Die Firewall leitet entsprechend den Traffic von außerhalb auf den Server weiter (HTTP ist das alles kein Problem).
      Nun habe ich vorhin SSL aktivieren wollen und hierzu kann ich leider keine private IP Adresse eintragen (lässt Froxlor nicht zu).
      Entsprechend habe ich die public IP eingetragen, was aber auch nicht funktioniert, da durch das NAT der Firewall die private IP angesprochen wird - somit funktioniert dies nicht.
      Habt ihr eine Idee, wie man das umbauen kann?
      An sich brauche ich nur die private IP Adresse als SSL Adresse eintragen - vermute aber, dass dadurch Let's Encrypt auch nicht mehr richtig laufen wird.
      Viele Grüße
      Michael
      PS: Ein 1:1 NAT wäre noch eine Möglichkeit, da ich die Public IP aber für diverse Server verwende, fällt das auch raus. Müsste dann eine neue Public IP kaufen, welche ich dann mit einem 1:1 NAT auf den Webserver laufen lasse (wäre noch eine Möglichkeit)
    • By mrairstone
      Guten Morgen,
      mir ist in Froxlor ein kleiner Fehler in Bezug auf CatchAll Email aufgefallen.
      Zum System:
      Debian 10, 64-Bit Froxlor 0.10.11 Postfix, Dovecot, Spamc Zum Problem:
      Beim Anlegen einer neuen E-Mailadresse kann man je Domain nur eine CatchAll-Adresse definieren. Wenn man jedoch eine bestehende E-Mailadresse bearbeitet, kann man dort ganz einfach auf CatchAll umschalten.
      Dadurch kann es passieren, dass mehrere Emailadressen unterhalb einer Domain als CatchAll definiert sind. Das ist mir erst aufgefallen, als ich E-Mails in meinem Postfach hatte, welche nicht für meine E-Mailadresse bestimmt waren.
      Da auf dem Account in Froxlor mehrer Nutzer zugreifen (Feuerwehr) und E-Mailadressen hinzufügen, ändern und auch löschen - habe ich erst sehr spät gesehen das mehrere CatchAll vorhanden waren.
      Wenn man eine Mail an eine E-Mailadresse sendet, welche als CatchAll definiert wurde, wird die Mail auch an alle anderen E-Mailadressen weitergeleitet, die unterhalb der Domain als CatchAll definiert sind.(Jedenfalls bei postfix)
      Temporäre Lösung:
      Damit eingehende Mails an eine vorhandene E-Mailadresse, welche als CatchAll definiert ist, auch nur im Postfach dieser E-Mailadresse landen, habe ich die SQL-Anweisung in der "mysql-virtual_alias_maps.cf" wie folgt abgeändert:
      query = SELECT destination FROM mail_virtual AS v, panel_customers AS c WHERE c.customerid = v.customerid AND c.deactivated = 0 AND (v.email = '%s' OR v.email_full = '%s') AND trim(v.destination) <> '' Ich habe das eben auch noch einmal in der Demoversion ausprobiert, Screenshot im Anhang.
       
      Gruß

×
×
  • Create New...