Tuesday, December 20, 2005

Humble MySQL Security

Lagi2 MySQL :p, ya soalnya dari kemarin mencoba integrate dengan database telkomsel.com yang ternyata ga ada yang pake oracle. Mungkin ini sedikit tips untuk keamanan di MySQL bagi orang2 newbie seperti aku. Yang lebih aku tekankan adalah pengaturan pada tiga table berikut (semuanya ada di database mysql) :
  • user
  • db
  • table_priv
Prinsipnya sih klo aku pikir2 hampir sama seperti setting2 di iptables (ingat jaman ngoprek pake Linux :) ). Jadi intinya tutup rapat semua yang general dan buka di bagian yang lebih spesifik. Dari 3 table diatas berurutan mulai dari general ke yang lebih spesifik

user table
------------
Ini akan mengatur host mana aja yang boleh mengakses ke database server ini dengan user yang apropriate. Disini juga akan diatur role2 untuk CRUD dan privileges. Saranku pastikan untuk diset ke "N" value semua role2 yang ada jika ingin mengatur ke yang lebih spesifik di dalam table db

db table
-------------
Lebih spesifik ke pada akses database, klo user table untuk masalah host security, db table lebih kearah privileges untuk menggunakan db yang diinginkan sesuai role. Sekali lagi klo memang kita mau lebih spesifik ke table privileges maka semua role lebih baik untuk diset ke "N" value.

table_priv table
--------------------
privileges yang paling spesifik, jadi disini kmu bisa maen2 role2 apa aja bagi sebuah host dan user untuk mengakses suatu table. Disini ada column Table_priv untuk diisi type DML dan DDL apa yang diperbolehkan terhadap suatu table, bisa Insert, Delete, Update, atau Create.

Dengan mendefinisikan didalam table2 tersebut maka untuk langkah pertama keamanan sudah cukup baik , meskipun mungkin ada yang lebih spesifik dan urgent. So mohon sharenya klo memang tidak hanya itu saja dalam melakukan keamanan di MySQL server.

No comments: