Tutorial 9 – Meningkatkan Keamanan OpenCart

Tidak perlu banyak trik untuk Meningkatkan Keamanan OpenCart. Dan kita tahu openCart adalah CMS open source yang kode sumbernya tersebar luas. Artinya setiap orang dapat mempelajarinya dan mengetahui lubang keamanan di dalamnya.

ok. Jangan panik, dengan sedikit setingan tambahan pada OpenCart kita dapat membuatnya jauh lebih aman. hehe

Langkah 1 – Mengamankan Folder Admin

Diantara langkah praktis yang sering dilakukan untuk meningkatkan keamanan OpenCart adalah rename folder Admin.

Mengapa demikian? Karena folder /admin merupakan folder standar di sistem OpenCart. Dimana ketika orang mengakses {alamatwebAnda.com}/admin, maka dengan mudah mereka akan melihat halaman login.

Seperti yang Anda tahu, tentu hal ini sangat membuka lubang keamanan di Toko Online OpenCart Anda.

Jika website Anda telah online Anda harus memiliki file manager. Gunakan CPANEL atau FTP client favorit Anda dan rename folder admin ke nama yang Anda inginkan. Misal menjadi /admin_53124.
Sekarang kita harus memberitahukan nama baru ini ke sistem. Edit file config.php. Anda akan menemukan banyak baris berisi kata “admin” (tanpa tanda petik).

Replace kata tersebut sesuai nama folder admin yang baru, yakni pada konstanta HTTP_SERVER, HTTPS_SERVER, dan DIR_APPLICATION.

// HTTP
define('HTTP_SERVER', 'http://tokoanda.com/admin_53124/');
define('HTTP_CATALOG', 'http://tokoanda.com/opencart/');

// HTTPS
define('HTTPS_SERVER', 'http://tokoanda.com/admin_53124/');
define('HTTPS_CATALOG', 'http://tokoanda.com/');

// DIR
define('DIR_APPLICATION', '/opt/lampp/htdocs/opencart/admin_53124/');

simpan.

Dan tahap pertama untuk meningkatkan keamanan openCart selesai.

Langkah 2 – Tindakan Pengamanan Pasca Instalasi

Cara kedua untuk meningkatkan keamanan pada OpenCart adalah tindakan pengamanan pasca instalasi. Setelah instalasi openCart:

  • Pastikan hapus folder install. Gunakan CPANEL atau FTP client.
  • Ubah hak akses file config.php, index.php baik yang ada pada direktori root website atau folder admin serta startup.php di folder system. Set hak akses (file permissions) menjadi 444.

Langkah 3 –  Minimalisasi Akses yang Tidak Diinginkan

Terang bahwa akses luar terhadap informasi yang sensitif tidak diinginkan. Terutama halaman dan informasi yang harus dilindungi.

Proteksi Direktori Admin dengan Password

Jika Anda telah mengubah nama folder admin. Kini Anda dapat menambahkan password untuk mengakses direktori admin yang telah dirubah. Konsekuensinya adalah Anda harus login dua kali. Dan mungkin dengan password yang berbeda. Namun ini lebih aman tentunya.

Pastikan bahwa password Anda juga tidak mudah ditebak dengan kombinasi huruf, angka dan kombinasi kapital dan non kapital.

Cara Untuk memberikan password proteksi pada direktori admin, login ke cpanel website Anda dan buka file manager.  Klik kanan pada folder yang ingin diproteksi dengan passwrod dan pilih Password Protect pada pilihan menu. Lantas muncul halaman baru untuk seting username dan password.

Cegah Akses ke folder Admin Berdasarkan IP

Dengan membuat file .htaccess kita dapat menolak akses dari IP yang tidak kita gunakan. Caranya, buat file .htaccess pada direktori utama website dan tambahka kode berikut.

# BAN USER BY IP

order deny,allow
deny from all
allow from XX.XX.XX.XX
allow from YY.YY.YY.YY

Ganti bagian allow from dengan IP yang Anda gunakan. Beberapa orang mengatakan bahwa IP dapat dimanipulasi. Namun demikian untuk memanipulasi, orang lain perlu mengetahui IP Anda yang sebenarnya. Tindakan ini akan mengamankan akses ke folder admin OpenCart Anda.

Cegah Akses FTP yang Tidak Diinginkan
Secara otomatis kita mendapatkan akun FTP setiap menyewa hosting. Anda dapat menghapus akun FTP yang tidak digunakan. File .ftpacesss akan menentukan folder yang dapat dilihat oleh user FTP tertentu. Lebih jauh kita dapat memfilter bersarkan IP.

Buat file .ftpaccess berikan kode berikut. Jangan lupa untuk menaruh IP yang Anda gunakan di bagian allow.

DenyAll
Allow XX.XX.XX.XX
Allow YY.YY.YY.YY

Kemudian upload ke folder yang ingin disembunyikan. Jika akun FTP diakses selain dari IP yang diizinkan (Allow) maka folder tertentu akan tersembunyi.

Cegah Akses Folder System

Larang semua akses langsung ke folder system dengan buat file .htaccess berikan kode berikut

Order Deny,Allow
Deny from all

letakkan pada folder /system/ dan /system/logs/

Amankan Folder Catalog

Folder ini berisi gambar, file Javascript, dan file template anda, apa pun selain itu tidak boleh bisa diakses. Untuk itu buat file .htaccess berikan kode berikut.

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpeg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.png$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.gif$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.css$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.js$
RewriteRule ^(.+)$ /404.html [NC]

Dengan cara ini, apa pun selain jenis file yang diizinkan jpg, jpeg, png, gif, css, dan js akan diblokir. Jadi setiap kali seseorang atau sesuatu mengakses jenis file apa pun yang dilarang (seperti PHP), mereka akan dialihkan ke file 404.html.

Amankan Folder Image

Folder ini berisi gambar anda, apa pun selain itu tidak boleh bisa diakses. Untuk itu buat file .htaccess berikan kode berikut.

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpeg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.png$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.gif$
RewriteRule ^(.+)$ /404.html [NC]

Dengan cara ini, apa pun selain jenis file yang diizinkan jpg, jpeg, png, gif akan diblokir. Jadi setiap kali seseorang atau sesuatu mengakses jenis file apa pun yang dilarang (seperti PHP), mereka akan dialihkan ke file 404.html.

Langkah 4 –  Seting Halaman Administrasi OpenCart

Seting Halaman Administrasi OpenCart

Beberapa seting di halaman administrasi OpenCart dapat meningkatkan keamanan.

Batasi Hak Akses User

Jika website OpenCart Anda dikelola oleh beberapa user, mungkin seting hak akses yang berbeda jadi pilihan tepat. Misal jika dia hanya bertugas menambahkan produk, maka beri otoritas untuk mengakses halaman produk, dsb. Hak akses ini diseting pada System → Users → User Groups dan check sesuai otoritas yang di berikan untuk setting terhadap user Group. Dan System → Users → Users untuk mereferensi user kepada user group tertentu.

Non aktifkan Display Error
Secara default fitur untuk menampilkan error aktif pada OpenCart. Ini berguna saat masa development. Saat telah running, sebaiknya fitur ini dinonaktifkan agar informasi sensitif tidak terlihat oleh publik saat terjadi error. Akses  pada System → Settings. Edit salah satu store. Beralih ke tab Server dan pilih No pada bagian Display Errors.

Aktifkan SSL pada OpenCart
SSL (Secure Socket Layar) memungkinkan data password user atau data kustomer tidak dapat diinterupsi saat transmisi. Untuk mengaktifkannya pada OpenCart terdapat beberapa langkah. Pertama, edit file config.php pada folder admin yakni pada bagian:

// HTTPS
define('HTTPS_SERVER', 'http://tokoanda.com/admin/');
define('HTTPS_CATALOG', 'http://tokoanda.com');

ubah http menjadi https seperti berikut:

// HTTPS
define('HTTPS_SERVER', 'https://tokoanda.com/admin/');
define('HTTPS_CATALOG', 'https://tokoanda.com');

Kedua, atur agar setiap kali kita membuka folder admin sistem menggunakan https. Caranya, dengan memanfaatkan file .htaccess. Tambahkan baris kode berikut pada direktori utama website OpenCart Anda.

# redirect from http to https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ketiga, agar SSL aktif pada halaman depan maka kita harus mengaktifkan SSL di halaman admin. Buka System → Settings → Edit. Kemudian edit store Anda. Pindah ke tab Server dan pilih Yes pada Use SSL. Simpan perubahan.

Gunakan User Admin yang baik

Selain password user admin yang sulit dapat membantu kita dalam mengamankan akun kita, gunakanlah user admin yang tidak populer seperti admin, administrator, user supaya akun kita tidak mudah untuk di bobol.

Gunakan Password yang Baik

Mungkin kita bisa katakan jika Password yang baik adalah yang tidak mudah diingat karena saking rumitnya. Atau tidak dapat ditebak dengan mudah. Pastikan Anda memiliki password yang kuat untuk user di OpenCart. Apalagi jika Anda punya password favorit. Hehe. Navigasi ke System → Users → Users dan edit password akun Anda dengan kombinasi angka, huruf, variasi kapitalisasi dan kira-kira 11 karakter. Saya rasa itu cukup.

Langkah 5 – Hilangkan Informasi Copyright OpenCart

Meningkatkan keamanan opencart dengan menghilangkan informasi Copyright OpenCart. Tidak ada masalah jika kita menghilangkan “Powered by OpenCart” karena OpenCart sendiri open source dan developer memperbolehkannya. Menghilangkan informasi ini agar meminimalisasi Toko Online OpenCart Anda kita menjadi target hacker.

Edit file berikut:

catalog/view/theme/[default]/template/common/footer.twig.

Kemudian hapus bagian:

{{ powered }}

Langkah 6 – Perbarui Versi Opencart

Pastikan Anda menggunakan versi OpenCart yang paling baru. Dianjurkan untuk menggunakan versi terbaru3.0.x.x karena telah menggunakan sejumlah fitur keamanan yang dapat meningkatkan keamanan opencart.

Langkah 7 – Install Modul HP Admin Security

Install modul HP Admin Security yang telah kita buat untuk meningkatkan keamanan Opencart. Modul ini akan meningkatkan keamanan toko online opencart Anda dengan cara mencegah akses langsung ke folder admin. Tanpa perlu me-rename folder admin, yakni cukup generate key yang disertakan di URL. Tanpa key tersebut orang tidak akan sampai ke halaman login admin.

Penasaran bagaimana fungsinya? Baca lebih detail fitur HP Admin Security.

Langkah 8 – Memindahkan Direktori Storage

Storage directory merupakan default direktori pada OpenCart yang digunakan untuk menyimpan kebutuhan internal sistem OpenCart. Seperti cache, upload, dan modification. Secara default folder ini terdapat di system/storage. Tentu ini tidak disarankan karena Anda akan membuka lubang keamanan. pada opencart versi 3, folder storage dapat dipindah sesuai yang anda inginkan untuk meningkatkan keamanan toko online OpenCart Anda.

Pindahkan storage direktori storage dengan dua cara sebagai berikut.

Pindah Folder Storage OpenCart Secara Otomatis

Tentukan pada folder mana folder /storage akan dipindah. Pastikan folder tersebut writeable. Login ke halaman admin OpenCart yang baru diinstall dan Anda akan menemui popup untuk memindahkan secara otomatis. Secara dafault sistem akan memilih level direktori yang lebih tinggi untuk menjadi tempat folder /storage yang baru.

Pindah Folder Storage OpenCart Secara Manual

Ini tepat jika Anda pada server VPS dimana hak akses direktori sering kali sangat ketat. Dan system terkadang tidak cukup memiliki hak akses untuk memindahkan direktori secara otomatis. Juga terkadang in lebih cepat jika Anda menggunakan file manager di CPanel.

1. Buat folder lain pada level yang sama dengan public_html atau level diatasnya.

2. Copy folder storage di system/storage ke folder tersebut.

3. Sesuaikan DIR_STORAGE pada config.php main directory dan config.php admin.

Andapun bisa melihat step yang disediakan seperti gambar berikut. Tentu dengan path yang berbeda.

Demikian Artikel Meningkatkan Keamanan OpenCart . Semoga bermanfaat.