Internet non è stato un luogo sicuro per molto tempo, vale la pena vedere per chi lasciamo la porta aperta e a cosa conduce. Le porte sono un equivalente delle porte nelle reti di computer.
Quando sappiamo quali applicazioni utilizziamo, sapremo quindi cosa aggiungere alle nostre regole del firewall iptables o alla whitelist UDP:
Sulla maggior parte dei sistemi, il comando è sufficiente:
netstat -l
A prima vista sembra un piatto di pasta all'italiana, ma basta guardare più da vicino che il risultato di questo comando è una miniera di conoscenze
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:40833 *:* LISTEN
tcp 0 0 localhost:27017 *:* LISTEN
tcp 0 0 localhost:mysql *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:46834 *:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 [::]:43937 [::]:* LISTEN
tcp6 0 0 [::]:57793 [::]:* LISTEN
tcp6 0 0 [::]:sunrpc [::]:* LISTEN
udp 0 0 localhost:608 *:*
udp 0 0 *:674 *:*
udp 0 0 *:59774 *:*
udp 0 0 *:bootpc *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:41251 *:*
udp6 0 0 [::]:674 [::]:*
udp6 0 0 [::]:43086 [::]:*
udp6 0 0 [::]:40189 [::]:*
udp6 0 0 [::]:sunrpc [::]:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 7424585 /tmp/mongodb-27017.sock
unix 2 [ ACC ] STREAM LISTENING 24344048 /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 7467947 /run/user/1002/systemd/private
unix 2 [ ACC ] STREAM LISTENING 7459911 /run/user/1001/systemd/private
unix 2 [ ACC ] SEQPACKET LISTENING 7951 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 7885 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 7931 /run/lvm/lvmetad.socket
unix 2 [ ACC ] STREAM LISTENING 7952 /run/lvm/lvmpolld.socket
unix 2 [ ACC ] STREAM LISTENING 13305 /var/lib/lxd/unix.socket
unix 2 [ ACC ] STREAM LISTENING 13303 /run/uuidd/request
unix 2 [ ACC ] STREAM LISTENING 13304 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 13306 /run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 13307 /run/snapd.socket
unix 2 [ ACC ] STREAM LISTENING 13308 /run/snapd-snap.socket
unix 2 [ ACC ] STREAM LISTENING 14766 @ISCSIADM_ABSTRACT_NAMESPACE
unix 2 [ ACC ] STREAM LISTENING 24019 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 42459 /var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 45141 /run/rpcbind.sock
Dopo questo risultato, possiamo concludere che questo sistema esegue MySQL e MongoDB.
Hai MySQL:
tcp 0 0 localhost:mysql *:* LISTEN
MySQL usa la porta per impostazione predefinita 3306 ed è un'applicazione abbastanza nota da molti anni, quindi l'applicazione ci dice immediatamente che è la porta utilizzata da MySQL invece del numero di porta
Hai MongoDB?:
tcp 0 0 localhost:27017 *:* LISTEN
Mongo è meno conosciuto e molto più giovane, qui è dove ci viene mostrata la porta 27017
.
Possiamo anche usare netstat -ln
, quindi otterremo un elenco di tutte le porte senza rilevare cosa è cosa.
Entrambe le app hanno localhost:
davanti alla porta in modo che ascoltino solo localmente, cioè, non è possibile accedervi dall'esterno tramite la rete. È una soluzione sicura perché è meglio non dare accesso a estranei al nostro database, anche se è protetto da password.
Ad esempio, se consentiamo l'accesso dall'esterno, potrebbe risultare in futuro che esiste una scappatoia che ti consente di accedere senza password e ci dimenticheremo dell'aggiornamento e il problema è pronto.
Qui possiamo vedere un server SSH in ascolto su una porta standard:
tcp 0 0 *:ssh *:* LISTEN
È esposto all'esterno, ma SSH è un'applicazione collaudata e in qualche modo dobbiamo anche raggiungere il server, quindi non preoccuparti troppo finché abbiamo una password lunga e generata casualmente o accedi con una coppia di chiavi (pubblico e privato).
Abbiamo anche una curiosità in fondo:
unix 2 [ ACC ] STREAM LISTENING 42459 /var/run/mysqld/mysqld.sock
È un porto, ma non proprio. È una presa (spina) che consente all'applicazione di connettersi non tramite un indirizzo di rete standard ma tramite un file. Alcune applicazioni supportano la connessione tramite socket UNIX, ed ecco un esempio di questo. Questi file non sono in alcun modo esposti al mondo, sono una buona soluzione per connettere servizi su un server con utenti diversi perché puoi modificare i diritti degli utenti su questa risorsa come qualsiasi altro file sul disco.
Se non abbiamo un tale comando nel sistema come netstat
, devi installare il pacchetto net-tools
.
Nel caso di Debian e derivati, ad es.. Ubuntu basta eseguire questi comandi per installarlo:
apt-get update
apt-get install net-tools
Sufficiente per CentOS e altri derivati RHEL:
yum install net-tools
La guida seguente descrive come installare KeePass su Ubuntu. Całość wykonamy za pomocą kilku poleceń…
Master PDF Editor è un programma PDF completo, che include molte funzionalità. Oprócz tworzenia i edycji…
Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w…
Puoi separare due o più comandi con il punto e virgola (;), Punto e virgola (;): służy do oddzielania…
Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.…
La seguente guida descrive come installare Rocket.Chat su Rocky Linux 8 Całość bardzo prosto zainstalujemy…