No a samozřejmě, platí pravidlo oddělování. Databáze na jiném stroji než web, web za reverzní proxy, virtualhosty oddělené a podle účelu mít na virtualhostech co nejnižší limity (timeouty, paměť, ...). Pokud to namrskáte na jednu virtuálku u nějakého hostéra, DB bude přímo na webseveru, atd., atd., pak nepřemýšlejte ani o šifrování. Je to zbytečný výdaj energie, který nemůže napravit špatně postavené základy.
děkuji za Vaše rady!
Přinutil jste mne rozumným názorem začít provádet jednotlivé kroky. Nemám public hosting, fyzickej stroj mam u sebe.
- jako první věc jsem před Apache2(web server) nahodil Nginx jako reverzní Proxy
- jako druhou věc přesunu DB na jinou virtuálku
- pak začnu dělat to další
díky
Proxy či přesun databáze na jinou virtuálku vás ani omylem nezachrání. Musíte si uvědomit, kudy se lze k datům dostat a cíleně tomu zamezit. A tam, kde to lze, omezit i okruh potenciálních útočníků.
Takže zakažte na virtuálce všechny nepotřebné služby a porty, otevřete jen port pro ty webové aplikace. Pokud to lze, tak jen pro vybrané IP adresy nebo pouze prostřednictvím VPN.
Pak zůstane největší dírou ta samotná aplikace, resp. ty dvě aplikace. Pokud si aplikace někde uchovává heslo k té databázi, pak kdokoli hackne aplikaci má i databázi. V tom případě je už úplně jedno, kde databáze běží a zda je šifrovaná. Takže se nejprve věnujte aplikaci.
Pokud aplikace poběží vynuceně přes https (HSTS), nebude možné odposlechnout komunikaci prohlížeč - aplikace. Pokud pro aplikaci nastavíte přístup přes klientské certifikáty, nedostane se do aplikace nikdo bez těch certifikátů. Bude si ty certifikáty muset nainstalovat, aby se na aplikaci dostal. Tím omezujete okruh útočníků.
Pak se musíte podívat na samotné uživatele té aplikace, zda mohou někomu prozradit hesla nebo předat certifikáty. Pokud ano, musíte to ošetřit smluvně, je dobré omezit platnost certifikátů, aby po určité době únik přístupových údajů přestal vadit. Tím omezíte dobu, kdy lze provádět útok.
Pokud budete mít tohle zmáknuté, pak teprve můžete řešit, zda šifrovat databázi nebo třeba celý souborový systém. Tím se totiž bráníte přímému odcizení disku nebo databázových souborů - pro start databáze bude potřeba zadat heslo resp. šifrovací klíč, takže pokud někdo disk nebo počítač ve vypnutém stavu ukradne, nebude moci přečíst data z databáze nebo souborového systému. Ale pokud běží server v serverovně, je asi zamčený v racku a tahle krádež není moc pravděpodobná. Samozřejmě pokud by aplikace běžela na mobilních zařízeních, je situace zas úplně jiná.
Pokud na tom záleží, nechte si to zkontrolovat od někoho, kdo se tím rutinně zabývá. Jako laik v té oblasti nemáte šanci domyslet všechny úskalí.