„access forbidden by rule“: nextcloud 10.0.5 im LAN erreichbar, aber nicht per DynDNS (FreeNAS iocage plugin)

Hallo,

ich bin neu hier, und habe nextcloud noch nicht intensiv genutzt. Leider hat das Plugin in FreeNAS 11.2-U3, das einen iocage jail (ähnlich docker) mit FreeBSD 11.2 STABLE installiert und dort eine Instanz mit nextcloud einrichtet.

Die Instanz war per DynDNS bis gestern noch von außen erreichbar. Heute wollte ich wegen Federation Sharing, das ich nicht hinbekomme, von selfsigned certificate auf Let’s Encrypt per acme.sh umstellen. Dazu benötige ich externen Zugriff. Um das zu testen rief ich die fqdn der nstanz auf. Diese ist aber nicht errweichbar. unter https://172.16.240.199 funktioniert aber der Zugriff. Ich kann aber auch keine Federated Server außerhalb des LANs anlegen …

Im nginx error.log findet sich folgende Zeile (obfusicated domain floogy.selfhost.eu):

2019/04/04 12:31:51 [error] 82465#102084: *1 access forbidden by rule, client: 172.16.240.4, server: floogy.selfhost.eu, request: "GET /data/.ocdata?t=1554373910768 HTTP/2.0", host: "172.16.240.199"

root@nextcloud:~ # egrep -v ‘;|^ *$’ /usr/local/etc/php-fpm.d/www.conf
[www]
user = www
group = www
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
clear_env = no
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

root@nextcloud:~ # egrep -v '^ #|^ $’ /usr/local/etc/nginx/conf.d/nextcloud.conf
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name floogy.selfhost.eu;
ssl_certificate /usr/local/etc/ssl/nginx/nextcloud.freenas.iocage.crt;
ssl_certificate_key /usr/local/etc/ssl/nginx/nextcloud.key;
add_header Strict-Transport-Security “max-age=15768000; includeSubDomains; preload;”;
root /usr/local/www/nextcloud/;
client_max_body_size 10G;
fastcgi_buffers 64 4K;
gzip off;
rewrite ^/caldav(.
)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.
)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.)$ /remote.php/webdav$1 redirect;
index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(?:.htaccess|data|config|db_structure.xml|README){
deny all;
}
location / {
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^(/core/doc/[^/]+/)$ $1/index.html;
try_files $uri $uri/ =404;
}
location ~ .php(?:$|/) {
fastcgi_split_path_info ^(.+.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/nextcloud-php-fpm.sock;
fastcgi_intercept_errors on;
}
location ~
.(?:css|js)$ {
add_header Cache-Control “public, max-age=7200”;
add_header Strict-Transport-Security “max-age=15768000; includeSubDomains; preload;”;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options “SAMEORIGIN”;
add_header X-XSS-Protection “1; mode=block”;
add_header X-Robots-Tag none;
access_log off;
}
location ~* .(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
access_log off;
}
}

root@nextcloud:~ # egrep -v ‘^ *#|^ *$’ /usr/local/www/nextcloud/config/config.php
<?php
$CONFIG = array (
‘apps_paths’ =>
array (
0 =>
array (
‘path’ => ‘/usr/local/www/nextcloud/apps’,
‘url’ => ‘/apps’,
‘writable’ => true,
),
1 =>
array (
‘path’ => ‘/usr/local/www/nextcloud/apps-pkg’,
‘url’ => ‘/apps-pkg’,
‘writable’ => true,
),
),
‘logfile’ => ‘/var/log/nextcloud/nextcloud.log’,
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘instanceid’ => ‘ocpgd7phg0fb’,
‘passwordsalt’ => ‘dhfkläHJGIOÜHeg’,
‘secret’ => ‘iüsEGIHJSeogf’,
‘trusted_domains’ =>
array (
0 => ‘172.16.240.199’,
1 => ‘172.16.240.26’,
2 => ‘floogy.selfhost.eu’,
3 => ‘localhost’,
4 => ‘172.16.240.4’,
5 => ‘172.16.240.3’,
6 => ‘172.16.240.16’,
7 => ‘floogy.selfhost.bz’,
),
‘datadirectory’ => ‘/usr/local/www/nextcloud/data’,
‘dbtype’ => ‘mysql’,
‘version’ => ‘15.0.5.3’,
‘overwrite.cli.url’ => ‘https://172.16.240.199’,
‘overwriteprotocol’ => ‘https’,
‘dbname’ => ‘nextcloud’,
‘dbhost’ => ‘localhost:/tmp/mysql.sock’,
‘dbport’ => ‘’,
‘dbtableprefix’ => ‘bla_’,
‘dbuser’ => ‘bla_nextcloud’,
‘dbpassword’ => ‘jsdägklhÄILDGHÄSdg’,
‘installed’ => true,
‘updater.secret’ => ‘$2y$10$<ilthiäö<jshegüiohsüdgihDGIg’,
‘maintenance’ => false,
‘theme’ => ‘’,
‘loglevel’ => 2,
);
root@nextcloud:~ #

Also die cloud kannst du jetzt neu aufsetzen wenn du die Passwörter drin stehen lässt und die datenbank auch @floogy !!!

Du darfst die config nicht mit den salat

instanceid
passwordsalt
dbuser
secret
dbname
dbpassword

Posten mach immer aus den daten XXXXXXXX

also so ‘dbpassword’ => ‘XXXXXXXXXXXXX’,

So kann jetzt jeder deine cloud hacken und sogar noch mehr ^^

updater.secret
Würde ich xx mach weis aber net ob das kritisch ist ^^

das ist mit dem keybooard überschrieben: qwertzshdgfaäüeigh*'Hg

Die fqdn ist auch nicht real. Ok, der prefix etc. …

oh ok ^^ ansonst hättest jetzt alles neu machen müssen ^^

die ip stimmmt ?

https://172.16.240.199
?

Ja, darüber ist alles erreichbar (LAN)

Ja super dann nur noch CentOS die firewall freigeben auf port 80 und 443 ^^

Aber ich kann das teil nicht ping´en also stimmt was mit der IP nicht -.-

Ich habe per Qualys SSL Labs eienn "Certificate name mismatch " beim selfsigned festgestellt.

Alternate names not found in the certificate

What does this mean?

We were able to retrieve a certificate for this site, but the domain names listed in it do not match the domain name you requested us to inspect. It’s possible that:

The web site does not use SSL, but shares an IP address with some other site that does.
The web site no longer exists, yet the domain name still points to the old IP address, where some other site is now hosted.
The web site uses a content delivery network (CDN) that does not support SSL.
The domain name is an alias for a web site whose main name is different, but the alias was not included in the certificate by mistake. 

SSL Report v1.33.1

Vielleicht muss ich floogy.selfhost.de dann noch in trusted domains aufnehmen? bisher ist nur mit TLD .eu drin. Oder das selfsigned auch erneuern …

wenn du certificate änderst oder welche hinzufügen willst musst du sie dem Apachen2 oder dem nginx in den einstellungen sagen wo die zu finden sind dann neu starten ^^

172.16.0.0/12 ist private (LAN)!

RFC 1918        Address Allocation for Private Internets   February 1996
  1. Private Address Space

    The Internet Assigned Numbers Authority (IANA) has reserved the
    following three blocks of the IP address space for private internets:

    10.0.0.0 - 10.255.255.255 (10/8 prefix)
    172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
    192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

https://tools.ietf.org/html/rfc1918

wenn ich auf https://floogy.selfhost.eu gehe leitet er mich auf https://floogy.selfhost.eu/cgi-bin/selfhost um

Ja, die fqdn ist ja auch falsch … (obfusicated=verschleiert).

Naja wenn ich auch https://172.16.240.199 gehe kommt mit oder ohne https nix -.- aber da sollte was kommen egal was

Naja, das ist wie 127.0.0.1 oder 192.168.0.0/12 …

schau mal irgendwo ein den einstellungen vom anbieter sollte der Link stehen oder die IP wo du direckt auf den server zugreifen

Ah, nachdem ich die fqdn mit der TLD .de zu den ‘trusted domains’ in der nc config.php angebe, wie fälschlich im selfsigned certificate angegeben (eu wäre richtig gewesen! Der Anbieter/ISP hat de, die fqdns der dyndns clients aber eu oder bz als TLD!). bekomm) dann klappt es zwar auch nicht, aber im error.og des nginx bekomme ich nun:

2019/04/04 13:36:38 [crit] 88377#102042: *195 SSL_do_handshake() failed (SSL: error:14094085:SSL routines:ssl3_read_bytes:ccs received early) while SSL handshaking, client: 64.41.200.106, server: 0.0.0.0:443

Edit: Okay, das ist vom Qualys SSL Check.

Ah, with TLD bz it works! But I don’t have any clue, why eu didn’t work no longer. I guess it’s due to the selfhost.de DynDNS Provider. Though, I’m not sure what’s the culprit.