diff --git a/source/firewall/firewall.c b/source/firewall/firewall.c index c7324525..d360c02e 100644 --- a/source/firewall/firewall.c +++ b/source/firewall/firewall.c @@ -10705,6 +10705,24 @@ static int do_wan2lan(FILE *fp) return(0); } +/* + * Procedure : do_block_SSH_wan + * Purpose : To block SSH using WAN IP from LAN client + * Parameters : + * fp : An open file to write rules to block SSH using WAN IP in LAN client + * Return Values : + * 0 : Success + */ +#ifdef _SR213_PRODUCT_REQ_ +static int do_block_SSH_wan(FILE *fp) +{ + FIREWALL_DEBUG("Entering do_block_SSH_wan\n"); + fprintf(fp, "-I INPUT 1 -i brlan0 -d %s -p tcp --dport 10022 -j REJECT\n", current_wan_ipaddr); + FIREWALL_DEBUG("Exiting do_block_SSH_wan\n"); + return(0); +} +#endif + /* ========================================================================== Ephemeral filter rules @@ -13710,6 +13728,10 @@ static int prepare_enabled_ipv4_firewall(FILE *raw_fp, FILE *mangle_fp, FILE *na do_lan2wan(mangle_fp, filter_fp, nat_fp); do_wan2lan(filter_fp); do_filter_table_general_rules(filter_fp); +#ifdef _SR213_PRODUCT_REQ_ + if(isWanReady) + do_block_SSH_wan(filter_fp); +#endif #if defined(SPEED_BOOST_SUPPORTED) WAN_FAILOVER_SUPPORT_CHECK if(isWanServiceReady)