I think it's pretty common nowadays (based in my logs of hundreds of sites) that Wordpress websites are randomly attacked. I'm guessing you still have the login page at /wp-admin/ and that your login name is shown somewhere in your posts (author) or using the "admin" account.
Basically what some bots do, is to get your id from your site (or try with 'admin'), and try easy passwords attempts (like reversed, or very common ones). They don't do brute force because the intention is not to shutdown your website or spend so much resources in a single website. As you see, those bots try to randomly access any wordpress website with weak passwords (not your specific site). They have more chances that way than forcing a single site. In a similar way, bots try to guess your mysql web-based managing tools, which can be seen at your error logs like:
- phpmyadmin/ , myadmin/ , mysql/ , etc...
In order to protect yourself against those attacks, this is what I recommend:
- Use strong passwords (even better, use paraphrases of 15 chars or
longer)
- Hide your username and display your name instead (however that won't
be 100% effective. Your login name may still leak). If your name is "John", don't use "john" as login name.
- Add Apache Basic Authentication to your login page
- If possible move away your wp-admin/ (do not use: /admin/ or
/login/). There are many ways to do it, some of them not so
effective.
- You can specify which IP addresses to accept at your login page
(example: https://wordpress.org/plugins/restricted-site-access/).
- Add HTTPS to your login page.
- Keep your Wordpress installation up to date
In case you have administration access to your hosting server (in other words, you are not using a shared service), here are further recommendations (some applies only to Linux servers):
- Use fail2ban. You can setup special rules to ban anyone who is trying to scan for phpmyadmin/ or more than X login attempts to your login page. (If you don't know how, let me know and I will post here my filters).
- Update your server regularly (specially, apache, mysql and php).
- Allow access to your login page only from your country (in case you don't travel often). This step will require to install geoip location libraries and to have some scripting knowledge (perhaps there is an easier way to do it?).
- Use a firewall and only allow the ports you need.
I may be missing many other ways to protect yourself, but those are the onces I use at my sites (around 500) since 5 years ago, and so far no breach (that I know).
- its done.
– Milad Sobhkhiz Aug 06 '15 at 06:32it`s done
I use my name instead username in site pages and posts, but i think, the attacker road my instagram Bio, at there i write my site address and username is same as WP username.
i should do that.