Προσθέτουμε τον παρακάτω κώδικα στο αρχείο admin/controller/common/login.php στη function validate() :
1 2 3 4 5 6 7 8 9 10 |
protected function validate() { ... ... file_put_contents("/var/www/vhosts/zooshoes.gr/httpdocs/system/storage/logs/login.log", date('c') . " login failed from " . $_SERVER['REMOTE_ADDR'] . " for user '" . $this->request->post['username'] . "'" . PHP_EOL, FILE_APPEND); ... ... } |
Στο Fail2Ban του Plesk προσθέτουμε ένα filter:
1 2 3 4 5 6 7 8 |
[INCLUDES] before = common.conf [Definition] failregex = login failed from <HOST> for user .* ignoreregex = |
Και έπειτα ένα jails με το παρακάτω filter:
1 2 3 4 5 6 7 8 |
[opencart] enabled = true filter = opencart action = iptables-multiport[name="opencart", port="http,https,7080,7081"] logpath = /var/www/vhosts/*/httpdocs/system/storage/logs/login.log maxretry = 3 |
Τα παραπάνω ισχύουν για Plesk 18.0.38, και μπορεί να χρειαστεί διαφορετικό φίλτρο ή ρυθμίσεις ανάλογα με την έκδοση και τις διαφορετικές παραμέτρους σε κάθε server.