All Operating Systems, Applications, Databases and Hardware are vulnerable to hackers, some to a greater or lesser extent. Microsoft's Windows OS has made great improvements with Windows 10 and continually improving with later releases. However these improvements are often undermined by poor practice and\or mis-configurations.
Here is my take on Windows Security 101, basic good practices everyone should follow or at least be aware of:
Prior to implementing or making changes to any system make sure it's documented with a repeatably process, peer reviewed and tested. So that's the boring bit done.
Encrypt the Operating System with Bitlocker not only keeps the data safe but prevents many physical attacks against the OS and privilege escalation. Using a TPM and Pin is best.
Always patch and update, not just the OS, don't forget the applications.
Install only necessary applications. Don't install Adobe PDF Reader, if your using Chrome or Edge, use the browser as the PDF Reader. Its Adobe and a gateway app to the system being compromised..... and one more application to update.
Enable Firewalls throughout the enterprise, from edge routers to the host based firewalls on the client. Not only do Firewalls prevent remote attacks the hacker will have to rely on click bait, but prevents the spread of malware if a client is compromised.
Enable AV and keep it up to date.
Its suggested AV will only provide up to 40% protection against malware. Deploy Application Controls such as Applocker or Device Guard to stop unauthorized execution of programs.
Disable all local Administrator accounts and set long complex and unique passwords regardless. There is no guarantee those accounts remain disabled.
Maintain account privilege separation. Don't allow accounts that have client privileges also have Server rights or Domain Admins. Don't allow any Server or Domain Admin to logon on to any end client.
Don't reuse any password, ensure uniqueness across all accounts.
Don't store passwords or configuration files on shares, this is the first thing an attacker will look for. I've seen passwords in clear text on deployment shares for Domain Admin Service Accounts.
Just as important as the active protections is the monitoring. How do you know that the implemented protections are effective or one of your admins hasn't ignored 'tho shalt not logon to a client with DA'. The current average time from hack to detection's is 206 days........Read this
Finally have the system Pentested and remediate any issues.
Lets be clear, no system is 100% safe. The above recommendations are a starter for 10 and wont stop a targeted, prolonged and sustained attack, at best it will slow down.