O seguinte endereço IP é para minha interface de rede
$ nmap 192.168.0.142
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-09 11:33 EST
Nmap scan report for ocean (192.168.0.142)
Host is up (0.00047s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.97 seconds
Esses serviços são mostrados abaixo, mas não acima, exatamente daqueles que estão fechados para fora, mas abertos dentro da minha máquina local?
Os serviços cuja segurança devo me preocupar são exatamente os listados acima?
Obrigado.
$ nmap localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-09 11:34 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00046s latency).
Other addresses for localhost (not scanned):
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
631/tcp open ipp
3306/tcp open mysql
5432/tcp open postgresql
9050/tcp open tor-socks
Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds
Se você tiver serviços vinculados apenas ao endereço localhost/127.0.0.1, eles serão exibidos apenas em uma
nmap
varredura 127.0.0.1 e não em outras varreduras para endereços IP no mesmo host.Esse é o caso geralmente, por motivos de segurança, de vinculação a 127.0.0.1, MySQL, postgresql e bancos de dados mongo apenas para uso localhost, redis e outros.
Por outro lado, às vezes você pode encontrar outras portas em IPs não localhost, especialmente quando você tem vhosts em servidores da Web vinculados a endereços IP não localhost e para ouvir apenas nesses endereços.
No seu caso específico 192.168.0.142, eu perguntaria se o MySQL também não poderia ser vinculado a 127.0.0.1.
PS Um ditado muito antigo que me ensinaram quando era trainee era: "Mais importante do que usar as ferramentas, é entender como elas funcionam/os dados que nos são fornecidos".
Em relação à resposta do @roaima, como exemplo mencionado nesta resposta, a porta padrão de um banco de dados amplamente usado, mongodb, não está na lista de portas verificadas por padrão pelo
nmap
.TLDR Não é regra que escanear endereços IP diferentes de um mesmo equipamento, que todos os dados de escaneamento/portas abertas sejam iguais.
Infelizmente, por design de rede, na maioria das vezes, não queremos que eles sejam os mesmos. Por exemplo, em firewalls/equipamentos de comutação, definimos interfaces/VLANs em uma rede de controle específica que os usuários não podem acessar por ter os serviços de gerenciamento web/ssh ativos, e apenas nessas interfaces. por exemplo, usuários normais não podem acessar esses serviços, eles só podem ser alcançados por uma VPN e/ou uma sala de controle. (este é um exemplo mais extremo. Trabalhei em organizações onde o serviço SSH de VMs está presente apenas através de uma rede de controle também).
Quase, mas não exatamente.
Por padrão
nmap
, verifica apenas 1000 portas para qualquer protocolo (tcp, udp, qualquer que seja). Portanto, suas varreduras de porta estão sujeitas a esse filtro. Você verá na documentação que pode definir o conjunto de portas a serem verificadas com a-p
opção, e isso-p-
significa verificar as portas 1-65535. (Estranhamente, out 0 ainda é omitido; você precisa especificá-lo explicitamente se quiser incluí-lo.)As outras duas respostas levantam pontos muito importantes. Mas, além disso, você parece ter verificado apenas o TCP e não o UDP :-). Portanto, também pode haver serviços UDP com os quais você queira se preocupar.
A varredura UDP tem vários problemas que não se aplicam à varredura TCP. Em ambos os casos, eu começaria consultando o sistema operacional: Como faço para listar todos os soquetes abertos para máquinas remotas?
A varredura de portas ainda é útil como confirmação. A verificação de portas de um host diferente é uma ideia particularmente boa se você configurou um firewall, para confirmar se o firewall está fazendo o que você deseja.