Hvorfor port 80 (HTTP) rapporteret som åben ved nmap, når den er lukket?

Hvorfor rapporteres nogle havne som åbne af nmap?
Jeg har for nylig opsat en lille server, der kører Debian 9. Formålet med denne maskine skal køre OpenVPN-server på port 443 at omgå censur. Det kører følgende tjenester og intet andet:

  1. Blæksprutte på privat IP tilhører VPN-pool (10.8.0.1: 3128)
  2. SSH på private IP tilhører VPN-pool (10.8.0.1: 22)
  3. DNS-resolver på privat IP tilhører VPN-pool (10.8.0.1: 53)
  4. OpneVPN på offentlig IP-port 443 (server_public_ip_address: 443)

Efter opsætningen af ​​alt besluttede jeg at køre Nmap for at scanne min server. Til min overraskelse opdagede jeg, at port 80 var åben:
{macbookpro} $ sudo nmap ln.vpngatway
Prøveudgange:

Start Nmap 7.50 (https://nmap.org) ved 2017-07-03 00: 24 IST Nmap scanningsrapport for ln.vpngatway (xxx.yyy.zzz.123) Værten er op (0.20s latency). Ikke vist: 998 filtrerede porte PORT STATE SERVICE
80 / tcp åbner http
443 / tcp lukket https Nmap færdig: 1 IP-adresse (1 host op) scannet i 19.87 sekund

I kørte også følgende kommando nc at bare sørge for at port 80 ikke reagerer (men det reagerede):
{macbookpro} $ nc -zv ln.vpngatway 80
Prøveudgange:

fundet 0 foreninger fundet 1 forbindelser: 1: flag = 82 outif en6 src 192.168.2.5 port 51462 dst xxx.yyy.zzz.123 port 80 rang info ikke tilgængelig TCP aux info tilgængelig Forbindelse til ln.vpngatway port 80 [tcp / http] lykkedes!

Nmapen siger, at porten er åben, mens netstat siger, at der ikke kører noget på port 80 på serveren selv:
{ln.vpngatway} $ netstat -tulpn | grep: 80
Jeg har intet. Så jeg løb følgende:
{ln.vpngatway} $ ps aux | egrep -i 'httpd | nginx | ​​apache | lighttpd'
Prøveudgange:

root 4257 0.0 0.0 12784 992 pt / 0 S + 19: 06 0: 00 grep -E -i httpd | nginx | ​​apache | lighttpd

Jeg er forvirret af Nmap output. Jeg kontrollerede dobbelt alt. Samme resultat. Hvorfor port 80 (HTTP) rapporteret som åbnet af Nmap? Før jeg begynder at spille med tcpdump, besluttede jeg at lave en god god telnet / nc session:
{macbookpro} $ nc ln.vpngatway 80
Jeg har lige anmodet om / dokument:

GET / HTTP / 1.1 vært: ln.vpngatway

Efter en tid fik jeg det på skærmen:

HTTP / 1.1 503 Service Utilgængelig Server: blæksprutte Mime-Version: 1.0 Dato: Sun, 02 Jul 2017 19: 16: 52 GMT Indholdstype: tekst / html; charset = utf-8 Indholdslængde: 3406 X-Squid-Error : ERR_CONNECT_FAIL 60 Varighed: Accept-sprogindhold-Sprog: en X-Cache: MISS fra localhost X-Cache-Lookup: MISS fra localhost: 3128 Connection: keep-alive <html> <head> <meta type = "copyright" indhold = "Copyright (C) 1996-2017 Squid Software Foundation og bidragsydere"> <meta http-equiv = "Content-Type" content = "tekst / html; charset = utf-8"> <title> FEJL: Den anmodede URL kunne ikke hentes </ title> <style type = "text / css"> <! - .... ...... .. <script language = "javascript"> hvis ('[ukendt metode]' ! = '[ukendt metode]') document.getElementById ('missing-method'). style.display = 'ingen'; if ('error: invalid-request'! = '[ingen URL]') document.getElementById ('missing-url'). style.display = 'ingen'; if ('[ukendt protokol]'! = '[ukendt protokol]') document.getElementById ('missing-protocol'). style.display = 'ingen'; </ script> <hr> <div id = "footer"> <p> Genereret Sun, 02 Jul 2017 19: 16: 52 GMT af localhost (blæksprutte) </ p> <! - ERR_INVALID_REQ -> </ div > </ body> </ html>

HTTP / 1.1 503-service ikke tilgængelig
Server: blæksprutte
Mime-Version: 1.0
Dato: Sun, 02 Jul 2017 19: 16: 52 GMT
Indholdstype: tekst / html; charset = utf-8
Content-Length: 3406
X-Squid-Fejl: ERR_CONNECT_FAIL 60
Vary: Accept-Language
Indholdssprog: da
X-Cache: MISS fra localhost
X-Cache-Lookup: MISS fra localhost: 3128
Forbindelse: hold i live

<Html> <head>
<meta type = "copyright" content = "Copyright (C) 1996-2017 Squid Software Foundation og bidragsydere">
<meta http-equiv = "Content-Type" content = "text / html; charset = utf-8 ">
<title> FEJL: Den anmodede URL kunne ikke hentes </ title>
<style type = "text / css"> <! -
....
......
..
<script language = "javascript">
if ('[ukendt metode]'! = '[ukendt metode]') document.getElementById ('missing-method'). style.display = 'ingen';
if ('error: invalid-request'! = '[ingen URL]') document.getElementById ('missing-url'). style.display = 'ingen';
if ('[ukendt protokol]'! = '[ukendt protokol]') document.getElementById ('missing-protocol'). style.display = 'ingen';
</ Script>

<Hr>
<div id = "footer">
<p> Genereret Sun, 02 Jul 2017 19: 16: 52 GMT af localhost (blæksprutte) </ p>
<! - ERR_INVALID_REQ ->
</ Div>
</ Body> </ html>

Mystiet er løst. Jeg fandt aflytning caching / gennemsigtig proxying. Aflytning Caching er ikke andet end den proces, hvormed HTTP-forbindelser, der kommer fra eksterne klienter, omdirigeres til en cache-server uden deres viden eller eksplicitte konfiguration. I dette tilfælde blev alle HTTP-forbindelser omdirigeret til en proxyserver som standard ved hjælp af kombinationen af ​​en firewall- og blækspruttserver.

Kilde

Efterlad en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.