Ubuntu 24.04
Sponsored Link

UFW : बुनियादी उपयोग2024/05/29

 

यह UFW (Uncomplicated FireWall) का आधार है।

[1] UFW nftables/iptables का फ्रंटएंड टूल है।
Ubuntu 24.04 पर, UFW का डिफ़ॉल्ट बैकएंड nftables है।
root@dlp:~#
update-alternatives --config iptables

There are 2 choices for the alternative iptables (providing /usr/sbin/iptables).

  Selection    Path                       Priority   Status
------------------------------------------------------------
* 0            /usr/sbin/iptables-nft      20        auto mode
  1            /usr/sbin/iptables-legacy   10        manual mode
  2            /usr/sbin/iptables-nft      20        manual mode

Press <enter> to keep the current choice[*], or type selection number:
[2] UFW का उपयोग करने के लिए, उसे UFW सेवा चलाने की आवश्यकता है। (डिफ़ॉल्ट रूप से चल रहा है)
इसके अलावा, भले ही सेवा चल रही हो, UFW डिफ़ॉल्ट रूप से अक्षम है, इसलिए इसे मैन्युअल रूप से सक्षम करने की आवश्यकता है।
root@dlp:~#
systemctl status ufw

*  ufw.service - Uncomplicated firewall
     Loaded: loaded (/usr/lib/systemd/system/ufw.service; enabled; preset: enab>
     Active: active (exited) since Tue 2024-05-28 23:53:09 UTC; 44s ago
       Docs: man:ufw(8)
    Process: 497 ExecStart=/usr/lib/ufw/ufw-init start quiet (code=exited, stat>
   Main PID: 497 (code=exited, status=0/SUCCESS)
        CPU: 2ms
.....
.....

# वर्तमान स्थिति

root@dlp:~#
ufw status

Status: inactive
# ufw सक्षम करें

root@dlp:~#
ufw enable

Firewall is active and enabled on system startup
root@dlp:~#
ufw status

Status: active
# ufw को अक्षम करें

root@dlp:~#
ufw disable

Firewall stopped and disabled on system startup
[3] यह UFW द्वारा सेवाओं या पोर्ट की अनुमति देने का आधार है।
# आने वाले सभी कनेक्शन डिफ़ॉल्ट रूप से अस्वीकृत हैं

root@dlp:~#
ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

# उदाहरण के लिए, SSH को अनुमति दें

root@dlp:~#
ufw allow ssh

Rule added
Rule added (v6)

# उदाहरण के लिए, HTTP की अनुमति दें

root@dlp:~#
ufw allow http

Rule added
Rule added (v6)

# उदाहरण के लिए, 2049/tcp की अनुमति दें

root@dlp:~#
ufw allow 2049/tcp

Rule added
Rule added (v6)

root@dlp:~#
ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
2049/tcp                   ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
2049/tcp (v6)              ALLOW IN    Anywhere (v6)

# * [ufw allow (service name)] चलाते समय, [/etc/services] में पोर्ट सेट की अनुमति है
[4] यह UFW द्वारा नियमों को हटाने का आधार है।
root@dlp:~#
ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
2049/tcp                   ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
2049/tcp (v6)              ALLOW IN    Anywhere (v6)

# उदाहरण के लिए, SSH अनुमति नियम हटाएँ

root@dlp:~#
ufw delete allow ssh

Rule deleted
Rule deleted (v6)

# उदाहरण के लिए, 80/tcp अनुमति नियम को हटा दें

root@dlp:~#
ufw delete allow 80/tcp

Rule deleted
Rule deleted (v6)

# नियम संख्या के साथ स्थिति दिखाएं

root@dlp:~#
ufw status numbered

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 2049/tcp                   ALLOW IN    Anywhere
[ 2] 2049/tcp (v6)              ALLOW IN    Anywhere (v6)

# नियम संख्या निर्दिष्ट करने वाला नियम हटाएँ

root@dlp:~#
ufw delete 2

Deleting:
 allow 2049/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)

# सभी नियमों को हटाने और UFW को अक्षम करने के लिए, निम्नानुसार चलाएँ

root@dlp:~#
ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y
Backing up 'user.rules' to '/etc/ufw/user.rules.20240528_235844'
Backing up 'before.rules' to '/etc/ufw/before.rules.20240528_235844'
Backing up 'after.rules' to '/etc/ufw/after.rules.20240528_235844'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20240528_235844'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20240528_235844'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20240528_235844'

root@dlp:~#
ufw status

Status: inactive
[5] यह विशिष्ट स्रोत या गंतव्य होस्ट के साथ सेवाओं या बंदरगाहों को अनुमति देने का आधार है।
# उदाहरण के लिए, SSH को केवल [10.0.0.213] से अनुमति दें

root@dlp:~#
ufw allow from 10.0.0.213 to any port ssh

Rule added
# उदाहरण के लिए, केवल [80/tcp] को [10.0.0.213] से [10.0.0.30] तक की अनुमति दें

root@dlp:~#
ufw allow from 10.0.0.213 to 10.0.0.30 port 80 proto tcp

Rule added
# उदाहरण के लिए, SSH को [10.0.0.221] से सीमित करें
# * over 6 consecutive SSH trial within 30 seconds are denided

root@dlp:~#
ufw limit from 10.0.0.221 to any port ssh

Rule added
root@dlp:~#
ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    10.0.0.213
10.0.0.30 80/tcp           ALLOW IN    10.0.0.213
22/tcp                     LIMIT IN    10.0.0.221
[6] ICMP संबंधित सेटिंग्स को कॉन्फ़िगर करने के लिए, नीचे कॉन्फ़िगरेशन फ़ाइल को संपादित करें।
आने वाले सभी कनेक्शनों को डिफ़ॉल्ट रूप से अस्वीकार कर दिया जाता है लेकिन ICMP से संबंधित कनेक्शनों की अनुमति है।
root@dlp:~#
vi /etc/ufw/before.rules
# ICMP संबंधित कनेक्शन की अनुमति नीचे दी गई सेटिंग्स द्वारा दी गई है
# यदि आप उन्हें अस्वीकार करना चाहते हैं, तो बस निम्नलिखित सभी प्रकार की टिप्पणी करें
# ok icmp codes for INPUT
# -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
# -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
# -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
# -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

# ok icmp code for FORWARD
# -A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
# -A ufw-before-forward -p icmp --icmp-type time-exceeded -j ACCEPT
# -A ufw-before-forward -p icmp --icmp-type parameter-problem -j ACCEPT
# -A ufw-before-forward -p icmp --icmp-type echo-request -j ACCEPT

# सेटिंग्स पुनः लोड करें

root@dlp:~#
ufw reload

Firewall reloaded
# विशिष्ट आईपी पते या नेटवर्क से [echo-request] को अनुमति देने के लिए, निम्नानुसार सेट करें
# * दूरस्थ होस्ट से पिंग का उत्तर

root@dlp:~#
vi /etc/ufw/before.rules
# उदाहरण के लिए, [echo-request] को [10.0.0.0/24] से अनुमति दें
# ok icmp codes for INPUT
# -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
# -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
# -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
# -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -s 10.0.0.0/24 -j ACCEPT

# ok icmp code for FORWARD
# -A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
# -A ufw-before-forward -p icmp --icmp-type time-exceeded -j ACCEPT
# -A ufw-before-forward -p icmp --icmp-type parameter-problem -j ACCEPT
# -A ufw-before-forward -p icmp --icmp-type echo-request -j ACCEPT

root@dlp:~#
ufw reload

Firewall reloaded
मिलान सामग्री