በሊኑክስ ላይ ያለው ፋየርዎል የኮምፒተርን ስርዓት ለመጠበቅ ወሳኝ ሚና ይጫወታል። ስርዓቱን ካልተፈቀደ መዳረሻ፣ ጥቃቶች እና ሌሎች ስጋቶች ለመጠበቅ የአውታረ መረብ ትራፊክን በመቆጣጠር እና በማጣራት እንደ ማገጃ ይሰራል። በትክክል የተዋቀረ ፋየርዎል ከሌለ አገልጋዩ ለተለያዩ የሳይበር ጥቃቶች የተጋለጠ ሊሆን ይችላል፣ ይህም ለመረጃ ደህንነት እና ምስጢራዊነት ከባድ መዘዝ ያስከትላል።
በዚህ ጽሑፍ ውስጥ የሊኑክስ ፋየርዎልን ለማዋቀር ሁለት ዋና መሳሪያዎችን እንመለከታለን-ፋየርዎል እና ኢፕቲፕስ. ስለ ባህሪያቸው፣ ተግባራቸው እና ጥቅሞቻቸው ንፅፅር ትንታኔ እናደርጋለን። በተጨማሪም፣ እነዚህን መሳሪያዎች ለማዋቀር እና ለመጠቀም ዝርዝር መመሪያዎችን እናቀርባለን እንዲሁም ስርዓትዎን በሊኑክስ ፕላትፎርም ላይ በፋየርዎል ለመጠበቅ ምርጥ ተሞክሮዎችን እንነጋገራለን። ሁሉም ድርጊቶች በ a ምናባዊ አገልጋይ ከስር ተደራሽነት ጋር።
በሊኑክስ ላይ ፋየርዎልን በማዋቀር ላይ
Firewalld (ፋየርዎል ዴሞን) በሊኑክስ ኦፕሬቲንግ ሲስተሞች ውስጥ ፋየርዎልን የማስተዳደር ፕሮግራም ነው። የፋየርዎል ደንቦችን ለማዋቀር፣ የአውታረ መረብ መተግበሪያዎች ግንኙነቶችን ለመፍቀድ ወይም ለማገድ የተጠቃሚ በይነገጽ ይሰጣል። በአብዛኛዎቹ የአገልጋይ ስርጭቶች በነባሪነት ቀድሞ ተጭኗል። ፋየርዎልድ አስቀድሞ ካልተጫነ ከስርጭቱ ኦፊሴላዊ ማከማቻዎች በተናጥል ሊጫን ይችላል።
ለ Red Hat ስርዓቶች (እንደ RHEL ፣ CentOS ፣ Fedora ያሉ) መጫኑ የሚከናወነው በትእዛዙ ነው-
yum install firewalld
ለዴቢያን/ኡቡንቱ፡
apt-get install firewalld
ከተጫነ በኋላ በትእዛዙ ወዲያውኑ ሊጀመር እና ሊነቃ ይችላል-
systemctl start firewalld
በመቀጠል አገልግሎቱን ወደ ጅምር ማከል ያስፈልግዎታል፡-
systemctl enable firewalld
በዚህ ጊዜ, ይህንን መሳሪያ በፋየርዎልድ ወይም በ iptables በአንድ ጊዜ መጠቀም የማይመከር ስለሆነ ufw ን ማሰናከል እንመክራለን. ሁኔታውን ያረጋግጡ፡-
systemctl status ufw
እሱን ለማቆም ትዕዛዙን ያስገቡ፡-
systemctl stop ufw
ለሙሉ ማቦዘን፡-
ufw disable
ከነዚህ ድርጊቶች በኋላ, ፋየርዎልድን ለማዋቀር መቀጠል ይችላሉ.
በመጀመሪያ፣ የእምነት ዞኖችን መወሰን ያስፈልጋል። ፋየርዎልድ የአውታረ መረብ መገናኛዎችን የመተማመን ደረጃ ለመወሰን የዞኖችን ጽንሰ-ሀሳብ ይጠቀማል። እያንዳንዱ በይነገጽ አንድ ዞን ይመደባል, እና የፋየርዎል ደንቦች በዞኑ ላይ ተመስርተው ይተገበራሉ. የሁሉም የሚገኙ ዞኖች ዝርዝር በትእዛዙ ተከፍቷል፡-
firewall-cmd --get-zones
በተለምዶ 4 ዋና ዞኖች ጥቅም ላይ ይውላሉ:
- ሕዝባዊይህ ዞን ደህንነቱ ያልተጠበቀ ነው ብለው ለሚያምኑት አውታረ መረቦች ነው።
- የግልለቤት ኔትወርኮች ወይም ለሌላ ታማኝ የአውታረ መረብ ግንኙነቶች ተፈጻሚ ይሆናል;
- ውስጣዊእንደ ድርጅት ወይም የድርጅት አውታረመረብ ላሉ የውስጥ አውታረ መረቦች ጥቅም ላይ ይውላል።
- ዲኤምኤልይህ ዞን ከበይነመረቡ ማግኘት የሚገባቸው አገልጋዮች የሚቀመጡበት ነው።
ሆኖም, ይህ አንድ ምሳሌ ብቻ ነው. ትዕዛዙን በመጠቀም የራስዎን ዞን ማከል ይችላሉ-
firewall-cmd --permanent --new-zone=nameyourzone
ከተጨመረ በኋላ እንደገና መጫን ያስፈልጋል፡-
firewall-cmd --reload
አንድን ዞን ለማጥፋት, ተመሳሳይ ዘዴ ጥቅም ላይ ይውላል
firewall-cmd --permanent --delete-zone=nameyourzone
ዞኖችን ከገለጹ በኋላ ለሚያስፈልጉ አገልግሎቶች እና ወደቦች ትራፊክ መፍቀድ አስፈላጊ ነው። አንድን አገልግሎት ለመፍቀድ ትዕዛዙን ይጠቀሙ፡-
firewall-cmd --zone=public --add-service=name
የት ስም የአገልግሎቱ ስም ነው። ለምሳሌ፣ ለ Apache ትራፊክን ለመፍቀድ፡-
firewall-cmd --zone=public --add-service=http
የሚፈቀዱ ወደቦችን ለመወሰን ትዕዛዙን ይጠቀሙ፡-
firewall-cmd --zone=public --add-port=number/protocol
ለምሳሌ፣ የኤስኤስኤች መደበኛው 22 ወደብ ይህን ይመስላል።
firewall-cmd --zone=public --add-port=22/tcp
በዚህ ደረጃ, ዋናዎቹ ደንቦች ቀድሞውኑ ተፈጥረዋል. በመቀጠል፣ እንደ ምንጭ፣ መድረሻ፣ ወደብ እና ሌሎች መመዘኛዎች ትራፊክ እንዴት እንደሚካሄድ ይወስኑ። ደንብ ለመጨመር (በመጠቀም ሕዝባዊ ዞን እንደ ምሳሌ፡-
firewall-cmd --zone=public rule
ለምሳሌ ከየትኛውም ምንጭ ወደብ 80 (ኤችቲቲፒ) ገቢ ትራፊክ ለመፍቀድ፡-
firewall-cmd --zone=public --add-port=80/tcp --permanent
ህግን ለማስወገድ፡-
firewall-cmd --permanent --remove-rule=rule_specification
የት ደንብ የደንቡ አይነት ነው (ለምሳሌ፡ ወደብ፡ አገልግሎት፡ ባለጸጋ ህግ፡ ወዘተ) እና የደንብ_መግለጫ የደንቡ ዝርዝር መግለጫ ነው።
በፋየርዎልድ ውቅረት ላይ ለውጦችን ካደረጉ በኋላ ማስቀመጥ እና መተግበር አስፈላጊ ነው። ለውጦችን ለማስቀመጥ ትዕዛዙን ይጠቀሙ፡-
firewall-cmd --runtime-to-permanent
ለውጦችን ለመተግበር፡-
firewall-cmd --reload
ማዋቀሩን ከጨረሱ በኋላ የሁሉንም ደንቦች ዝርዝር በመክፈት የተመረጡትን መለኪያዎች ማረጋገጥ ይችላሉ-
firewall-cmd --list-all
ማንኛውም ችግሮች ከተከሰቱ የፋየርዎልድ ምዝግብ ማስታወሻዎችን በትእዛዙ ያረጋግጡ:
journalctl -u firewalld
ማስታወሻ፡ ግንኙነቱን ለማቀናበር አጠቃላይ ስልተ ቀመርን ብቻ ነው የሸፈነነው። መሣሪያው ሰፊ ተግባር አለው. ስለ ሁሉም አማራጮች ሙሉ መረጃ ለማግኘት፣ መጠቀም ይችላሉ። ኦፊሴላዊ ሰነድ ወይም ክፍት እገዛ፡
firewall-cmd --help
በሊኑክስ ላይ iptables በማዋቀር ላይ
እንደ ፋየርዎልድ ሳይሆን፣ iptables ፋየርዎልን ለማስተዳደር በሊኑክስ ውስጥ የቆየ ግን አሁንም በስፋት ጥቅም ላይ የዋለ መሳሪያ ነው። በሊኑክስ ከርነል ደረጃ የፓኬት ማጣሪያ ደንቦችን የበለጠ ቀጥተኛ እና ተለዋዋጭ አቀራረብን ይሰጣል። ነገር ግን፣ iptables ከፋየርዎልድ ጋር ሲወዳደር የላቀ እውቀት እና ልምድን ይፈልጋል፣ ይህም ለጀማሪዎች ተደራሽ ያደርገዋል። ቀድሞ የተጫነውን የመሳሪያውን ስሪት በትእዛዙ ያረጋግጡ፡-
iptables -V
መሳሪያው ካልተጫነ መጫን ያስፈልገዋል. በኡቡንቱ ፣ ዴቢያን ላይ የመጫን ትእዛዝ፡-
apt install iptables
ለቀይ ኮፍያ ስርዓቶች (ለምሳሌ፣ CentOS፣ Fedora)፦
yum install iptables
ከተጫነ በኋላ የማግበር ትእዛዝ:
systemctl start iptables
ወደ ጅምር ለመደመር የሚከተለውን አስፈጽም
systemctl enable iptables
የ iptables ውቅረትን ከመጀመርዎ በፊት እንዴት እንደሚሰራ መረዳት አስፈላጊ ነው። ይህ በፕሮግራሙ አገባብ ይረዳል. የሚከተለውን ይመስላል።
iptables -t table action chain additional_parameters
ወደ እያንዳንዱ ንጥል ነገር በጥልቀት እንመርምር።
Iptables አራት ዋና ጠረጴዛዎች አሉት: ማጣሪያ፣ ናት፣ ማንግል እና ጥሬ. እያንዳንዳቸው የተወሰኑ ፓኬጆችን ለማስኬድ የተነደፉ እና የራሳቸው የሕግ ሰንሰለቶች አሏቸው-
- ማጣሪያ: ይህ በጣም በተደጋጋሚ ጥቅም ላይ የሚውለው ጠረጴዛ ነው, የፓኬት ማጣሪያ ደንቦችን ይዟል. ፓኬቶችን ለመፍቀድ ወይም ለመከልከል ውሳኔዎችን ለማድረግ ያገለግላል።
- ናቸይህ ሰንጠረዥ የኔትወርክ አድራሻዎችን እና ወደቦችን በፓኬት ለመቀየር ያገለግላል። ብዙውን ጊዜ ማስኬራዲንግ (NAT) ለማዘጋጀት ያገለግላል።
- ጉንጭበዚህ ሠንጠረዥ ውስጥ የፓኬት ራስጌዎችን መቀየር ይችላሉ። እንደ ምልክት ማድረግ ላሉ ልዩ የፓኬት ስራዎች ጥቅም ላይ ይውላል።
- ጥሬ: ይህ ሰንጠረዥ በግንኙነት መከታተያ ስርዓት ውስጥ ከማለፉ በፊት ተፈጻሚ የሆኑትን ደንቦች ለማዋቀር ያገለግላል. በተለምዶ ከአንዳንድ አድራሻዎች ፓኬጆችን መጣል በክትትል ስርዓቱ መሻሻል የማይገባቸው ህጎችን ለማዘጋጀት ይጠቅማል።
እያንዳንዱ ጠረጴዛ የሰንሰለት ስብስብ ይዟል. ሰንሰለቶች በቅደም ተከተል የተረጋገጡ የደንቦች ቅደም ተከተል ናቸው. ሶስት አስቀድሞ የተገለጹ ሰንሰለቶች አሉ፡-
- INPUT (ገቢ). በዚህ ሰንሰለት ውስጥ ያሉት ደንቦች በሚመጡት እሽጎች ምን ማድረግ እንዳለባቸው ይወስናሉ.
- ውጣ (ወጪ). ይህ ሰንሰለት ኮምፒውተርዎ በአውታረ መረቡ ላይ ላሉ ሌሎች መሳሪያዎች ወይም ኮምፒውተሮች የሚልከውን ሁሉንም ፓኬጆች ይመለከታል።
- ወደፊት (ማስተላለፍ). በዚህ ሰንሰለት ውስጥ ያሉት ደንቦች በተተላለፉ እሽጎች ምን እንደሚደረግ ይገልጻሉ.
በመጨረሻም፣ እያንዳንዱ ሰንሰለት የተወሰነ ተግባር (ዒላማ) አለው። በተግባር, 5 ዋና ተግባራት ጥቅም ላይ ይውላሉ:
- ACCEPTፓኬጁ በፋየርዎል ውስጥ እንዲያልፍ ይፍቀዱለት።
- ይዝጉ: ፓኬጁን ውድቅ ያድርጉ እና ምንም ምላሽ ሳይሰጡ ያስወግዱት.
- ይደሰቱ: ፓኬጁን ውድቅ ያድርጉ እና ላኪው የ ICMP ስህተት መልእክት ይላኩ።
- LOGፓኬጁን በስርዓት መዝገብ ውስጥ ያስገቡ እና ሌላ እርምጃ ያከናውኑ (ለምሳሌ፣ መቀበል ወይም DROP)።
- RETURNአሁን ባለው ሰንሰለት ውስጥ ያሉትን ደንቦች መፈተሽ ያቁሙ እና ወደ ጥሪ ሰንሰለት ይመለሱ (የሚመለከተው ከሆነ)።
ማዋቀሩን ለመጀመር የነባር ደንቦችን ዝርዝር በትእዛዙ ይክፈቱ፡-
iptables -L
Iptablesን ለማዋቀር እንደ መመሪያ፣ በብዛት ጥቅም ላይ የዋሉትን ትዕዛዞች ተግባራዊ ምሳሌዎችን እንመልከት። ለመመቻቸት, እንደ ልዩ ሰንሰለት, ምሳሌዎችን በ 3 ቡድኖች እንከፍላለን.
ሰንሰለት ግቤት:
- በTCP ፕሮቶኮል ወደብ 80 ገቢ ትራፊክ ፍቀድ፡
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. በUDP ፕሮቶኮል ወደብ 22 ገቢ ትራፊክ ፍቀድ፡
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. ከአንድ የተወሰነ የአይፒ አድራሻ የሚመጣውን ትራፊክ ያግዱ፡-
iptables -A INPUT -s 192.168.1.100 -j DROP
ሰንሰለት ውፅዓት:
- የወጪ ትራፊክን በTCP ፕሮቶኮል ወደብ 443 ፍቀድ፡
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. የወጪ ትራፊክን በUDP ፕሮቶኮል ወደብ 80 ፍቀድ፡
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. ወደ አንድ የተወሰነ ወደብ የሚወጣውን ትራፊክ አግድ (ለምሳሌ፡ 21)፡
iptables -A OUTPUT -p tcp --dport 21 -j DROP
ሰንሰለት ወደኋላ:
- የተላለፈውን ትራፊክ ከተወሰኑ የአይፒ አድራሻዎች ያግዱ፡-
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. ፓኬጆችን ከአንድ የተወሰነ የአውታረ መረብ በይነገጽ ማስተላለፍ ያግዱ።
iptables -A FORWARD -i eth1 -j DROP
3. ለአንድ የተወሰነ ወደብ በአንድ ጊዜ የሚደረጉ ግንኙነቶችን ብዛት ይገድቡ (በዚህ ምሳሌ 10 ግንኙነቶች በደቂቃ ወደብ 80)።
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
እንደሚመለከቱት, በእያንዳንዱ የተለየ ጉዳይ, ተጨማሪ ክርክር (ትእዛዝ) ጥቅም ላይ ይውላል. ሊሆኑ የሚችሉ ክርክሮችን እና ለመሳሪያው ተግባር አጠቃላይ ድጋፍን ለማግኘት፣ ያስገቡ፡-
iptables -h
ቅንብሮቹ ትክክል መሆናቸውን ለማረጋገጥ የሕጎችን ዝርዝር ለማየት ትዕዛዙን እንደገና ያስገቡ፡-
iptables -L
አንድን የተወሰነ ህግ ለመሰረዝ ትዕዛዙን ይጠቀሙ፡-
iptables -D chain rule_number
ለምሳሌ፣ ደንብ ቁጥር 1ን ከ INPUT ሰንሰለት መሰረዝ ከፈለጉ ትዕዛዙ ይህን ይመስላል።
iptables -D INPUT 1
ሁሉንም ደንቦች በአንድ ትዕዛዝ ለመሰረዝ፡-
iptables -F
ጠቃሚ ማሳሰቢያስርዓቱን ወይም አገልግሎቱን እንደገና ከጀመሩ በኋላ የ iptables ህጎች በራስ-ሰር አይቀመጡም። ደንቦቹን ለማስቀመጥ ወደ ውቅር ፋይል መጨመር እና ዳግም ከተነሳ በኋላ ወደነበሩበት መመለስ አለባቸው. የ iptables - ማስቀመጥ ና iptables-ወደነበረበት መመለስ መገልገያዎች በዚህ ላይ ሊረዱ ይችላሉ. ደንቦቹን ለማስቀመጥ ትዕዛዙን ያስገቡ፡-
iptables-save > /etc/iptables/rules.v4
ይህ አሁን ያሉትን የ iptables ደንቦች በ rule.v4 ፋይል ውስጥ ያስቀምጣል። ዳግም ከተነሳ በኋላ ወደነበረበት ለመመለስ፣ ያስገቡ፡-
iptables-restore < /etc/iptables/rules.v4
ይህ ትእዛዝ ህጎቹን ከህጎች.v4 ፋይል ያድሳል።
መደምደሚያ
ፋየርዎልን በሊኑክስ ላይ ፋየርዎልድ ወይም iptables በመጠቀም ማዋቀር የአገልጋይ ደህንነትን የማረጋገጥ አስፈላጊ ገጽታ ነው። ሁለቱም መሳሪያዎች የአውታረ መረብ ትራፊክን ለመቆጣጠር እና ስርዓቱን ካልተፈቀዱ መዳረሻ እና የሳይበር ጥቃቶች ለመጠበቅ አስተማማኝ መንገዶችን ይሰጣሉ። በፋየርዎልድ እና በ iptables መካከል ያለው ምርጫ የሚወሰነው በተጠቃሚው ልዩ ፍላጎቶች እና ምርጫዎች ላይ ነው, የተለያዩ ተግባራቶቻቸውን እና ጥንካሬዎቻቸውን ግምት ውስጥ ያስገቡ.