Ubuntu Open Ports

Я недавно установил две машины с Ubuntu Server и хотел бы найти открытые порты на машине.

Когда я запускал nmap со своей машины (Ubuntu 11.10), я заметил, что на обоих серверах

135/tcp  filtered msrpc
4444/tcp filtered krb524
4662/tcp filtered edonkey
5000/tcp filtered upnp
5631/tcp filtered pcanywheredata

я никогда не открывал эти порты. Я только установил LAMP и SAMBA. Почему эти порты открыты?

Полный список открытых портов:

22/tcp  open  ssh
25/tcp  open  smtp
53/tcp  open  domain
80/tcp  open  http
110/tcp open  pop3
135/tcp  filtered msrpc
139/tcp  open     netbios-ssn
143/tcp  open     imap
445/tcp  open     microsoft-ds
993/tcp  open     imaps
995/tcp  open     pop3s
4444/tcp filtered krb524
4662/tcp filtered edonkey
5000/tcp filtered upnp
5631/tcp filtered pcanywheredata

Вопрос в том, почему открыты эти порты: 135/tcp filtered msrpc, 4444/tcp filtered krb524, 4662/tcp filtered edonkey. 5000/tcp filtered upnp, 5631/tcp filtered pcanywheredata. Я никогда не открывал эти порты. Я только установил LAMP и SAMBA.

Этот список кажется безопасным?

6
задан 08.04.2020, 17:02

4 ответа

Вы можете получить список портов из файла / etc / services

cat /etc/services | grep 137 (example)

Пример

Какие порты должны быть открыты для связи Samba

netbios-ns - 137 # NETBIOS Name Service

netbios-dgm - 138 # NETBIOS Datagram Service

netbios-ssn - 139 # NETBIOS session service

microsoft-ds - 445 # if you are using Active Directory

выполнить эту команду netstat -anltp | grep "LISTEN"

Типичный веб-сервер, на котором работают FTP, SSH и MySQL, будет иметь следующий вывод:

tcp     0   0 127.0.0.1:3306    0.0.0.0:*   LISTEN   21432/mysqld
tcp     0   0 0.0.0.0:80        0.0.0.0:*   LISTEN   4090/apache2
tcp     0   0 0.0.0.0:22        0.0.0.0:*   LISTEN   7213/sshd
tcp6    0   0 :::21             :::*        LISTEN   19023/proftpd
tcp6    0   0 :::22             :::*        LISTEN   7234/sshd
7
ответ дан 08.04.2020, 17:03

Ваш вопрос довольно широкий, а «безопасный» относительный.

Когда вы устанавливаете сервер и открываете порт, всегда будут потенциальные уязвимости.

Когда вы устанавливаете сервер (ssh, samba) и запускаете сервер (они обычно запускаются по умолчанию при загрузке), вы открываете порт.

На каждом сервере (ssh, samba, http) есть изменения конфигурации, которые вы можете внести для повышения безопасности.

для ssh это может включать использование ключей (и отключение паролей), tcpwrapper, брандмауэр и т. Д.

При использовании брандмауэра существует 3 широких стратегии

1) Разрешить всем и черный список плохих действующих IP. Примером этого может быть http. В gerneral вы запускаете http как общедоступный сервер, разрешаете все IP и помещаете в черный список тех, кто спамит ваш сервер.

2) Запретить все и разрешить белый список. Примером этого может быть ssh.

3) Предел. Иногда вы ограничиваете скорость соединения или # пингов / секунду.

Надеюсь, что вы начнете, возможно, вы захотите посмотреть

https://help.ubuntu.com/11.10/serverguide/C/index.html

[1113 ] https://help.ubuntu.com/community/Security

Или задать конкретный вопрос о конкретном сервере.

2
ответ дан 08.04.2020, 17:03

Эта команда поможет вам.

$ netstat -a -n | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN    

Эта ссылка « открытые порты и команды служб прослушивания » поможет вам.

0
ответ дан 08.04.2020, 17:04

«фильтрованный» не обязательно означает открытый порт на целевом хосте.

На самом деле, это может вообще ничего не значить.

Если, например, между тем, где вы работаете nmap, и целью находится межсетевой экран, и этот межсетевой экран активно фильтрует порт 5000, то 5000 будет отображаться как «отфильтрованный» в вашем списке, без целевой хост когда-либо видит какой-либо трафик на этот порт - поэтому открыт ли порт на целевой станции становится совершенно неактуальным.

Чтобы получить полный список открытых портов на сервере, попробуйте:

sudo netstat -lnp --tcp --udp

-l : only show listening ports
-n : don't bother looking up DNS hostnames
-p : show which processes have the port open
--tcp : show tcp ports
--udp : show udp ports

Вы можете опустить --tcp и --udp, но тогда вы получите довольно много несущественной информации о сокетах локальной файловой системы. который недоступен по сети.

sudo требуется для правильной работы -p, или просто напечатает - для любого процесса, не принадлежащего вашему пользователю.

2
ответ дан 08.04.2020, 17:04
  • 1
    Я отредактировал свой ответ для добавления флага-p, который распечатает процесс на каждой строке также. Обратите внимание, что необходимо будет быть корнем (снабдите префиксом его sudo) видеть любой процесс, не принадлежавший пользователю. – bibscy 08.04.2020, 17:04
  • 2
    Да Вы правы. Это мог бы быть брандмауэр. Можно ли проверить список в pastebin.com/v6Y2QgCD и сообщить ли мне, как я могу найти, почему и какая программа использует каждый порт? – Joseph 08.04.2020, 17:05

Теги

Похожие вопросы