#Tls

Integrasi GSSAPI melalui Kerberos serta TLS

  
  ---
title: Seni Bina Integrasi OpenLDAP + Kerberos GSSAPI + TLS
---
flowchart BT
  subgraph Client["Klien"]
        A["kinit: Dapatkan tiket Kerberos"]
        B["ldapadd / ldapsearch<br>guna SASL GSSAPI"]
  end
  subgraph Network["Rangkaian"]
        TLS["Saluran TLS<br>SSL/TLS encryption"]
  end
  subgraph LDAP_Server["Pelayan OpenLDAP"]
        C["slapd: Konfigurasi TLS<br>dan SASL GSSAPI"]
        D["Keytab Kerberos<br>ldap.keytab"]
        E["ACL: Kawalan akses"]
        DB[("Pangkalan Data LDAP")]
  end
  subgraph KDC["Kerberos KDC"]
        F["Prinsipal ldap/hostname"]
        G["Pengeluaran tiket TGT & tiket servis"]
  end
    A -- Meminta TGT --> F
    F -- Mengeluarkan TGT --> A
    B -- Meminta tiket servis untuk LDAP --> G
    G -- Memberi tiket servis --> B
    B --> TLS
    TLS --> C
    C -- Sahkan tiket GSSAPI --> D
    C -- Periksa hak akses --> E
    E --> DB

OpenLDAP ialah perisian sumber terbuka yang menyediakan implementasi protokol Lightweight Directory Access Protocol (LDAP) untuk menyimpan dan mengurus data direktori secara terpusat, seperti maklumat pengguna, kumpulan, dan konfigurasi rangkaian.

Percubaan saya dengan libvirt pada mulanya tidaklah serius. Hanya ingin mengenali asas pengurusan mesin maya menerusi virt-install dan virsh, sambil-sambil membaca dokumentasi yang ditemui di Internet. Namun begitu, semakin lama saya mencuba, semakin tertarik saya kepada aspek keselamatan dan pengesahan sambungan klien dalam libvirt, sesuatu yang sebelum ini saya abaikan kerana berasakan tidak perlu.

Rujukan seperti ArchWiki hanya memperkenalkan topik autentikasi ini secara sepintas lalu, dengan pautan kepada dokumentasi rasmi: libvirt: Connection authentication. Dari sinilah saya mula menyelami secara lebih serius kaedah-kaedah autentikasi yang disokong oleh libvirt.

Konfigurasi Nginx sebagai proksi songsang

Dalam proses pembangunan laman statik menggunakan Hugo, ada kalanya kita mahu mengaksesnya melalui domain tempatan seperti https://blog-hugo.loc dan pada masa yang sama menikmati ciri LiveReload secara automatik.

Catatan ini menunjukkan cara:

  • Mengkonfigurasi Nginx sebagai proksi songsang (reverse proxy) untuk pelayan pembangunan Hugo,
  • Mengaktifkan sokongan WebSocket untuk LiveReload,
  • Menjalankan Hugo dengan parameter sesuai agar kena dengan penggunaan proksi HTTPS.

Panduan ini diadaptasi daripada “How to create an HTTPS certificate for localhost domains”, bertujuan mengaktifkan sokongan HTTPS pada domain yang menghala ke alamat IP 127.0.0.1, iaitu localhost, audio.loc dan laravel.loc.

Semua fail berkaitan pensijilan ini disimpan dalam satu direktori khas: /etc/nginx/ssl.

Sila ubah nilai negara, negeri, bandar dan nama entiti dalam parameter pensijilan mengikut keperluan anda.

Persediaan Direktori

  • Cipta direktori dan tukar ke dalamnya:
    bash
    mkdir -p /etc/nginx/ssl && cd /etc/nginx/ssl

Sijil Akar (Root CA)

  • Jana sijil akar (Root CA) yang ditandatangani sendiri:

Arch Linux

  
  ---
title: Aliran Trafik daripada Nginx ke 'Backend'
---
flowchart TD
  A(["NGINX<br>(Reverse Proxy)"])
  A --> B{"BACKEND"}
  B --> C["Apache<br>(PHP-FPM)"]
  B --> D["Flask<br>(Gunicorn)"]
  B --> E["Laravel<br>(PHP-FPM)"]

Dalam pembangunan perisian moden, kita jarang bergantung kepada satu teknologi sahaja. Saya sediakan catatan ini bagi memaparkan bagaimana Nginx boleh digunakan sebagai proksi songsang untuk menyatukan pelbagai pelayan latar; Apache, Flask (melalui Gunicorn), dan Laravel (melalui PHP-FPM), dalam satu mesin pembangunan berasaskan Arch Linux.

Sebelum melangkah lebih jauh, pastikan anda telah menyediakan konfigurasi asas seperti yang diterangkan dalam catatan saya terdahulu: Konfigurasi LEMP dalam Arch Linux.

Tentang Blog & Penulis

Topik perbincangan dalam blog ini merangkumi Linux dan perisian sumber terbuka, Virtual Machine, serta Typesetting system.
Fokus semasa: Full Stack Development
Minat sampingan: Analisis Data
Bakat tersembunyi hamba: Menyanyi dan melukis.

Sumber dari Wallpaper Cave.