This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
hardware_-_firewall_rules [10/08/2019 02:43] – dmax | hardware_-_firewall_rules [10/26/2019 01:27] – dmax | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | === Netfilter Tutorial - | + | ====== Netfilter Tutorial - |
- | \\ | + | \\ ====== |
- | Iptables Linux firewall is used to monitor incoming and outgoing traffic to a computer and filter it based on user-defined rules to prevent anyone from accessing the computer or IP masqueraded devices. Using Iptables you can define rules simple rules which will allow only selective traffic on your computer or the router itself. | ||
- | ==What | + | Iptables Linux firewall is used to monitor incoming and outgoing traffic to a computer and filter it based on user-defined rules to prevent anyone from accessing the computer or IP masqueraded devices. Using iptables you can define rules which will allow only selective traffic on your computer or the router itself. |
+ | |||
+ | ===== What You Will Need ===== | ||
Before you begin with Iptables tutorial, you will need the following: | Before you begin with Iptables tutorial, you will need the following: | ||
- | A local machine with SSH client installed. Putty [[https:// | + | A local machine with SSH client installed. Putty [[https:// |
+ | |||
+ | ===== Understand The Basics ===== | ||
- | ==Understand the basics== | ||
All data is sent in the form packets over the internet. Linux kernel provides an interface to filter both incoming and outgoing traffic packets using tables of packet filters. Iptables is a command line application and a Linux firewall that you can use to set-up, maintain and inspect these tables. Multiple tables can be defined. Each table can contain multiple chains. A chain is nothing but a set of rules. Each rule defines what to do with the packet if it matches with that packet. When the packet is matched, it is given a TARGET. A target can be another chain to match with or one of the following special values: | All data is sent in the form packets over the internet. Linux kernel provides an interface to filter both incoming and outgoing traffic packets using tables of packet filters. Iptables is a command line application and a Linux firewall that you can use to set-up, maintain and inspect these tables. Multiple tables can be defined. Each table can contain multiple chains. A chain is nothing but a set of rules. Each rule defines what to do with the packet if it matches with that packet. When the packet is matched, it is given a TARGET. A target can be another chain to match with or one of the following special values: | ||
Line 16: | Line 19: | ||
DROP: It means that packet will not be allowed to pass through.\\ | DROP: It means that packet will not be allowed to pass through.\\ | ||
RETURN: It means to skip the current chain and go back to the next rule from the chain it was called in. | RETURN: It means to skip the current chain and go back to the next rule from the chain it was called in. | ||
- | For the scope of this iptables tutorial, we are going to work with one of the default tables called filter. Filters table has three chains ( sets of rules).\\ | + | For the scope of this iptables tutorial, we are going to work with one of the default tables called filter. Filters table has three chains (sets of rules).\\ |
INPUT – This chain is used to control incoming packets to the server. You can block/allow connections based on port, protocol or source IP address.\\ | INPUT – This chain is used to control incoming packets to the server. You can block/allow connections based on port, protocol or source IP address.\\ | ||
Line 23: | Line 26: | ||
{{ : | {{ : | ||
- | == Only few commands you will ever need == | + | ===== The Only Few Commands You Will Ever Need ===== |
- | This section assumes you are already SSH'ed into the QORT router. Look at Getting Started [[hardware_-_getting_started|Work in progress]] | ||
- | * iptables -L -v ( list current firewall rules ) \\ | + | This section assumes that you are already SSH'ed into the QORT router. Look at Getting Started [[hardware_-_getting_started|Getting Started]] |
- | * iptables -F ( flush all rules ) \\ | + | |
- | * iptables-save > / | + | * iptables -L -v (list current firewall rules) \\ |
+ | * iptables -F (flush all rules) \\ | ||
+ | * iptables-save > / | ||
+ | |||
+ | ===== Adding Your Firewall Rules ===== | ||
- | == Adding Your Firewall Rules == | ||
These rules are copy and paste. Simply paste them at the QORT terminal via SSH and save. \\ | These rules are copy and paste. Simply paste them at the QORT terminal via SSH and save. \\ | ||
- | //**Block outgoing port:**// / | + | //**Block outgoing port:**// / |
Examples: \\ | Examples: \\ | ||
Line 41: | Line 46: | ||
//**Block HTTP**// / | //**Block HTTP**// / | ||
//**Block HTTPS**// / | //**Block HTTPS**// / | ||
- | // | + | // |
- | //**Block incoming port:**// / | + | //**Block incoming port:**// / |
Examples: \\ | Examples: \\ | ||
Line 49: | Line 54: | ||
//**Block HTTP**// / | //**Block HTTP**// / | ||
//**Block HTTPS**// / | //**Block HTTPS**// / | ||
+ | //**Block HTTPS**// / | ||
- | //**Monitoring Traffic Flow on Router**// | + | ==== Monitoring Traffic Flow on Router |
- | It is fairly simple to view what is happening on the router. The pre-installed utility " | + | |
+ | It is fairly simple to view what is happening on the router. The pre-installed utility " | ||
// | // | ||
Line 59: | Line 66: | ||
Note that port 53 is used for DNS queries. If you want to see the web site traffic, replace it with port 80. | Note that port 53 is used for DNS queries. If you want to see the web site traffic, replace it with port 80. | ||
- | //**Monitoring Tor Flow on Router**// | + | ==== Monitoring Tor Flow on Router |
- | Your QORT device | + | |
+ | |||
+ | The QORT Router | ||
{{ : | {{ : | ||
+ | |||
+ | For details on Tor access and it's utilization for connected, head over to [[hardware_-_service_access|Service Access]] |