[ale] [offlist]How to test your public internet connection for open ports
Wolf Halton
wolf at wolfhalton.info
Fri Feb 11 06:09:23 EST 2011
Ron,
Michael W is a real expert on these things, isn't he. Probably a good
percentage of the list was saying to themselves, "Wow, that Gibson site
is helpful. " Michael took it in a whole new direction. Than
interchange is why I like the Ale list so much. Makes me want to get a
cisco pix and really dig into the options. Here I am using a d-link
wireless and it gives you very few options easily - no console port and
no command line. This is another case where it turns out *my* clue
elevator wasn't arriving on all floors.
Wolf
PS Are you coming out to the ITT Linux fest on 2/19?
On 02/10/2011 01:04 PM, Ron Frazier wrote:
> Michael W.,
>
> I appreciate the post, but, I think you're being excessively harsh on
> Mr. Gibson. You've got to understand that his whole focus in just about
> everything he does (that I'm aware of) in the field of security is the
> AVERAGE everyday CONSUMER, or moderately technical consumer. His
> audience is the consumer. He writes for the consumer. Not for
> engineers, such as you or me, and not for networking gurus. His sole
> focus is to help those consumers secure their computers within the
> bounds of their knowledge and their equipment. Almost everything you
> said doesn't apply to a consumer environment, but does apply to an
> enterprise environment. My message post was in reply to another which
> asked advice on how to buy a router, even though I changed the subject
> line. Well, the next thing you need to do after you buy a router is
> properly configure it, which is why I made two followup posts.
>
> The average consumer is going to go to Fry's or Best Buy or a similar
> place and buy an off the shelf router for $ 50 - $ 100. The odds are,
> he won't be running DD-WRT on it. He'll take it home and install it
> according to the instructions. Then, he'll either run their setup
> wizard, which I don't recommend, or he'll manually configure it, which I
> do recommend. The main question on his mind other than getting it
> working, will be - is the firewall in this thing going to protect me as
> much as possible from unsolicited internet attacks? In this context,
> it's entirely appropriate to use simplified terminology to get the point
> across.
>
> An "open" port will allow a "stranger" to access your computer in some
> way that you didn't request, possibly to attack it. A "closed" or
> "stealthed" port will not. The theory of stealthing a computer is the
> same as the theory of stealthing a bomber. You don't want to reflect
> anything back. If Joe Cracker points his bot at my ISP's network and
> randomly does a port scan of my IP address, his bot won't see me AT
> ALL. He will get no replies, no rejects, no nothing. There is no way
> that cannot be the safest of the open, closed, stealthed alternatives.
> What's he going to attack? There's nothing there that's visible. Even
> if his scan returned all closed ports, it's entirely true that he can
> log my IP address to rescan later, perhaps each time major OS patches
> come out, or major security events happen. If all the ports were
> stealthed, and there was no reply to the probes, he has no reason to
> take note of this address at all.
>
> In the context of the average consumer, I think the red, blue, green
> light concept is a great way to illustrate to the user exactly where any
> potential weaknesses are.
>
> Furthermore, the average consumer has neither the knowledge, nor the
> capability, to control how packets are rejected.
>
> The consumer can buy a router which stealths the ports (most do), or one
> which does not. I say buy one that does. Once purchased, the router's
> control panel will allow him to turn on and off the NAT (although this
> may affect the firewall), turn on and off the firewall, turn on and off
> the ping response, turn on and off UPNP, turn on an off remote
> administration, and turn on and off the wireless encryption. That's
> about all. So, even if the consumer had the knowledge to know about how
> packets might be rejected, he cannot change the function of the router.
> Most consumers, however, will be doing good just to do the manual
> configuration.
>
> The average consumer will not be concerned over DDOS attacks.
>
> The prior 2 posts I made on this topic, and Steve's website, are
> designed to help an average consumer or moderately technical consumer
> configure an average router for maximum safety from unsolicited attacks
> in the quickest amount of time with the least possible technical
> knowledge. I think they accomplish that. While there are many
> extremely technical Linux users here, not everyone on the list is a
> Linux or iptables expert. Those less technical people will benefit from
> the information.
>
> If I can figure out how to make Ubuntu totally stealth this PC, I'm
> going to do that. I don't want the ports closed, no matter what form
> that takes. I want them silent. In the mean time, I'll be sitting
> behind my stealth firewall. I'll try to address some of your more
> technical points later, if I think I have anything intelligent to say.
> However, much of it is above my level of expertise.
>
> I totally understand that the rules and requirements and best practices
> are different in the enterprise.
>
> PS - I cannot comment on an event on another list at another time that I
> didn't witness.
>
> Sincerely,
>
> Ron
>
> On 02/10/2011 10:47 AM, Michael H. Warfield wrote:
>> On Thu, 2011-02-10 at 08:47 -0500, Ron Frazier wrote:
>>
>>> This is a PS to my prior reply post about configuring the router, with
>>> the subject of Shout Outs for good Wirless-N Router for Home. I decided
>>> to give this a new subject.
>>>
>>> Once your system is set up to connect to the internet, you want to make
>>> sure neither your modem, nor your router is exposing open ports to the
>>> world that you don't intend. Following is an easy to use and very
>>> popular port scanner that you can run from Steve Gibson's website. It's
>>> harmless, but will scan the most commonly used ports on your public
>>> address to see if any are open. If they are, you get a red light on
>>> your screen for each open port number. If they're closed, but still
>>> responding and saying "I'm not here" so to speak, you get a blue light.
>>> If they are stealthed, meaning giving no response at all to the port
>>> scanner, you get a green light. From a point of view of optimum
>>> security, you want all stealth, or green lights. There are any number
>>> of Linux utilities that you can use for this purpose as well, like
>>> ZenMap. However, if you do too many port scans from your home IP, your
>>> ISP may think you're a cracker. Also, port scanning your own public IP
>>> from inside your home LAN may not work. This utility is easy to use,
>>> comes from a third party, and is outside your LAN. Note, this will test
>>> the outermost device (closest to the internet) on your public IP. If
>>> your modem is responding to any querys, which it shouldn't unless
>>> someone needs remote administration capabilities, which are a security
>>> risk, that will show up in the results. Otherwise, you will be testing
>>> your router.
>>>
>>
>>> Before getting into usage, here is some data on CLOSED vs STEALTH ports
>>> from Steve's website at https://www.grc.com/su/portstatusinfo.htm .
>>>
>>
>>> quote on -->
>>>
>>
>>> A "Stealth" port is one that completely ignores and simply "drops" any
>>> incoming packets without telling the sender whether the port is "Open"
>>> or "Closed" for business. When all of your system's ports are stealth
>>> (and assuming that your personal firewall security system doesn't make
>>> the mistake of "counter-probing" the prober), your system will be
>>> completely opaque and invisible to the random scans which continually
>>> sweep through the Internet.
>>>
>> See now. This is one of those perfect examples I use where I say Steve
>> Gibson's clue elevator just does not hit all the floors. He writes a
>> good column for people who are not in the security business but
>> sometimes he really just missing the mark. Sometimes his lack of
>> understanding of underlying protocols is surprising. I recall some
>> incident years ago on the kernel mailing list where some anti-DDoS
>> proposal of his reached the list proclaiming "The end of DDoS!" It
>> really only affected SYN flood DDoSs even if it could have worked and it
>> wouldn't even have worked for that. He just really didn't understand
>> how the protocols and stacks worked and hadn't really considered all the
>> aspects. And it certainly wasn't the end of all DDoS as he so proudly
>> proclaimed. But it got him press and coverage, so I guess it served him
>> well.
>>
>> So... What's the difference between "dropping" a packet (what he's
>> calls stealth and what nmap calls filtered) and rejecting a packet
>> (default is PKT_FILTERED or administratively denied). I would argue,
>> absolutely none of any real significance. You can still differentiate
>> ports which are "closed" (you get either an UNREACH PORT_UNREACH or you
>> get a TCP RESET) from those that are "open" (to you) and you can still
>> differentiate the IP address as active from adjoining addresses which
>> are not (returns ICMP UNREACH HOST_UNREACH).
>>
>> One difference is that it CAN now be abused in DDoS attacks if you are
>> dropping all packets. If someone uses it as a spoofing source for SYN
>> floods, it can be abused because it doesn't return resets, which would
>> break the SYN flood. Doh! It could also be used in other "spoofing"
>> attacks where a returned reset or reject would spoil all the fun.
>>
>> "Stealth" isn't stealth because "not there" is not "stealth". It stands
>> out against a backdrop of "HOST_UNREACH" errors like a sore thumb. True
>> the attacker has to time that connection out, assuming he's even waiting
>> for the return packets from the SYN's.
>>
>> OTOH, if you reject a packet with ICMP UNREACH HOST_UNREACH an attacker
>> MIGHT play on through and ignore you because you look like the host
>> isn't even there. Of course, he may not even be looking at error
>> returns and he may not be even waiting for returns and may be just
>> running flat out asynchronous, at which time, really, none of this
>> matters. If you are doing this on a firewall, maybe you want to return
>> ICMP UNREACH NET_UNREACH for the whole network range and let your
>> stateful firewall open the ports for clients.
>>
>> Something maybe built round this set of iptables rules:
>>
>> ... [static open-port rules here]
>> -A FORWARD -i {internal interface} -j ACCEPT
>> -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
>> -A FORWARD -j REJECT --reject-with icmp-net-unreachable
>>
>> Season with options and interfaces to taste. Stick your static rules
>> and trusted (inside) interface rules above them. Anything inside is
>> protected by the state table (BTW - this is all it takes to match the
>> silly so called "NAT" security). This also works in IPv6 land with
>> ip6tables, no NAT required.
>>
>> If the port is "Open" (I hate the terms "Open" and "Closed". They're so
>> imprecise and misused) to some addresses and "Closed" to others
>> (filtered or dropped) does it really make more sense to drop a packet
>> than reject it with a "HOST UNREACH"? Why? For that matter, most
>> attacker tools don't care about the minor codes. The thing was
>> unreachable. Just rejecting the packet does just fine and it doesn't
>> make you a DDoS SYN NULL sync.
>>
>> All that being said... The difference between dropping packets and
>> rejecting packets is so minor as to be not worth the time to argue over.
>> Some people will argue that it's "common sense" but, to me, common sense
>> is the "future application of past experience" and my past experience
>> tells me otherwise. Others are free to disagree.
>>
>> I have several examples in my experience of actual malicious activity
>> out on the net which abused sites that dropped all packets by default.
>>
>> The most amusing was a piece of malware that was driving us all nuts for
>> ages. It was spoofing all communications right down the spoofing its
>> MAC addresses on the local wire, so you had to literally go switch to
>> switch and port to port to find the wire of the machine that was
>> infected with this bloody thing. One site I know finally managed to
>> track one down and capture it. It was infecting a Linux system. They
>> seized the hard drive but, unfortunately, they were not trained in doing
>> a forensic analysis and failed to make a backup before spinning the
>> drive up in a lab. They watched this process listen on a sniffer port
>> for a certain beacon packet it was expecting from the outside world,
>> which it didn't receive. After a few seconds of this, it pinged an
>> address (which later proved to be an address which was dropping all
>> packets) and received an UNREACH NET_UNREACH error and then immediately
>> totally wiped itself off the machine, because it determined it was in a
>> lab. That thing contained a "negative response dead-man's-switch" (dms)
>> and overwrote itself destructively, completely, and irrecoverably if it
>> ever got an error from the dms test. Few months later, it disappeared
>> off the net and we never saw it again. Who ever controlled it was
>> finished with their little experiment.
>>
>> Another example was a simple case of spoofing trying to abuse and ftp
>> site and make it look like it came from another. Only real live active
>> case of full tcp spoofing I've ever really seen where the attacker was
>> on the wire close to the target and could sniff the return packets. The
>> spoofed site got the blame for the attack (which is where I came in).
>>
>>
>>> ...
>>>
>>> "Closed" is the best you can hope for without a stealth firewall or NAT
>>> router in place. At least the port is not "Open" for business and
>>> accepting connections from the probes which are continually sweeping the
>>> Internet searching for exploitable systems.
>>>
>> Again. This is stupid at best. Open ports are open. For "closed"
>> ports, if you drop packets or reject them either way, it's the same
>> thing in the end.
>>
>>
>>> Anyone scanning past your IP address will detect your PC, but "closed"
>>> ports will quickly refuse connection attempts. Since it's much faster
>>> for a scanner to re-scan a machine that's known to exist, the presence
>>> of your machine might be logged for further scrutiny at a later time ---
>>> for example, when a new operating system vulnerability is discovered and
>>> before the potential for exploitation has been repaired.
>>>
>> In the age of massive parallel scans, this is a load of crap. Nobody,
>> and I mean nobody, sends a single connection attempt and waits. If they
>> do "wide" scans (scan all ports on a single host and move on) at all any
>> more (very rare now days) they send thousands of SYNs asynchronously and
>> reap what comes back asynchronously. No impact. Some limited narrow
>> scans (scanning for a single service across multiple hosts and nets)
>> might be slowed but even then it's all going to be largely asynchronous.
>> I see far far more narrow scans than wide scans any more.
>>
>>
>>> For this reason it is important for you to stay current with updates
>>> from your operating system vendor since new potential vulnerabilities
>>> are discovered frequently.
>>>
>> Now that is good advice under any circumstance.
>>
>>
>>> <-- end quote
>>>
>> <-- snip -->
>>
>> Mike
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.ale.org/pipermail/ale/attachments/20110211/e9b4694e/attachment-0001.html
More information about the Ale
mailing list