There are several plugins that do the job but they actually put load and can create conflicts in your wordpress website.
“We find that the best, with less strain or website conflicts and most secure way of protecting your website is by restricting the admin access by means of IP and using server files instead of website plugins.”