IP Library Granted Patent US 12,363,071
Granted Patent B2
US 12,363,071 · App. 18/661,001 · Granted Jul 15, 2025

Dynamic firewall configuration

Inventor: Alexander Gurney (Elkins Park, PA)
Assignee: Comcast Cable Communications, LLC
H04L63/0236H04L63/0263H04L63/0281H04L63/101H04L63/108H04L61/4511
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,363,071
App. No.
18/661,001
Granted
Jul 15, 2025
Kind
B2
Abstract

Disclosed are systems and methods for firewall configuration. A request can be transmitted to a DNS server. A response to the DNS request can include an Internet Protocol (IP) address. A firewall rule can be generated permitting access to the IP address. The firewall rule can be configured to be valid until expiration of a time-to-live value in the response to the DNS request. Thus, firewall rules can be automatically created as needed by executed processes, eliminating the need for manual firewall rule creation. As the firewall rule is invalid after the expiration of the time-to-live value, risks associated with maintaining out-of-date firewall rules are eliminated, as is the requirement to manually remove or modify out-of-date firewall rules.

Claims (78)

1. One or more non-transitory computer-readable media storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to:

receive, by a firewall service, based on a first domain name system (DNS) request comprising a uniform resource locator (URL), a response comprising a first Internet Protocol (IP) address associated with the URL and a time-to-live;

generate, based on the response, a first firewall rule, wherein the first firewall rule permits access to the first IP address until the time-to-live expires;

restrict, based on an expiration of the time-to-live, access to the first IP address;

receive a second DNS request; and

generate, based on the second DNS request, a second firewall rule, wherein the second firewall rule permits access to a second IP address associated with the URL.

2. The non-transitory computer-readable media of claim 1 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to send the first DNS request to a DNS server, wherein the response is received from the DNS server based on the first DNS request.

3. The non-transitory computer-readable media of claim 1 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to generate the first firewall rule, further cause the at least one processor to permit access to the first IP address by network traffic originating from a process executed on a user device.

4. The non-transitory computer-readable media of claim 1 , wherein the second DNS request is received from a user device based on determining that access to the first IP address is restricted.

5. The non-transitory computer-readable media of claim 1 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to generate the second firewall rule, further cause the at least one processor to permit access to the second IP address by network traffic originating from a process executed on a user device.

6. The non-transitory computer-readable media of claim 1 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to:

receive, by the firewall service, a third DNS request;

determine that the third DNS request was not received from a proxy service; and

block the third DNS request.

7. The non-transitory computer-readable media of claim 1 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to generate, based on the second DNS request, the second firewall rule, further cause the at least one processor to:

send, to a DNS server, the second DNS request;

receive, based on the second DNS request, a second response comprising the second IP address associated with the URL and a second time-to-live; and

generate, based on the second response, the second firewall rule.

8. The non-transitory computer-readable media of claim 1 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to reject, by the firewall service, network traffic to the second IP address from a service other than a process executed on a user device.

9. One or more non-transitory computer-readable media storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to:

receive, by a proxy service, based on a first domain name system (DNS) request comprising a uniform resource locator (URL), a response comprising a first Internet Protocol (IP) address associated with the URL and a time-to-live;

send, to a user device, the response;

receive, based on an expiration of the time-to-live, a second DNS request; and

cause, based on the second DNS request, a firewall service to generate a firewall rule, wherein the firewall rule permits access to a second IP address associated with the URL.

10. The non-transitory computer-readable media of claim 9 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to determine a port associated with the firewall rule.

11. The non-transitory computer-readable media of claim 9 , wherein the second DNS request is received from the user device based on determining that access to the first IP address is restricted, wherein access to the first IP address is restricted based on the expiration of the time-to-live.

12. The non-transitory computer-readable media of claim 9 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to block, by the firewall service, DNS requests not sent by the proxy service.

13. The non-transitory computer-readable media of claim 9 , wherein the time-to-live comprises at least one of: a time duration, a time value, or a date.

14. The non-transitory computer-readable media of claim 9 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to:

determine, by the proxy service, that a third DNS request is not associated with a white list; and

send, based on the third DNS request, an error indication.

15. The non-transitory computer-readable media of claim 14 , wherein the white list identifies one or more allowed DNS servers or one or more allowed domain names associated with the third DNS request.

16. The non-transitory computer-readable media of claim 9 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to cause the firewall service to generate the firewall rule, further cause the at least one processor to send, to the firewall service, instructions to generate the firewall rule.

17. The non-transitory computer-readable media of claim 9 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to cause, based on the second DNS request, the firewall service to generate the firewall rule, further causes the at least one processor to:

send, to a DNS server, the second DNS request;

receive, based on the second DNS request, a second response comprising the second IP address associated with the URL and a second time-to-live; and

generate, based on the second response, the firewall rule.

18. A system comprising:

a user device configured to send a first domain name system (DNS) request comprising a uniform resource locator (URL); and

a computing device configured to:

receive, based on the first DNS request comprising the URL, a response comprising a first Internet Protocol (IP) address associated with the URL and a time-to-live,

generate, based on the response, a first firewall rule, wherein the first firewall rule permits access to the first IP address until the time-to-live expires,

restrict, based on an expiration of the time-to-live, access to the first IP address;

receive a second DNS request, and

generate, based on the second DNS request, a second firewall rule, wherein the second firewall rule permits access to a second IP address associated with the URL.

19. The system of claim 18 , wherein the computing device is further configured to send the first DNS request to a DNS server, wherein the response is received from the DNS server based on the first DNS request.

20. The system of claim 18 , wherein the computing device is configured to generate the first firewall rule, the computing device is further configured to permit access to the first IP address by network traffic originating from a process executed on the user device.

21. The system of claim 18 , wherein the user device is configured to send the second DNS request based on determining that access to the first IP address is restricted, and wherein the computing device is further configured to receive the second DNS request.

22. The system of claim 18 , wherein the computing device is configured to generate the second firewall rule, the computing device is further configured to permit access to the second IP address by network traffic originating from a process executed on the user device.

23. The system of claim 18 , wherein the computing device is further configured to:

receive a third DNS request;

determine that the third DNS request was not received from a proxy service; and

block the third DNS request.

24. The system of claim 18 , wherein the computing device is configured to generate, based on the second DNS request, the second firewall rule, the computing device is further configured to:

send, to a DNS server, the second DNS request;

receive, based on the second DNS request, a second response comprising the second IP address associated with the URL and a second time-to-live; and

generate, based on the second response, the second firewall rule.

25. The system of claim 18 , wherein the computing device is further configured to reject network traffic to the second IP address from a service other than a process executed on the user device.

26. A system comprising:

a user device configured to send a first domain name system (DNS) request comprising a uniform resource locator (URL); and

a computing device configured to:

receive, based on the first DNS request comprising the URL, a response comprising a first Internet Protocol (IP) address associated with the URL and a time-to-live,

send, to the user device, the response,

receive, based on an expiration of the time-to-live, a second DNS request, and

cause, based on the second DNS request, a firewall service to generate a firewall rule, wherein the firewall rule permits access to a second IP address associated with the URL.

27. The system of claim 26 , wherein the computing device is further configured to determine a port associated with the firewall rule.

28. The system of claim 26 , wherein the user device is configured to send the second DNS request based on determining that access to the first IP address is restricted, wherein the computing device is further configured to receive the second DNS request, and wherein access to the first IP address is restricted based on the expiration of the time-to-live.

29. The system of claim 26 , wherein the computing device is further configured to block, by the firewall service, DNS requests not sent by a proxy service.

30. The system of claim 26 , wherein the time-to-live comprises at least one of: a time duration, a time value, or a date.

31. The system of claim 26 , wherein the computing device is further configured to:

determine that a third DNS request is not associated with a white list; and

send, based on the third DNS request, an error indication.

32. The system of claim 31 , wherein the white list identifies one or more allowed DNS servers or one or more allowed domain names associated with the third DNS request.

33. The system of claim 26 , wherein the computing device is configured to cause the firewall service to generate the firewall rule, the computing device is further configured to send, to the firewall service, instructions to generate the firewall rule.

34. The system of claim 26 , wherein the computing device is configured to cause, based on the second DNS request, the firewall service to generate the firewall rule, the computing device is further configured to:

send, to a DNS server, the second DNS request;

receive, based on the second DNS request, a second response comprising the second IP address associated with the URL and a second time-to-live; and

generate, based on the second response, the firewall rule.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2024
From: GURNEY, ALEXANDER
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 067424/0141 →
Continuity (4)
Continuation 18296702 · Apr 6, 2023
Continuation 17166816 · Feb 3, 2021
Continuation 15893360 · Feb 9, 2018
Related Publication 20240430230A1 · Dec 26, 2024
References Cited (15)
US 7849502B1 · Bloch · 2010 [cited by examiner]
US 10951582B2 · Gurney · 2021 [cited by examiner]
US 11652793B2 · Gurney · 2023 [cited by examiner]
US 12010096B2 · Gurney · 2024 [cited by examiner]
US 20090064304A1 · Cohen · 2009 [cited by examiner]
US 20120096166A1 · Devarapalli · 2012 [cited by examiner]
US 20180124016A1 · Ong · 2018 [cited by examiner]
US 20190081958A1 · Lee · 2019 [cited by examiner]
US 20200112537A1 · Nema · 2020 [cited by examiner]
US 20200366648A1 · Kuppannan · 2020 [cited by examiner]
US 20210067480A1 · Goel · 2021 [cited by examiner]
US 20210314299A1 · Gopal · 2021 [cited by examiner]
US 20220174031A1 · Davis · 2022 [cited by examiner]
US 20240106862A1 · Head · 2024 [cited by examiner]
WO WO2021051420A1 · 2021 [cited by examiner]