Risiko GDPR Senyap dalam Tindanan Log Anda
Dikemas kini untuk 2026
Kebanyakan pasukan memeriksa pangkalan data mereka untuk maklumat peribadi. Lebih sedikit yang melakukan perkara yang sama untuk sistem log mereka.
Perkara 5(1)(e) GDPR mengehadkan berapa lama anda boleh menyimpan maklumat peribadi. Untuk pangkalan data, pasukan menetapkan dasar dan menjalankan tugas pemadaman. Untuk fail log, peraturannya lebih mudah: simpan segalanya selama 90 hari untuk debugging.
Masalahnya? Rekod tersebut memegang maklumat peribadi. Entri permintaan memegang e-mel pengguna. Tangkapan ralat memegang nilai input mentah. Entri akses memegang alamat IP. Setiap satu ini dikira sebagai maklumat peribadi di bawah GDPR. Pasukan anda memerlukan asas yang sah dan pelan pengekalan untuk setiap satu.
Apa yang Berakhir dalam Fail Log Anda
Pelogaran aplikasi web standard menarik pelbagai jenis PII.
Rekod akses (nginx/Apache):
- Alamat IP — maklumat peribadi menurut panduan EDPB
- Rentetan ejen pengguna — mungkin membolehkan cap jari peranti
- Token sesi — jika ditulis ke output
Rekod aplikasi (JSON berstruktur):
- ID pengguna dan alamat e-mel
- Ralat input — sering termasuk nilai tidak sah mentah, yang mungkin merupakan maklumat pengguna sebenar
- Peristiwa perniagaan — ID pesanan yang dikaitkan dengan akaun pelanggan
- Pertanyaan carian — mungkin mengandungi nama atau alamat
Rekod pintu masuk API:
- Pengepala auth — sebahagiannya ditangkap dalam beberapa persediaan
- Parameter pertanyaan — mungkin membawa ID pengguna, nama, atau e-mel
- Badan permintaan dan respons — hadir dalam persediaan peringkat debug
Entri audit pangkalan data:
- Pertanyaan SQL dengan klausa WHERE seperti
email = 'user@example.com' - Nilai peribadi literal dalam param pertanyaan
Ini bukan dilakukan dengan sengaja. Ia adalah kesan sampingan pelogaran yang dibina untuk debugging, bukan GDPR.
Panduan EDPB tentang Alamat IP
Lembaga Perlindungan Data Eropah mengatakan alamat IP adalah maklumat peribadi. ISP boleh mengaitkannya dengan pelanggan. Dalam sesebuah organisasi, ia boleh mengenal pasti pengguna tertentu.
Kesannya adalah langsung. Rekod akses dengan alamat IP adalah rekod peribadi. Menyimpan output nginx selama 12 bulan bermakna menyimpan maklumat peribadi selama 12 bulan. Itu memerlukan asas yang sah di bawah Perkara 6. Ia juga memerlukan tempoh pengekalan sepadan dengan tujuan yang dinyatakan.
Kebanyakan pasukan melangkau langkah ini. "Kami menyimpan entri selama 90 hari kerana keselamatan berkata begitu" adalah panduan praktik. Ia bukan semakan Perkara 5(1)(e) GDPR. Lihat gambaran keseluruhan Pematuhan Undang-Undang kami untuk bagaimana ini sesuai dalam program yang lebih luas.
Cara Mencapai Pematuhan
Laluan praktikal bagi kebanyakan pasukan bukan untuk memotong tetingkap pengekalan. Sebab operasi dan keselamatan untuk tetingkap yang lebih panjang adalah sebenar. Laluan yang lebih baik adalah untuk menopeng rekod sebelum penyimpanan jangka panjang.
Model bertingkat berfungsi dengan baik.
0–7 hari: Rekod mentah penuh untuk debugging aktif. Tujuh hari cukup pendek untuk kebanyakan pasukan.
7–90 hari: Rekod yang ditopeng untuk analisis trend dan semakan keselamatan. Alamat IP ditukar. E-mel pengguna menjadi token yang stabil. Nombor akaun ditopeng. Medan utama — cap masa, kod ralat, kependaman, titik akhir — disimpan sebagaimana adanya.
90+ hari (jika perlu): Output agregat sahaja. Kiraan peristiwa, kadar ralat, julat kependaman. Tiada rekod peringkat pengguna kekal.
Maklumat peribadi berhenti pada tujuh hari. Output agregat boleh dibawa ke hadapan tanpa mendedahkan sesiapa. Lihat Keselamatan & Pematuhan untuk butiran lanjut.
Kekalkan Struktur Utuh untuk Pemantauan
Penopengan yang baik mengekalkan struktur JSON utuh. Ia hanya menukar kandungan. Ini mengekalkan output berguna untuk debugging dan amaran.
Disimpan sebagaimana adanya:
- Kunci dan bersarang JSON
- Cap masa dan susunan masa
- Jenis ralat dan kod status HTTP
- Kaedah HTTP, laluan, dan nilai kependaman
- Jenis peristiwa perniagaan
Ditukar:
- Alamat e-mel → token stabil setiap asal (contohnya
user1@example.com) - Alamat IP → julat RFC 5737 (
192.0.2.x) - Nombor akaun →
ACCT_XXXXX - Nombor telefon →
+XX XXX XXX XXXX - Nama dalam teks ralat →
[PERSON]
Token stabil mengekalkan jejak berguna. Jejak untuk user1@example.com merentasi 40 entri berfungsi sama seperti asal. Metrik agregat — kadar ralat, kependaman, daya pemprosesan — tidak memerlukan sebarang maklumat peribadi langsung. Lihat Glosari untuk istilah pseudonimisasi dan anonimisasi.
Tiga Cara untuk Mengintegrasikan Ini
Tiga corak merangkumi kebanyakan pasukan kejuruteraan.
Pilihan 1 — Penopengan saluran: Fluentd atau Logstash memintas setiap baris sebelum menghantarnya. Langkah penopengan berjalan secara sebaris. Elastic atau Datadog hanya mendapat rekod yang dibersihkan. Tiada perubahan kod aplikasi diperlukan.
Pilihan 2 — Kumpulan setiap malam: Rekod mentah mendarat dalam penyimpanan tempatan. Kerja setiap malam menopeng output hari sebelumnya dan memadam versi mentah. Rekod yang ditopeng pergi ke penyimpanan jangka panjang. Output mentah disimpan selama tujuh hari sahaja.
Pilihan 3 — Penopengan pra-perkongsian: Rekod mentah kekal dalaman dengan kawalan akses yang ketat. Sebelum berkongsi dengan penguji pen atau kontraktor luar, jalankan laluan penopengan. Pihak luar sentiasa mendapat versi yang bersih.
Untuk dokumen GDPR, penopengan adalah "langkah teknikal" di bawah Perkara 32. Rekodkan alat, persediaannya, dan dasar pengekalan anda dalam Rekod Aktiviti Pemprosesan (RoPA) di bawah Perkara 30. Lihat Soalan Lazim kami untuk soalan RoPA biasa.
Ingin contoh dunia nyata? Semak kajian kes untuk butiran pelaksanaan konkrit. Anda juga boleh menyemak harga kami untuk melihat pelan mana yang termasuk saluran penopengan terbina dalam.
Sumber
- Perkara 5 GDPR: Prinsip untuk Pemprosesan Data — VERIFIED-EXTERNAL
- Pendapat EDPB 5/2019 tentang Arahan ePrivacy dan GDPR — VERIFIED-EXTERNAL
- Sonra.io: Penopengan PII dalam Data JSON dan XML — VERIFIED-EXTERNAL