Avgöra vilken databas-typ på en remote-server

Permalänk
Medlem

Avgöra vilken databas-typ på en remote-server

Hej!

Jag undrar ifall det finns något sätt att avgöra vilken databas-typ som en remote-server använder?

Dvs, ta reda på om servern använder PostgreSQL, MySQL eller annan sorts databas.

Permalänk
Vila i frid

Man frågar ägaren av databasen man har tillåtelse att ansluta till. All annan verksamhet kan nog anses vara intrångsförsök och är en straffbar handling, iaf i sverige. För rent hypotetiska frågor finns det andra bättre lämpade forum.

Permalänk
Medlem
Skrivet av hasenfrasen:

Man frågar ägaren av databasen man har tillåtelse att ansluta till. All annan verksamhet kan nog anses vara intrångsförsök och är en straffbar handling, iaf i sverige. För rent hypotetiska frågor finns det andra bättre lämpade forum.

ja du, nu gick du lite för långt i dina slutsatser
Det är jag som är ägaren av databasen och den ligger på min VM i virtualbox, så jag vet redan att den använder MySQL.
Och jag går en Linux-kurs i pen-test. Men ja, min fråga kvarstår.

Permalänk
Medlem

Well, du kan ju alltid titta vilken port det är, är det en standardport kan man "anta" att det är den tjänsten som brukar använda porten.

Vill man vara lite mer nogrann kan du alltid köra telnet eller curl emot porten, mysql/mariadb ger dig ett bra svar vid anslutning:

Microsoft Telnet> open 10.2.5.100 3306
5.5.5-10.0.32-MariaDB-0+deb8u1║K$n"[&I|!?áX#CeV_[)XceTmysql_native_password

gonace@admin:~$ curl 10.2.5.100:3306
5.5.5-10.0.32-MariaDB-0+deb8u1▒\'K&xLTC▒▒!?▒/_tKWSy(Zm6bmysql_native_password!▒▒#08S01Got packets out of order

Och by the way, MariaDB alla dagar många linux-distar ersätter MySQL med MariaDB, Debian bytte denna när de släppte Debian 9 (Stretch). Skaparna av MySQL sålde MySQL och startade därefter MariaDB, bygger på samma grund. Och MySQL klienten klarar av att ansluta till en MariaDB.

Permalänk
Medlem
Skrivet av gonace:

Well, du kan ju alltid titta vilken port det är, är det en standardport kan man "anta" att det är den tjänsten som brukar använda porten.

Vill man vara lite mer nogrann kan du alltid köra telnet eller curl emot porten, mysql/mariadb ger dig ett bra svar vid anslutning:

Microsoft Telnet> open 10.2.5.100 3306
5.5.5-10.0.32-MariaDB-0+deb8u1║K$n"[&I|!?áX#CeV_[)XceTmysql_native_password

gonace@admin:~$ curl 10.2.5.100:3306
5.5.5-10.0.32-MariaDB-0+deb8u1▒\'K&xLTC▒▒!?▒/_tKWSy(Zm6bmysql_native_password!▒▒#08S01Got packets out of order

Och by the way, MariaDB alla dagar många linux-distar ersätter MySQL med MariaDB, Debian bytte denna när de släppte Debian 9 (Stretch). Skaparna av MySQL sålde MySQL och startade därefter MariaDB, bygger på samma grund. Och MySQL klienten klarar av att ansluta till en MariaDB.

Kan jag sätta upp någon säkerhets-fix som skyddar mot detta ?

Jag ska ta en titt på MariaDB som du säger

Permalänk
Medlem

@Lexdale: Jag vet mig inget sätt att undvika att det svaret skickas, men du kan alltid styra vilka ip-adresser som får ansluta till en t.ex. MySQL/MariaDB. Kan göras på mång sätt, genom en brandvägg längre ned i nätverksstacken eller så gör du via ett lättare alternativ och installerar iptables på maskinen.

iptables är en regel baserad brandvägg, så sätt upp en regel att ip-adress x.x.x.x får ansluta till maskinen ifråga och genom porten 3306 (MySQL/MariaDB)

Permalänk
Medlem
Skrivet av gonace:

@Lexdale: Jag vet mig inget sätt att undvika att det svaret skickas, men du kan alltid styra vilka ip-adresser som får ansluta till en t.ex. MySQL/MariaDB. Kan göras på mång sätt, genom en brandvägg längre ned i nätverksstacken eller så gör du via ett lättare alternativ och installerar iptables på maskinen.

iptables är en regel baserad brandvägg, så sätt upp en regel att ip-adress x.x.x.x får ansluta till maskinen ifråga och genom porten 3306 (MySQL/MariaDB)

Smart tack!

Permalänk
Medlem
Permalänk
Medlem
Skrivet av Lexdale:

Kan jag sätta upp någon säkerhets-fix som skyddar mot detta ?

Det rimligaste är att inte tillåta anslutningsförsök ö.h.t från källor du inte kontrollerar. En databas har ju aldrig(?) någon rimlig orsak till att vara helt publik.

Du kan också tunnla det via SSH, så bara de som redan har access via SSH också når databasen.

*edit*
Jag trodde jag tryckt F5. Jag trodde fel.

Permalänk
Medlem

@Kamouflage: Absolut, det bästa är att inte låta det vara möjligt att ens nå databasen/servern utifrån utan att man antingen måste ha en VPN (t.ex. Site-to-Site) eller att man måste gå via en gateway eller ssh tunnel.

I mitt yrke ser jag många som går bot på detta, ha publika ip-adresser direkt på en vital databas-serer och sedan bli förvånade varför databaserna droppats under natten Hej ip-adresser ifrån Ryssland, Kina osv

Permalänk
Medlem
Skrivet av Kamouflage:

Det rimligaste är att inte tillåta anslutningsförsök ö.h.t från källor du inte kontrollerar. En databas har ju aldrig(?) någon rimlig orsak till att vara helt publik.

Du kan också tunnla det via SSH, så bara de som redan har access via SSH också når databasen.

*edit*
Jag trodde jag tryckt F5. Jag trodde fel.

Smart, också ansluta via SSH med public-private key då

EDIT: provade köra curl 192.168.1.194:3306 nu samt telnet > open 192.168.1.194 3306

men jag får bara connection refused, och jag har ingen brandvägg på överhuvudtaget på någon av mina VM's.

Varför fungerar det inte för?

det fungerar dock om jag utför detta på min VM där jag har själva databasen på, så
curl localhost:3306

Men det fungerar inte att utföra detta från en annan VM.

Permalänk
Legendarisk

@Lexdale: Antagligen är även servern konfigurerad för att endast lyssna på localhost. Kolla om någon av dina konfigurationsfiler säger något om bind-address (grep -r bind-address /etc/mysql, /etc/mysql/mysql.conf.d/mysqld.cnf i Debian). Du kan även se värdet i din lokala klient via SHOW VARIABLES LIKE "bind_address";.

https://dev.mysql.com/doc/refman/5.7/en/server-options.html#o...

Visa signatur

Abstractions all the way down.

Permalänk
Medlem

@Lexdale: Per default lyssnar MySQL enbart på requests mot localhost, går att ändra i configen.

Visa signatur

🛜🫀: HP ProDesk 400 G3, i5 6500, 8GB DDR4, Intel X520-DA2
🐳🐧: AMD R5 3600 | Google Coral.ai | ASRock X570D4U-2L2T | Silverstone CS381 | 80GB DDR4 | 8 HDD BTRFS RAID1
⌨️🎮: R9 3900X | RTX 2080 LC | Acer XF270HUA | 96GB @ 3200 | MSI X570 MPG G EDGE WIFI | CORSAIR C70
🎞🎶: LG OLED55C8 | Epson TW3200 | Onkyo TX-NR646 | Infinity Reference 61/51 mk2 | Shield TV V2 | minhembio.com