* Find a decent bank with 2FA. None of the big banks are decent, they have minimum balances, piles of fees. Credit unions are good, but you want one that isn't too local, which can limit you to credit unions specific to military/veterans/families
* Have multiple checking accounts. Only one of these checking accounts has a debit card attached, or exposed account number anywhere. Never ever hold a balance in this account. Keep the balance in the other account.
* Never use that debit card for anything but the ATM and bank teller authentication. In fact, don't even carry it with you, in case you lose your wallet or somebody tries to take it. Not every bank makes it easy to turn debit card off.
* Only use ACH for rent and loan payments. Never hold a balance in the account used for this. Many rent companies and loan providers are not properly securing that number. Your account number can't easily be changed.
* Keep the bank you use a secret from everybody including friends and family. Only the few payees and your payroll provider need to know.
* For sending money to friends if everybody has iPhones, Apple's Cash functionality is good enough.
* Get a respectable credit card with zero fraud liability. Use it for everything. Have a backup at home. Now your bank is insulated from the outside world. If somebody tries to take your wallet, just give it to them. It's easier to get a card reissued and transactions overturned in that scenario than it is to get drivers licence replaced.
* Don't move outside the country or do a USPS address change to a PO Box. Banks have been known to just shut people's accounts down and mail the balance as a check in these scenarios. Patriot act something something.
This is banking in USA. It was designed for a trust-based society 70 years ago that's still mostly trustful but needs to consider the culture has changed a bit. If the Fed would require member banks implement secure 2FA and the option to disable external ACH from accounts upon request, we wouldn't need to do all this.