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?
leevee1606Asked:
Who is Participating?
 
jozef_maresConnect With a Mentor Commented:
oh an i forgot. Rule to allow access to server:

iptables -P INPUT DROP # drop everything
iptables -A INPUT -s 192.168.1.10 -j ACCEPT # allow connection from 192.168.1.10

Think before type because you can block yourself from machine.

0
 
jozef_maresCommented:
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.
0
 
leevee1606Author Commented:
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.
0
Firewall Management 201 with Professor Wool

In this whiteboard video, Professor Wool highlights the challenges, benefits and trade-offs of utilizing zero-touch automation for security policy change management. Watch and Learn!

 
jozef_maresCommented:
iptables is binary. SSH to CentOS server, su to root and run iptables -L.
You will see rules. Post back.
0
 
leevee1606Author Commented:
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?

0
 
leevee1606Author Commented:
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
0
 
jozef_maresCommented:
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.
0
 
leevee1606Author Commented:
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
0
 
jozef_maresCommented:
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.
0
 
leevee1606Author Commented:
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???
0
 
jozef_maresCommented:
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.
0
 
leevee1606Author Commented:
i have mod_security installed on the server - is there anything i can setup there?
0
 
jozef_maresCommented:
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.
0
 
leevee1606Author Commented:
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.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.