Link to home
Start Free TrialLog in
Avatar of leevee1606
leevee1606

asked on

How do I allow traffic only from a certain IP range and only allow access to the site through that range?

I have a Linux Centos Server, where I only want to allow traffic through from a DDOS protection server, yet I still need to allow access to the site from all IP addresses, so I cannot use IP Block.
Is there a software firewall/nat product I can install on the server to do this? and how would I go about setting it up to allow traffic from only the ip range that i need?
Avatar of jozef_mares
jozef_mares
Flag of Slovakia image

i am no sure if i understand question correctly:
you have a DDOS protection server
you have a CentOS linux server

You want connections only from DDOS protection server. If so check for iptables which is linux kernel software firewall/packet filter/nat.
Avatar of leevee1606
leevee1606

ASKER

ok - where exactly do i find the iptables file, and how do i setup the iptables? I have never setup iptables before. I have ssh access to the server.
iptables is binary. SSH to CentOS server, su to root and run iptables -L.
You will see rules. Post back.
ASKER CERTIFIED SOLUTION
Avatar of jozef_mares
jozef_mares
Flag of Slovakia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
seems to works the same as ipblock in cpanel?
the minute i use iptables -P INPUT DROP # drop everything, there is no access to the site, even though I have enabled access using the correct IPs in iptables -A INPUT -s 192.168.1.10 -j ACCEPT # allow connection from 192.168.1.10
i need to allow only traffic from the external ddos server, but still allow access to the site from all ip addresses ie: it mustn't work like an ip block
does that make sense?

iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination

ACCEPT     all  --  41.247.214.238       anywhere

ACCEPT     all  --  209.200.128.0/27     anywhere
well that does not make sense for me. You have to choose if you want access from all hosts in network or from few. You can't have in same time disabled access and enabled.
ok - sure - sorry, i was a bit confusing there! :)
haven't had my cup of coffee this morning yet!
I need to allow access only from the external server, and then everyone else connects to the site only through that external server.
The problem is that I allow access only from the external server, and it blocks for everyone even when they connect through the external server, as if it is looking at their ip as the access ip
oh then the problem looks like packet filter is checking source ip which is different from external server.
Simpliest solution is to forward address or ports from external server to CentOS site. This should be setup'ed in external server. On CentOS server than setup proper blocking and every request will go throught external server.
ok - makes sense - only the problem i have there is that i cannot do anything on the external server, as it is owned by someone else, and they operate it as a service.
the only other thing i can do, i guess, is setup packet filtering? (which i don't know how to do)
or to stop the packet filter from checking the source ip???
well depends on how to the requests are processed from external server to your internal network. If they just forwards DNS requests to your internal server then you can enable packet filter and allow connections only from that external server.
But the problem is that i do not know nothing about request and network.
i have mod_security installed on the server - is there anything i can setup there?
mod_security is apache module which allows you to protect web application from common security problems like sql injection and XSS.
You can configure it but this strongly depends on web application. This module check and modifies web requests. Wrong configuration of mod_security can make applications to stop working correctly.

Let's start from beginning what you want to protect and from what. Than we can found hopefully better solution.
ok - sounds like i better leave the mod-security alone - i'll just leave the default settings on that.
I think your first solution of the iptables will work the best - i will use that, then just ask the owners of the external server to setup the server so that they just pass through the external requests as from their ip.
Thank you for your help.