ABSOLUTNIE PODSTAWOWE
1. Usuń folder install z głównego katalogu OpenCart
- absolutnie podstawowa rzecz atakujący, który natrafi na ten folder może nadpisać Twoją bazę MYSQL.
2. Chroń pliki /config.php oraz admin/config.php
- Nadaj tym plikom uprawnienia (CHMOD) 444 !
3. Zmień standardowy login i hasło na trudniejsze do odgadnięcia
- Jak wiadomo częstymi atakami są ataki metodą brute force (tj. słownikową) jeśli logujemy się do Panelu Admina za pomocą loginu 'admin' atakujący ma ułatwione zadanie. Jak pamiętamy włamanie na strony kancelarii premiera (log: admin, hasło admin123).
4. Usuń ze stopki "Powered OpenCart"
- Wiele ataków następuje poprzez wyszukanie witryn zawierających taki wpis, następnie podejmowane są próby ataku znanymi lukami w zabezpieczeniach. (Reanimowałem w ten sposób kilkanaście witryn na Wordpress) - lepiej niech na pierwszy rzut oka nie widać z jakiego systemu korzystamy.
5. Zablokujmy możliwość uploadu plików przez klienta
- (mogę się mylić ale w wer. 1.5.3.1 - istniał exploit, który pozwalał na uzyskanie dostępu do bazy danych)
CO MOŻEMY ZROBIĆ DODATKOWO
6. Zmień folder 'admin' na dowolny inny
- Jak wiadomo powszechnie znane systemy mają standardową ścieżkę do PA (OpenCart - domena/admin, Wordpress domena/wp-admin). Nie ułatwiajmy pracy atakującym i zmieńmy to na dowolną inną ścieżkę np. domena/ocart
Jak to zrobić ?
edytujemy pliki config oraz admin/config i zmieniamy wszędzie słowo admin na inne dowolne
- Kod: Zaznacz cały
<?php
// HTTP
define('HTTP_SERVER', 'http://domain.com/ocart/');
define('HTTP_IMAGE', 'http://domain.com/ocart/image/');
define('HTTP_ADMIN', 'http://domain.com/ocart/RJKJKSU/');
// HTTPS
define('HTTPS_SERVER', 'http://domain.com/ocart/');
define('HTTPS_IMAGE', 'http://domain.com/ocart/image/');
// DIR
define('DIR_APPLICATION', 'domain.com/httpdocs/ocart/catalog/');
define('DIR_SYSTEM', 'domain.com/httpdocs/ocart/system/');
define('DIR_DATABASE', 'domain.com/httpdocs/ocart/system/database/');
define('DIR_LANGUAGE', 'domain.com/httpdocs/ocart/catalog/language/');
define('DIR_TEMPLATE', 'domain.com/httpdocs/ocart/catalog/view/theme/');
define('DIR_CONFIG', 'domain.com/httpdocs/ocart/system/config/');
define('DIR_IMAGE', 'domain.com/httpdocs/ocart/image/');
define('DIR_CACHE', 'domain.com/httpdocs/ocart/system/cache/');
define('DIR_DOWNLOAD', 'domain.com/httpdocs/ocart/download/');
define('DIR_LOGS', 'domain.com/httpdocs/ocart/system/logs/');
// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'USERNAME');
define('DB_PASSWORD', 'PASSWORD');
define('DB_DATABASE', 'DATABASE');
define('DB_PREFIX', 'pre_');
?>
7. Wyłącz wyświetlanie błędów
- Panel Admina > Ustawienia > Serwer
Wyświetlaj błędy - NIE
Porady pochodzą z angielskich literatur -> ciekawy artykuł. http://cartadvisor.com/blog/2012/09/28/increasing-your-opencart-store-security/