[j-nsp] Protect router from ssh/telnet DDOS attacks, or unauthorised access.
Darren O'Connor
darrenoc at outlook.com
Sat Jul 27 09:21:12 EDT 2013
What I do is limit the ability to SSH in via certain interfaces only. i.e. create an interface-set which allows SSH, as long as it comes in on certain interfaces (fxp0, one or two transit interfaces)
Any subinterface pointing towards a customer is not added to the list, and hence any attempt to SSH in form that interface is denied.
something like this:
term SSH {
from {
prefix-list {
MANAGEMENT-RANGE;
}
protocol [ tcp ];
port [ ssh s ];
interface-set MGMT-INTERFACES;
}
interface-set MGMT-INTERFACES {
fxp0.0;
ae0.372;
}
etc...
Darren
> Date: Sat, 27 Jul 2013 16:51:31 +1000
> From: drie.huanpham at gmail.com
> To: juniper-nsp at puck.nether.net
> Subject: [j-nsp] Protect router from ssh/telnet DDOS attacks, or unauthorised access.
>
> Hi there,
>
> What I want to do is very simple and I am sure everyone has his/her own
> solution already.
>
> I want to limit SSH/Telnet to the router from restricted management ranges
> in the global inet.0 table, and do not want customers in their separate
> routing instances from being able to SSH/Telnet to the router at all. This
> should be a straight forward configuration, however, I do not find an easy
> way to achieve this. Instead, I find that certain proposed solutions I saw
> may leave security holes that can be exploited. I appreciated your pointer
> to the "best practice" solution to this simple requirement.
>
>
> Solution in "JUNOS Cookbook" Recipe 2.14 proposes to apply a firewall
> filter in Loopback0.0 which is fine for the enterprise enviroment, where we
> do not have customer routing instances. However, when we have customers
> instances (in the form of virtual-router, or vrf), things get complicated.
>
>
> The following link documents the behavior of firewall filters that are
> applied on the loopback interfaces in virtual routers (similar behaviour is
> seen in VRF routing instance as well)
>
> http://kb.juniper.net/InfoCenter/index?page=content&id=KB21326
>
> If we apply the firewall filter to Lo0.0, and customer routing instance
> does not have a loopback address, then by default, customers might also be
> able to SSH/Telnet to the router if the source address is in the "allowable
> range". The problem is that in customer VRF, they can have the same IP
> address as the "allowed Mgmt source IP", and might be able to SSH/Telnet by
> "faking the Mgmt IP addresses".
>
> So the solution I am thinking that can be done to solve the problem is
> assign each customer a loopback interface, and use the group configuration
> to explicitly deny all SSH/Telnet from the customer routing instances.
>
> Below is a sample configuration. Looking forward to your feedbacks.
>
> Regards,
>
> Huan
>
>
> groups {
> PROTECT_RE {
> interfaces {
> lo0 {
> unit <*> {
> family inet {
> filter {
> input Deny_SSH_Telnet;
> }
> }
> }
> }
> }
> }
> }
>
>
>
>
> firewall {
> family inet {
> filter Restrict_SSH_Telnet {
> term Allow_Mgmt_Remote_Access {
> from {
> /* Allowed Mgmt Ranges */
> source-address {
> 1.1.1.100/32;
> 2.2.2.200/32;
> }
> protocol tcp;
> destination-port [ telnet ssh ];
> }
> then accept;
> }
> term Deny_All_Other_Remote_Access {
> from {
> destination-port [ telnet ssh ];
> }
> then {
> count Rejected_Mgmt;
> log;
> syslog;
> discard;
> }
> }
> term Allow_All_Others {
> then accept;
> }
> }
> filter Deny_SSH_Telnet {
> term Deny_All_SSH_Telnet {
> from {
> destination-port [ telnet ssh ];
> }
> then {
> count Rejected_Mgmt;
> log;
> syslog;
> discard;
> }
> }
> term Allow_All_Others {
> then accept;
> }
> }
> }
> }
>
>
>
> interfaces {
>
> lo0 {
> apply-groups PROTECT_RE;
> /* Management Loopback */
> unit 0 {
> apply-groups-except PROTECT_RE;
> family inet {
> filter {
> input Restrict_SSH_Telnet;
> }
> address 1.1.1.1/32;
> }
> }
> unit 1 {
> description "TEST (Customer 1) Routing Instance";
> }
> unit 2 {
> description "Customer 2 Routing Instance";
> }
> }
> }
>
>
>
> routing-instances {
> TEST {
> instance-type virtual-router;
> /* Interface to customer */
> interface em2.0;
> /* Interface to customer */
> interface em3.0;
> /* Required for RE PROTECTION */
> interface lo0.1;
> }
> }
> _______________________________________________
> juniper-nsp mailing list juniper-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp
More information about the juniper-nsp
mailing list