3 τρόποι ελέγχου ανοιχτών ports στο Linux


Είναι σημαντικό να ελέγχουμε τα ανοιχτά ports στο Linux για λόγους ασφαλείας. Αυτό μας βοηθά να δούμε αν υπάρχει κάποια υπηρεσία που χρησιμοποιεί κάποιο Port σύστημα μας ενώ δεν πρέπει. Στο παρόν άρθρο θα δούμε 3 τρόπους ελέγχου με τη χρήση των ανάλογων εφαρμογών.

Πως ελέγχω ports στο Linux με τη χρήση των ανάλογων εργαλείων;

Υπάρχουν διάφοροι τρόποι με τους οποίους μπορούμε να διαπιστώσουμε την ύπαρξη ανοιχτών ports στο Linux.

Έλεγχος ports με τη χρήση του netstat

Εντολή

netstat -tulpn | grep LISTEN

Output

[root@rhel ~]# netstat -tulpn | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      904/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      866/master
tcp6       0      0 :::80                   :::*                    LISTEN      1086/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      904/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      866/master
[root@rhel ~]#

Στο output της εντολής παρατηρούμε ότι φαίνονται όλα τα TCP και UDP ports. Στην περίπτωση που θέλουμε να φιλτράρουμε περισσότερο τα αποτελέσματα, μπορούμε εύκολα να το κάνουμε με τη χρήση του grep όπως είχαμε δει.

[root@rhel ~]# netstat -tulpn | grep LISTEN|grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      1086/httpd
[root@rhel ~]#

Στο output βλέπουμε ότι το port 80 χρησιμοποιείται από την υπηρεσία httpd με PID (Process IDentification) 1086. Να θυμίσουμε επίσης ότι υπάρχει και το ss που παρέχει στατιστικά δικτύου.

Έλεγχος ανοιχτών ports με τη χρήση του lsof

Το lsof παρουσιάζει μια λίστα με ανοιχτά αρχεία. Παρόλα αυτά με τη χρήση συγκεκριμένων παραμέτρων, μπορούμε να δούμε τα ανοιχτά ports στο Linux. Εξ ορισμού (by default) δεν είναι εγκατεστημένο στο σύστημα μας, αλλά θα το βρούμε στα αποθετήρια όλων των γνωστών διανομών.

Για παράδειγμα στο ubuntu/debian το εγκαθιστούμε δίνοντας

sudo apt install lsof

Χρήση εντολής

lsof -i -P -n

Output

[root@rhel ~]# lsof -i -P -n
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
chronyd   513   chrony    1u  IPv4  14330      0t0  UDP 127.0.0.1:323
chronyd   513   chrony    2u  IPv6  14331      0t0  UDP [::1]:323
dhclient  548     root    6u  IPv4  15326      0t0  UDP *:68
dhclient  548     root   20u  IPv4  15315      0t0  UDP *:41668
dhclient  548     root   21u  IPv6  15316      0t0  UDP *:23435
master    866     root   13u  IPv4  16678      0t0  TCP 127.0.0.1:25 (LISTEN)
master    866     root   14u  IPv6  16679      0t0  TCP [::1]:25 (LISTEN)
sshd      904     root    3u  IPv4  17424      0t0  TCP *:22 (LISTEN)
sshd      904     root    4u  IPv6  17426      0t0  TCP *:22 (LISTEN)
sshd      951     root    3u  IPv4  17884      0t0  TCP 172.31.22.4:22->103.211.42.2:59572 (ESTABLISHED)
sshd      954 ec2-user    3u  IPv4  17884      0t0  TCP 172.31.22.4:22->103.211.42.2:59572 (ESTABLISHED)
httpd    1086     root    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1088   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1089   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1090   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1091   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)
httpd    1092   apache    4u  IPv6  19036      0t0  TCP *:80 (LISTEN)

στην περίπτωση που θέλουμε περισσότερες πληροφορίες για το port 80 μπορούμε με τη χρήση της ακόλουθης εντολής.

[root@rhel~]# lsof -i :80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   1086   root    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1088 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1089 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1090 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1091 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)
httpd   1092 apache    4u  IPv6  19036      0t0  TCP *:http (LISTEN)

Βλέπουμε ότι το port 80 χρησιμοποιείται από την υπηρεσία httpd με PID 1086

Έλεγχος με τη χρήση του nmap

Εδώ δε νομίζω ότι χρειάζονται ιδιαίτερες συστάσεις. Ίσως από τα διασημότερα εργαλεία, το οποίο έχει χρησιμοποιηθεί σε αρκετές ταινίες του Hollywood.

Το εγκαθιστούμε δίνοντας

sudo apt install nmap

Χρήση εντολής

nmap -sT -O localhost

Output

[root@ip-172-31-22-4 ~]# nmap -sT -O localhost
 
Starting Nmap 6.40 ( http://nmap.org ) at 2017-09-15 13:59 UTC
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 997 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
25/tcp open  smtp
80/tcp open  http
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.9
Network Distance: 0 hops
 
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.66 seconds
[root@ip-172-31-22-4 ~]#

Στο παραπάνω output μπορούμε να ελέγξουμε πολύ εύκολα τα ανοιχτά ports.

 

πηγή : linuxroutes.com

Advertisements

Απορίες, παρατηρήσεις, ιδέες... Ελεύθερα ! Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s