Ada masa kita perlu akses server yang berada di pejabat atau rumah dari luar ataupun secara remotely. Sebagai contoh anda perlu akses sistem atau server untuk pindahkan file atau mengakes sistem yang hanya boleh diakses dari private network.
Jadi ada beberapa cara untuk akses server di rumah atau pejabat secara remotely :
NAT - Port forwarding
Cara ni mudah. Anda cuma perlu mendedahkan port server anda kepada public network atau internet.
Pertama, anda perlu pastikan router anda mendapat public IP. Kalau router anda di belakang CG-NAT, anda tak akan dapat public IP disebabkan ISP nak jimatkan penggunaan public IPv4. Jadi anda akan dapat private ip sahaja dan fungsi port forwarding tidak dapat digunakan.
Kedua, configure router anda untuk lakukan port forwarding kepada IP server dan port yang diperlukan.
Cara configure port forwarding ini mungkin berbeza mengikut jenis router, akan tetapi konsep asasnya adalah sama. Anda perlu nyatakan WAN interface atau WAN IP, external port number, internal IP/server IP, internal port number/server port number fan juga protokol samada TCP atau UDP.
Cuma kelemahan cara ini adalah server anda akan terdedah kepada serangan siber disebabkan port server anda terbuka kepada public network. Sesiapa sahaja boleh mengakses server anda asalkan ada credential atau juga dengan cara brute force attack atau method hacking yang lain.
Reverse Proxy Server
Selain daripada mengakses server anda menggunakan kaedah port forwarding, anda juga boleh setup Reverse Proxy Server untuk membolehkan anda mengakses router anda daripada luar. Ada beberapa Reverse Proxy server yang anda boleh guna secara percuma seperti Nginx, Apache, HAproxy, Nginx Proxy Manager, Squid, Apache Guacamole dan Kasm.
Anda juga boleh meletakkan satu lapisan perlindungan ataupun authentication layer pada reverse proxy server tersebut sebelum anda boleh mengakses server anda. Sebagai contoh anda boleh integrate Authelia dengan Nginx Proxy Manager.
Cara ini lebih selamat berbanding mendedahkan port server anda terus kepada internet. Namun, anda perlukan satu server lain untuk setup reverse proxy tersebut.
Walaubagaimanapun cara ini memerlukan anda untuk mendedahkan reverse proxy and kepada public. Jika Reverse Proxy anda berjaya ditembusi dan attacker berjaya mendapatkan credential server, ia akan terdedah kepada masalah keselamatan yang lain.
VPN Tunnel
Cara ini lebih selamat berbanding mendedahkan port server atau menggunakan reverse proxy server. Anda boleh menggunakan fungsi VPN server yang telah tersedia dalam router anda ataupun anda boleh setup VPN server anda sendiri.
Dengan cara ini, sambungan daripada device anda ke server anda akan disulitkan.
Ada beberapa jenis protocol VPN yang boleh digunakan. OpenVPN, WireGuard, L2TP/IPsec, IKEv2/IPsec, PPTP, SSTP. Dan SSL VPN. Anda juga boleh setup VPN mengikut architecture client-server ataupun NAT-Traversal (NAT-T) VPN.
VPN jenis client-server memerlukan anda setup VPN server dalam network anda dan anda perlu buka port VPN ke server VPN anda. VPN jenis NAT-T pula tidak memerlukan anda setup server VPN dalam network anda tetapi anda perlu sambungkan server atau router anda ke VPN server di luar dan membentuk satu network yang baru ataupun dipanggil overlay network.
Anda boleh setup NAT-T VPN anda sendiri ataupun anda boleh gunakan perkhidmatan NAT-T yang sedia ada seperti Zerotier, Tailscale, Teleport, Netmaker & Twingate.
NAT-T VPN + Reverse proxy
Cara ini lebih kompleks tetapi lebih selamat berbanding 3 cara yang lain tanpa mengorbankan sebarang fungsi aplikasi.
Ia memerlukan anda mempunyai akaun Cloudflare, domain anda diuruskan oleh Cloudflare dan sebuah device untuk melakukan NAT-T VPN.
Untuk setup ini semuanya diuruskan menggunakan Cloudflare. Antara servis Cloudflare yang anda perlu gunakan adalah DNS, Proxy, Tunnel dan Access
Sukar untuk saya terangkan disini dengan detail tapi konsep sambungannya seperti berikut:
User > Cloudflare DNS > Cloudflare Proxy > Cloudflare Access > Cloudflare Tunnel > NAT-T VPN Tunnel Client > Aplikasi.
Sambungan daripada Cloudflare ke aplikasi anda adalah encrypted dan aplikasi anda dilindungi oleh Cloudflare dengan fungsi WAF, DDoS, dan Access Control.
Nak belajar lebih banyak daripada otai2 bidang IT?
Sertai group Komuniti Infrastruktur IT :
– Facebook : https://www.facebook.com/groups/komunitiinfrastrukturit/
– Discord : https://discord.gg/cqUmse2qRg