Hoe te Verbinden met een Database Via een Netwerk

0
210

Wanneer u verbinding maakt met een database, moet u extra voorzorgsmaatregelen nemen als het niet lokaal wordt uitgevoerd. Alle verbindingen zijn gemaakt over een netwerk dat moet worden beveiligd, en u moet nooit verlaten de database open voor iedereen de brute kracht van een verbinding.

De Beste Oplossing: Voer Uw DB In een Eigen Subnet

De verbinding via het internet is riskant. U moet nooit alleen laat uw database op het web, want het is gewoon het verhogen van uw aanvallen zonder reden. Met de juiste wachtwoorden instellen, het gaat niet om iemand te hacken u direct, maar het is meestal niet nodig om een database toegankelijk voor het publiek.

Met dat gezegd zijnde, is het vaak nuttig architectonisch om databases op een aparte server. Het scheiden van uw database van uw web-servers kunt u het beheer van het individueel. Als je wilde naar de schaal van het web servers up, of voeg lees replica ‘ s voor de database, het is makkelijker te doen als het apart.

Uitgevoerd op een andere machine betekent dat je het over een soort netwerk. De beste praktijk is het uitvoeren van de database in een eigen subnet. De meeste cloud providers, zoals AWS, bieden de mogelijkheid om bepaalde eigen servers, zodat er geen publiek IP-adres. Vervolgens kunt u de data base instellen om te luisteren op het privé-IP-adres.

Op deze manier verbindingen met de database alleen gebeuren in uw VPC, of virtual private cloud. De gebruiker verbinding maakt met het openbare web server, waar het gaat om de database voor de gebruiker, zonder dat zelfs het adres van de database server.

Deze configuratie is vrij eenvoudig te installeren is. De meeste cloud providers hebben de controles voor het maken van privé subnetten, maar als je gewoon wilt om het te behandelen jezelf, kun je hetzelfde effect bereiken met een firewall die ervoor zorgt dat alleen verbindingen vanaf een privé-adres:

sudo ufw toestaan van 172.16.0.0/12 aan elke poort 22

Dit zal voorkomen dat elk verzoek aan de server komt van een openbaar IP-adres, het effectief afsluiten van de buiten wereld van toegang tot de server, maar u zult waarschijnlijk willen houden SSH open op een bepaalde manier voor administratieve doeleinden.

Voor Lange-Afstand Administratie, Witte Lijst Met IPs

Als u toegang wilt krijgen tot de database van uw eigen machine, moet u verbinding maken via het internet. De eenvoudigste oplossing is om dit te doen veilig is om gewoon op de witte lijst van het IP-adres van de machine die u gebruikt voor de administratie. Dit is geen vervanging van een wachtwoord, maar het is veel beter dan dat iedereen het raden naar het.

In ufw, is de firewall standaard in Ubuntu, dit kan worden gedaan, heel eenvoudig:

sudo ufw toestaan van 123.123.123.123 aan elke poort 27017

U zult willen ervoor zorgen dat u geen andere regels betreffende de toegang tot die poort van een IP.

Als u niet wilt dat alle verkeer over het internet, wordt het probleem een beetje meer ingewikkeld. Je hebt een VPN-server, zoals OpenVPN, dat wordt uitgevoerd in uw netwerk en biedt beheerde toegang tot de machines in de privé subnetten. U kunt verbinding maken met de VPN en de machine handelen als deze is in dezelfde VPC als de database, die geeft je de mogelijkheid om verbinding te maken met het direct via een beveiligde verbinding. Doen het op deze manier kan de database server die volledig worden vergrendeld in uw eigen netwerk, dat is een enorme bonus voor de veiligheid.