Jump to content
Froxlor Forum

rseffner

Members
  • Posts

    152
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by rseffner

  1. 11 hours ago, rseffner said:

    Komisch das. Mein oben dargestellter geänderter Code löst mein Problem. Nach den Einstellungen kann ich morgen schauen.

    Setting "Direkt via Hostname erreichbar" = Nein

    Allerdings habe ich /var/www/froxlor in das Docroot einer Subdomain eines Kunden verlinkt und die Option an, das die Domains in den Pfadnamen auftauchen sollen. Vielleicht führt dann eben genau dieses basenamedir() dazu, dass das wie zwei FQDN aussieht.

    Ist mein Setting ein von den best practices abweichender Weg?

     

  2.                                         $script = "/index.php"; // $_SERVER['SCRIPT_NAME'];
                                            if (Settings::Get('system.froxlordirectlyviahostname') == 0) {
                                                    $script = \Froxlor\FileDir::makeCorrectFile("/" . basename(__DIR__) . "/" . $script);
                                                    $activationlink = $protocol . '://' . $script . '?action=resetpwd&resetcode=' . $activationcode;
                                            } else {
                                                    $activationlink = $protocol . '://' . $host . $port . $script . '?action=resetpwd&resetcode=' . $activationcode;
                                            }

     

  3. Ich habe da eine Spur in der index.php um die Zeile 488.

    Und zwar habe ich in die Variable $activationlink zwischen "... $port . " und "$script ." mal etwast wiedererkennbaren Text geschrieben. Das führt dazu, dass der Link in der Mail dann https://server-fqdnTEXT/froxlor-fqdn... lautet.
    Das Problem muss also aus dem "if (Settings::Get('system.froxlordirectlyviahostname..." kommen, denn hier wird script von "/index.php" eben auf den Hostnamen umgebaut. In dem Fall sollte der activationlink wohl innerhalb des "if" ohne $host gesetzt werden und die bestehende Zeile sollte in einen else-Zweig?

  4. Naja, als spoolenden Backup-MX kannst Du die Froxlor-Kiste ja RFC-konform einsetzen. Du kannst dann nur nicht per Webmail in die Queue schauen und musst warten bis der Exchange wieder tut. So sind die Absender Ihre Mail an Dich in Deinen Hoheitsbereich los. Ganz Dringendes könnte sich ein admin unter /var/spool/postfix mit einem Editor ansehen 😉 Und wenn der Exchange wieder online kommt, gibt Dein Froxlor-Server dem dann die Post.

    Das Ganze konfigurierst Du aber außerhalb von Froxlor bei postfix z.B. mittels sauberer DNS-Zone und "permit_mx_backup_networks".

  5. Das kann per RFC so nicht funktionieren.

    Im DNS hinterlegst Du MX Records, wo die Mail an diese Domain hin soll, alle MXe (wenn mehrere eingetragen sind) sollten versuchen die Mail dem MX mit der höchsten Priorität zu geben. der weiß dann wo die Postfächer sind.

    Wenn du einem weiteren MX-Server Postfächer für die Domain gibst, obwohl der nicht die höchste Priorität hat, kommt der je nach Software und Konfiguration in einen Zielkonflikt : lokal ablegen oder dem MX mit hoher Priorität geben. Man könnte das als "split brain" bezeichnen, denn je nachdem wo Absender Mails einliefern, liegen die dann auf dem einen oder anderen Mailserver.

    Wenn du ein Backup a la "dann lese ich im Störungsfall meine Mails halt dort" haben willst, sollte Froxlor "bester" MX sein und Postfächer haben. Der Exchange holt dann per POPconn ab (oder so was auch immer Du einsetzen willst). Das hat auch den Charme, dass die den Exchange nicht ins Internet stellen musst (aber vermutlich will man haute ja auch OWA). Wenn der Exchange mal nicht geht, kannst Du per Webmail in die Postfächer auf dem Froxlor gucken. Aber das wird nie hübsch synchron - Du sieht keine bereits zugestellten Mails, schaltest Du "keep" ein hast Du keinen synchronen gelesen/gelöscht-Status.

    Dafür sind eigentlich dovecot- oder Exchangecluster da.

  6. Quote

    es greift doch erstmal der globale alias auf /.well-known/acme-challenge/ - hast du den nicht eingerichtet (/etc/apache2/conf-enabled/acme.conf)

    Doch, der globale Alias IST eingerichtet als acme.conf in /etc/apache2/conf-available und verlinkt nach conf-enabled. apache2ctl --configtest hat auch nichts zu meckern. ohne diese acme.conf hat die Validierung ja nicht geklappt, weil man per http-Requst nicht ans secret kam.

    Quote

    Hast du "SSL Redirect" nicht aktiviert? Normal legt er natürlich erst den vhost an und versucht dann ein Certificate zu bekommen - macht ja sonst keinen Sinn.

    Nein ich habe SSL-Redirect nicht aktiviert in dem Zustand in dem ich das Verhalten hatte und beschrieb.

    Quote

    "config neuschreiben" ist nichts anderes als ein cronlauf...außer das er natürlich forciert das die vhosts neu erstellt werden durch das einfügen einen entsprechenden Tasks

    Das ist der entscheidende Unterschied dann, dass das Flag gesetzt ist "mach wirklich was". Denn nur den Job zu triggern führt beim n-ten Durchluaf ja nur zu Erkenntnis es wäre nichts zu tun.

    Quote

    ja, da die AliasDomain bestandteil des vhosts der "haupt"domain ist, die wird mit in die SAN Liste eingetragen

    Dann kann ich mir die ganze Zertifikate sparen und einfach 20 mal die selbe AliasDomain setzen und die bekommt dann ein Zertifikat für 21 Namen?

     

    Dennoch habe ich reproduzierbar beobachtet, dass:

    - wenn eine http-only domain bereits angelegt ist
    - man SSL und LE aktiviert
    - dabei als DocumentRoot eine URI einstellt
    - der cron-job läuft
    - ZUERST LE gefragt wird und nicht verifizieren kann weil am Ziel (DocumentRoot) keiner das secret hat
    - DANN erst die VHosts neu gebaut werden und die RedirectAusnahme enthalten
    - der globale well-known Alias offenbar einem Redirect nachgeordnet behandelt wird

    Ohne weitere Abhängigkeiten zu kennen, sollte die LE-Routine im cron-job meiner Meinung nach erst laufen, wenn die VHosts erstellt sind und apache2 reloaded wurde.

    Quote

    Eh nein, das ist nicht so. Das hängt allein von der Option "SSL Redirect" ab

    Ein "einfacherer" Weg ist in so einem Fall einfach: Leg die Domain an, warte bis der Vhost erstellt ist, aktiviere dann Let's Encrypt. 

    Hier reden wir wohl aneinander vorbei. Der http-only-VHost WAR bereits erstellt.

  7. Guten Morgen,

    wenn ich eine Domain nur für http angelegt habe und im DocumentRoot statt einem absoluten/relativen Pfad eine URI (https://domain.tld/" steht und ich dann SSL mit LetsEncrypt machen lassen möchte, wird durch den cron-Job zuerst LE gefragt - was scheitert, weil domain.tld das verify nicht bedient - und dann erst im VHost die rewrite-Ausnahme für die challenge bei Redirect eingetragen. Ein erneuter cron-Lauf oder der acme.sh-Job allein lösen das Problem nicht auf. Erst die Funktion "config neuschreiben" löst den Knoten.

    Vielleicht könnte man hier die Reihenfolge der Arbeitsschritte überdenken. Erst VHost, dann zu LE anfragen.

     

    btw.

    Trage ich hingegen das Weiterleitungsziel selber in die VHost-Einstellungen ein (z.B. "Redirect 301 / https://domain.tld/"), dann legt Froxlor NICHT automagisch eine Ausnahme an, wenn man LE aktiviert. Das muss wohl so sein, weil es ja nicht weiß, was der admin da im VHost verzapft hat und ob das vielleicht Sinn macht und auch die challange mit abdecken kann.

    Was passiert eigentlich, wenn man sich für AliasDomain entscheidet und dann für Quelle und Ziel LE aktiviert? Wird da ein entsprechendes SAN-Zertifikat generiert?

     

    Ich danke für Aufklärung.

  8. Ich habe eine Domain DOMAIN.TLD im Froxlor mit LetsEncrypt angelegt. Die globale Option CAA-records anzulegen ist aktiviert, darus resultieren im zonefile:

    @       172800  IN  CAA  0 issue "letsencrypt.org"
    www  172800  IN  CAA  0 issue "letsencrypt.org"

    Nun möchte ich für eine Subdomain, die auf einen anderen Host zeigen soll ein Zertifikat einer anderen Authority ausstellen, was am existierenden CAA scheitert.

    Ich habe dazu die Domain SUB-DOMAIN.TLD mit der Option "ist Subdomiain von ..." ohne Namenserver-Häkchen angelegt und in der DOMAIN.TLD mit dem DNS-Editor

    SUB  18000  IN  A           xx.xx.xx.xx
    SUB  18000  IN  MX  10  mail.OTHERDOMAIN.TLD
    SUB  18000  IN  TXT      "SSLvalidateSECRET"

    angelegt.

    Wenn ich jetzt den CAA "digicert.com" hinzufügen möchte, meldet der DNS-Editor "DNS Eintrag ungültig".

    Versucht habe ich: record=SUB, type=CAA, priority=0, content=digicert.com, TTL=18000. Muss ich vielleicht den vorgegebenen CAA überschreiben und im content "letsencrypt.org, digicert.com" schreiben? Was mache ich falsch?

  9. Same here using libnss-extrausers. So this should only happen in moments cron is running WHILE froxlor is writing new passwd/groups to /var/lib/libextrausers.

    But why happens froxlor jobs in parallel (writing extrausers and doing someting in scope of these users).

    Maybe it shoud not be:
    - deleting files
    - generating files new from SQL using a query (consuming some time)

    instead
    - generating files new from SQL using a query as FILE.NEW
    - delete old ones and rename/move FILE.NEW

    or
    - nscd may help (I removed this with migrating libnss-mysql to libnss-extrausers becauso of seldom problems nscd used 100% CPU)

  10. Ich kann das ja reproduzieren: Konto anlegen, Konto löschen, Ordner + Dateien noch da.

    "panel_tasks" ist leer nach dem Löschauftrag mit Häkchen

    Natürlich hatte ich ein --debug drin, allerdings kein --force. Entschuldige bitte. Die knapp 1.500 Zeilen möchte ich hier nicht anhängen. Um alle [debug], [information] und [notice] befreit, bleibt da kein [error] übrig. Genügt das als Info?

  11. Der Entwickler von rspamd hat mir geantwortet: auf die Fehlermeldung hin wusste der sofort "es muss ein Punkt in den Dateinamen".

    Es ist also so, dass rspamd nicht mit dkimXYZ als private DKIM key umgehen kann/will sondern lieber dkimXYZ.privat oder sonstwas mit einem Punkt (.) drin haben mag. Könnten wir FROXLOR bitte so anpassen, dass es nicht dkimXYZ und dkimXYZ.public sondern dkimXYZ.private und dkimXYZ.public anlegt? Das sind nur zwei Anpassungen in der lib/Froxlor/Cron/Dns/DnsBase.php (die dann wieder alles brechen, was Leute wie ich hintendran gehangen haben ;-( )

    Danke.

×
×
  • Create New...