I'm sending through my Linux Proxy / Gateway port scans to public ips

I got an email with this content:

>MYSERVERIP was observed probing AGUYWEBSITE for security holes. It
>has been blocked at our border routers. It may be compromised.
>For more info contact THEGUY
>Please include the entire subject line of the original message
>     THEGUY
>(time zone of log is PST, which is UTC-08:00, date is MMDD)
>log entries are from Cisco netflow, time is flow start time
>date.time         srcIP          srcPort dstIP          dstPort proto
>0225.13:47:49.302 MYSERVERIP   3876 HISSERVERIP        445    6
>0225.14:03:35.086 MYSERVERIP   2875 HISSERVERIP      445    6


My LAN connects to the internet using a Debian Firewall / Gateway / Proxy.

How can I track down where's the problem?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Well first of all is there any reason why you would want to allow traffic destine for TCP port 445 out of your network?  That is used for MS networking which typically you don't do over the Internet.

If there is no reason to, then I would just block it.

However, to find out what might be doing that, just run tcpdump on your linux box capturing anything that has a destination of TCP port 445.

Best bet is to allow it to run for awhile so

nohup tcpdump -i "insideinterface" -s 0 tcp port 445 -w filename.cap &

Where "insideinterface" is the NIC that is on the "inside" of your proxy.  Do not include the quotes.

Let it run for awhile then kill the pid, and use Wireshark to look at the file
ltpittAuthor Commented:
This is really what I needed!

Can you please suggest me how to block all ports but 80?

I will try the other suggestion but the 1st sounds the best idea.
Are you really running a proxy on the Linux box, like Squid, or is it just a "router/gateway" that is doing NAT'ing.
Starting with Angular 5

Learn the essential features and functions of the popular JavaScript framework for building mobile, desktop and web applications.

ltpittAuthor Commented:

Clients use squid for internet but also need to get to other services (pop3, smtp, other stuff)
O.K. going through squid will stop most other protocols/services.

For the other services you need to setup IP tables properly.   Can you post your iptables configuration?  If you have any public IP addresses directly on this Linux box make sure you hid them, just "x" out the first three octets.
ltpittAuthor Commented:
Here's my firewall script:



# delete all existing rules.
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT

# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

# Masquerade.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward

# Blacklist
iptables -A OUTPUT -d -j DROP
iptables -A OUTPUT -d -j DROP
iptables -A OUTPUT -d -j DROP

Open in new window

What traffic MUST you allow through other than http/https?
Oh and is there any traffic that you must allow TO the Linux box.

 Example:  You will need to allow ssh to the Linux box, but you may not need to allow ssh through it.
ltpittAuthor Commented:
Main problem is to allow users to use internet and email.

Of course problems will come and if you can be so kind to give an example about how to enable rules I'd be very thankful :)
By Internet I am assuming you mean to access web servers, http and https, which should be handled by Squid.

For e-mail, I would need to know more details.  What e-mail clients do they use and what type of e-mail servers?  Do they need pop3, imap, smtp?  Do any of them need to be encrypted.
I revised this comment.

One thing you should be able to do is, change:# Allow outgoing connections from the LAN side.

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

To the following:
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp -m multiport  -dport x,y,z  -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP

Where "x", "y", and "z" are destnation ports you want to allo.  Say you want to allow POP3, IMAP and SMTP, then you would have "-dport 25,110,143".

iptables -A FORWARD -i eth0 -o eth1 -p tcp -m multiport  -dport x,y,z  -j ACCEPT

This will allow new connections going to ports 25 (SMTP), 110 (POP3), or 143 (IMAP) out.

If you need to allow DNS resolution out add

iptables -A FORWARD -i eth0 -o eth1 -p udp  -dport 53  -j ACCEPT

Before the DROP rule.

The second rule will allow any established connections out.
The last will drop anything that is not one of the 3 ports or established.

This was done just off the top of my head, so please test.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux Networking

From novice to tech pro — start learning today.