ហេតុអ្វីមូលដ្ឋាន 3 នេះសំខាន់
ប្រព័ន្ធជាច្រើនបរាជ័យសុវត្ថិភាព ព្រោះគិតថា “មាន login គឺគ្រប់គ្រាន់”។ សុវត្ថិភាពពិតគឺ៖ ការផ្ទៀងផ្ទាត់ខ្លាំង (MFA), ការគ្រប់គ្រងសិទ្ធិ (RBAC), និងភស្តុតាង (audit trails)។
មាតិកា
1) គណនី និងការផ្ទៀងផ្ទាត់
Authentication គឺការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ។ មូលដ្ឋានគួរមាន៖ គោលការណ៍ពាក្យសម្ងាត់ខ្លាំង session មានសុវត្ថិភាព និងការការពារការសាកល្បងច្រើនដង។
តម្រូវការចាំបាច់
- Hash ពាក្យសម្ងាត់ (bcrypt/argon2) និងកុំរក្សាទុក plain text។
- Rate limit លើការចូល (lockout/cooldown)។
- Cookie សុវត្ថិភាព (HttpOnly + Secure + SameSite)។
- Session timeout និងគ្រប់គ្រង “remember me”។
2) ជម្រើស MFA
MFA (Multi-Factor Authentication) តម្រូវឲ្យមាន “អ្វីដែលអ្នកដឹង” (password) និង “អ្វីដែលអ្នកមាន” (ទូរស័ព្ទ/app/security key)។
ណែនាំ (ល្អបំផុត)
- Authenticator app (TOTP): Google/Microsoft/Authy។
- Passkey/security key (បើមាន): ទប់ phishing ល្អបំផុត។
អាចប្រើ (ជាជម្រើស)
- SMS OTP: ងាយប្រើ ប៉ុន្តែខ្សោយជាង (SIM swap)។
- Email OTP: ល្អជាងមិនមាន ប៉ុន្តែអាស្រ័យលើសុវត្ថិភាពអ៊ីមែល។
យោបល់គោលនយោបាយ MFA
- បង្ខំ MFA សម្រាប់ Admin និង Finance។
- អនុញ្ញាត MFA សម្រាប់អ្នកប្រើទាំងអស់ (លើកទឹកចិត្ត)។
- ផ្ដល់ recovery codes និងដំណើរការស្តារឡើងវិញ។
3) តួនាទី និងសិទ្ធិ (RBAC)
RBAC (Role-Based Access Control) បង្ការការណ៍ “អ្នកគ្រប់គ្នាធ្វើបានទាំងអស់”។ រចនាតួនាទីតាមភារកិច្ច និងប្រើ least privilege។
ម៉ូដែល RBAC សាមញ្ញ
| តួនាទី | អាចធ្វើ | មិនអាចធ្វើ |
|---|---|---|
| Operator | បង្កើត/កែទិន្នន័យខ្លួន ឃើញប្រវត្តិខ្លួន | អនុម័ត គ្រប់គ្រង role នាំចេញ sensitive |
| Supervisor | អនុម័តក្នុងសCOPE ចាត់តាំង មើលស្ថានភាពក្រុម | ប្ដូរហិរញ្ញវត្ថុ លុប audit log |
| Finance/Admin | មើលរបាយការណ៍ហិរញ្ញវត្ថុ export និង reconcile | កែ policy អនុម័តដោយគ្មានគោលការណ៍ |
| System Admin | គ្រប់គ្រង role policy MFA និងការកំណត់ប្រព័ន្ធ | ជាអ្នកអនុម័តតែម្នាក់សម្រាប់ហិរញ្ញវត្ថុ |
4) Audit trail (អ្នកណា ធ្វើអ្វី ពេលណា)
Audit trail ជាភស្តុតាងអាជីវកម្ម។ វាជួយការស៊ើបអង្កេត ការអនុលោម និង internal control។ សម្រាប់ប្រព័ន្ធអាជីវកម្ម វាចាំបាច់។
អ្វីដែលត្រូវ log (អប្បបរមា)
- Authentication: login/logout/failed/password change/MFA on-off។
- ការផ្លាស់ប្តូរសិទ្ធិ: assign role/កែ privilege។
- សកម្មភាពសំខាន់: approve/export/delete/refund/post accounting។
- ការកែទិន្នន័យ: before/after សម្រាប់វាលសំខាន់។
| វាល | ឧទាហរណ៍ |
|---|---|
| actor_user_id | 123 |
| action | approval.granted |
| entity | invoice:INV-2026-00091 |
| ip / user_agent | 203.x.x.x / Chrome |
| before / after | status: pending → approved |
| request_id | trace-uuid |
5) Log រកឃើញការកែប្រែ
Log រកឃើញការកែប្រែ មិនអាចបញ្ឈប់អ្នកវាយប្រហារខ្លាំងៗ 100% ទេ ប៉ុន្តែវាធ្វើឲ្យការកែប្រែដោយមិនអនុញ្ញាត “អាចរកឃើញ” បាន។ វាសំខាន់សម្រាប់ហិរញ្ញវត្ថុ និងអនុលោម។
វិធីអនុវត្តងាយ
- សរសេរ log ទៅ append-only (មិនអាច update/delete)។
- កំណត់សិទ្ធិ DB: app insert បាន តែលុបមិនបាន។
- បញ្ជូន log ទៅប្រព័ន្ធផ្សេង (ជាជម្រើស)។
វិធីខ្លាំងជាង
- Hash chaining: log ថ្មីមាន hash របស់ log មុន។
- Snapshot audit logs ប្រចាំថ្ងៃ + ចុះហត្ថលេខាឌីជីថល។
- Immutable storage / WORM policy (បើមាន)។
6) បញ្ជីអនុវត្ត
- ✓ បើក cookie សុវត្ថិភាព + CSRF protection។
- ✓ បន្ថែម rate limit លើ login + reset password។
- ✓ បង្ខំ MFA សម្រាប់ admin និង finance។
- ✓ អនុវត្ត RBAC និង least privilege។
- ✓ បង្កើត audit log សម្រាប់សកម្មភាពសំខាន់ + ការកែទិន្នន័យ។
- ✓ ប្រើ append-only ឬ tamper-evident logging។