Tailscale, UFW Güvenlik Yapılandırmasında Nginx Proxy Manager ve Cloudflare Tunnel Sorunu

Merhaba,
Bir VDS sunucum var ve bu sunucuda uygulamalarımı Portainer kullanarak çalıştırıyorum. Sunucuyu Tailscale ile güvenli hale getirdim ve tüm IP ve portlara erişimi engelleyecek şekilde güvenlik duvarı (firewall) yapılandırdım. Sadece Tailscale üzerinden erişime izin verdim:

Status: active

To                         Action      From
--                         ------      ----
Anywhere on tailscale0     ALLOW       Anywhere
Anywhere on docker0        ALLOW       Anywhere
<ssh-port>/tcp                   ALLOW       Anywhere
Anywhere (v6) on tailscale0 ALLOW       Anywhere (v6)
Anywhere (v6) on docker0   ALLOW       Anywhere (v6)
<ssh-port>/tcp (v6)              ALLOW       Anywhere (v6)

Anywhere                   ALLOW OUT   Anywhere on tailscale0
Anywhere                   ALLOW OUT   Anywhere on docker0
Anywhere (v6)              ALLOW OUT   Anywhere (v6) on tailscale0
Anywhere (v6)              ALLOW OUT   Anywhere (v6) on docker0

Ayrıca, Docker’ı UFW ile entegre etmek için GitHub’da bulduğum şu kuralı uyguladım:

# Put Docker behind UFW
*filter
:DOCKER-USER - [0:0]
:ufw-user-input - [0:0]

-A DOCKER-USER -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A DOCKER-USER -m conntrack --ctstate INVALID -j DROP
-A DOCKER-USER -i eth0 -j ufw-user-input
-A DOCKER-USER -i eth0 -j DROP
COMMIT

Bu ayarlarla uygulamalarıma tailscaleIP:port üzerinden erişebiliyorum ancak VDSIP:port üzerinden erişemiyorum, ki bu beklediğim bir davranış.

Ancak, bazı uygulamalarımı internete açmak için Nginx Proxy Manager kullandığımda bunu başaramadım. tailscaleIP:port veya VDSIP:port üzerinden erişim denedim ama başarısız oldu. Ancak UFW’de 80 ve 443 portlarını herkese açarsam çalıştı—ki bu büyük bir güvenlik riski.

Sonrasında Cloudflare Tunnel kullanmayı denedim ve mükemmel şekilde çalıştı. Uygulamalarım web üzerinden erişilebilir hale geldi.

Bu da şu soruyu aklıma getiriyor:
Cloudflare Tunnel, uygulamalarımı web üzerinden erişilebilir hale getirebilmek için neyi farklı yapıyor da Nginx Proxy Manager bunu yapamıyor?

Her türlü yapılandırmayı denedim ama Cloudflare Tunnel’ın ek olarak hangi adımları veya mekanizmaları kullandığını anlayamıyorum.

Bu konuda bilgisi olan var mı?

Son düzenleyen: @wise 2024-11-25T23:23:51Z

Hocam merhaba, açıkcası daha önce cloudflare tunnel kullanmadım ancak traefik kullanarak sunucu içerisinde reverse proxy ile mailcow, nextcloud, portainer gibi yazılımları subdomain ler ile aynı portlara ihtiyaç duysalar dahi edge bir router olduğu için traefik , gelen isteği ilgili porta yönlendirme , ilgili docker containerine yönlendirme işini hallediyor. Birnevi cloudflare tunnels da bu işi yapıyor aslında. siz sunucunuzdaki tüm portları dışarıya kapaıtp yanlızca cloudflare ile bağlantı yapıoyorsunuz, cloudflare ise hangi subdomainin hangi porta gideceğini ayarlayabiliyorsunuz. cloudflare da sizin için hem ddos koruması ssl sertifikası gibi işleri hallediyor hemde yönlendirmeleri sağlıyor. Ama buda şu soruyu oluşturuyor bence, cloudflare sizi dışarıdan koruyor ama sizi cloudflareden kim koruyor :grin: