[T&C] HTTP/HTTPS URL Filtering with Thunder ADC/CFW
In this article, we will look at how you can do HTTP/HTTPS URL filtering using Thunder CFW.
Download and install web category license and database
First, make sure you have the web category license on the Thunder device:
vThunder#sh license-info ------------------------------------------------------------------------------------ Enabled Licenses Expiry Date (UTC) Notes ------------------------------------------------------------------------------------ WEBROOT 16-February-2022 License Type: webroot_trial
Configure the Thunder device to download the web category database:
glm use-mgmt-port glm enable-requests ! web-category use-mgmt-port enable
Verify that the web category database has been downloaded:
vThunder#sh web-category database Database Name : full_bcdb_rep_7.954.bin Database Status : Active Database Size : 420 MB Database Version : 954 Last Update Time : Thu Dec 9 00:00:55 2021 Next Update Time : Wed Dec 15 00:00:20 2021 Connection Status : GOOD Last Successful Connection : Tue Dec 14 16:37:39 2021 vThunder#
Define SLB wildcard VIP
Define a wildcard VIP 0.0.0.0 with the gateway router as an SLB server:
access-list 112 permit tcp any any eq 80 ! access-list 112 permit tcp any any eq 443 slb server GATEWAY 203.0.113.254 health-check-disable port 0 tcp health-check-disable port 0 udp health-check-disable port 80 tcp health-check-disable port 443 tcp health-check-disable ! slb service-group SG_HTTP tcp member GATEWAY 80 ! slb service-group SG_HTTPS tcp member GATEWAY 443 ! slb virtual-server URL 0.0.0.0 acl 112 port 80 http service-group SG_HTTP no-dest-nat port 443 https service-group SG_HTTPS no-dest-nat
Enable promiscuous VIP on the incoming client-facing interface:
interface ethernet 1 enable ip address 100.64.10.1 255.255.255.0 ip allow-promiscuous-vip
Specify the web traffic to be matched
Define a web category list consisting of URLs to be dropped. You can choose from the following categories:
vThunder(config)#web-category vThunder(config-web-category)#category-list blocked-categories vThunder(config-web-category-category-list)#? abortion Category Abortion adult-and-pornography Category Adult and Pornography alcohol-and-tobacco Category Alcohol and Tobacco auctions Category Auctions bot-nets Category Bot Nets business-and-economy Category Business and Economy cdns Category CDNs cheating Category Cheating clear Clear or Reset Functions computer-and-internet-info Category Computer and Internet Info computer-and-internet-security Category Computer and Internet Security confirmed-spam-sources Category Confirmed SPAM Sources cult-and-occult Category Cult and Occult dating Category Dating dead-sites Category Dead Sites (db Ops only) do To run exec commands in config mode drugs Category Abused Drugs dynamic-comment Category Dynamic Comment educational-institutions Category Educational Institutions end Exit from configure mode entertainment-and-arts Category Entertainment and Arts exit Exit from configure mode or sub mode fashion-and-beauty Category Fashion and Beauty financial-services Category Financial Services food-and-dining Category Food and Dining gambling Category Gambling games Category Games government Category Government gross Category Gross hacking Category Hacking hate-and-racism Category Hate and Racism health-and-medicine Category Health and Medicine home-and-garden Category Home and Garden hunting-and-fishing Category Hunting and Fishing illegal Category Illegal illegal-pornography Category Illegal join Adult and Pornography image-and-video-search Category Image and Video Search internet-communications Category Internet Communications internet-portals Category Internet Portals job-search Category Job Search keyloggers-and-monitoring Category Keyloggers and Monitoring kids Category Kids legal Category Legal local-information Category Local Information malware-sites Category Malware Sites marijuana Category Marijuana military Category Military motor-vehicles Category Motor Vehicles music Category Music news-and-media Category News and Media no Negate a command or set its defaults nudity Category Nudity nudity-artistic Category Nudity join Entertainment and Arts online-greeting-cards Category Online Greeting cards open-http-proxies Category Open HTTP Proxies parked-domains Category Parked Domains pay-to-surf Category Pay to Surf peer-to-peer Category Peer to Peer personal-sites-and-blogs Category Personal sites and Blogs personal-storage Category Personal Storage philosophy-and-politics Category Philosophy and Political Advocacy phishing-and-other-fraud Category Phishing and Other Frauds private-ip-addresses Category Private IP Addresses proxy-avoid-and-anonymizers Category Proxy Avoid and Anonymizers questionable Category Questionable real-estate Category Real Estate recreation-and-hobbies Category Recreation and Hobbies reference-and-research Category Reference and Research religion Category Religion sampling-enable Enable baselining search-engines Category Search Engines sex-education Category Sex Education shareware-and-freeware Category Shareware and Freeware shopping Category Shopping show Show Running System Information social-network Category Social Network society Category Society spam-urls Category SPAM URLs sports Category Sports spyware-and-adware Category Spyware and Adware stock-advice-and-tools Category Stock Advice and Tools streaming-media Category Streaming Media swimsuits-and-intimate-apparel Category Swimsuits and Intimate Apparel training-and-tools Category Training and Tools translation Category Translation travel Category Travel uncategorized Uncategorized URLs unconfirmed-spam-sources Category Unconfirmed SPAM Sources user-tag Customized tag violence Category Violence weapons Category Weapons web-advertisements Category Web Advertisements web-based-email Category Web based email web-hosting-sites Category Web Hosting Sites write Write Configuration
Here we define the following web category list:
web-category use-mgmt-port enable category-list blocked-categories social-network
Policy to filter HTTP traffic
Define an SLB policy template matching destination based on the web category list defined earlier and bind it to the wildcard VIP under port 80:
slb template policy HTTP-FILTERING forward-policy action DROP drop log drop-message "Prohibited site" action PERMIT forward-to-internet SG_HTTP log source ANY match-any destination web-category-list blocked-categories action DROP host priority 10 destination any action PERMIT ! slb virtual-server URL 0.0.0.0 acl 112 port 80 http template policy HTTP-FILTERING service-group SG_HTTP no-dest-nat
Policy to filter HTTPS traffic
Thunder device supports SNI-based filtering by binding a policy template to a wildcard VIP configured for an HTTPS vPort.
Define an SLB policy template for HTTPS traffic matching the web category list defined earlier:
slb template policy HTTPS-FILTERING forward-policy action DROP drop log action PERMIT forward-to-internet SG_HTTPS log source ANY match-any destination web-category-list blocked-categories action DROP url priority 10 destination any action PERMIT
Apply this policy template and client SSL template to the wildcard VIP under port 443:
slb virtual-server URL 0.0.0.0 acl 112 port 80 http template policy HTTP-FILTERING service-group SG_HTTP no-dest-nat port 443 https template policy HTTPS-FILTERING service-group SG_HTTPS no-dest-nat
Verification
From a client machine, try accessing a website on the blocked list (e.g. https://www.facebook.com). The traffic will be blocked:
You can also confirm this from the log message on the Thunder device:
Dec 16 2021 18:15:30 Info [ACOS]:Proxy CLIENT HELLO[drop- (ANY priority#10 category social-network reputation trustworthy(81))]: url www.facebook.com client 100.64.10.31:41370, server 31.13.65.36:443 out-bytes:0
Other websites (e.g. https://www.a10networks.com) that are not on the blocked list will still be accessible: