Jinsi ya Kusanidi Firewall ya UFW kwenye Ubuntu na Debian
Ngome inayofanya kazi kwa usahihi ndiyo sehemu muhimu zaidi ya usalama kamili wa mfumo wa Linux. Kwa chaguo-msingi, usambazaji wa Debian na Ubuntu huja na zana ya usanidi ya ngome inayoitwa UFW (Uncomplicated Firewall), ni zana maarufu na rahisi kutumia ya mstari wa amri kwa ajili ya kusanidi na kudhibiti ngome kwenye usambazaji wa Ubuntu na Debian.
Katika makala hii, tutaelezea jinsi ya kufunga na kuanzisha firewall ya UFW kwenye usambazaji wa Ubuntu na Debian.
Kabla ya kuanza na kifungu hiki, hakikisha kuwa umeingia kwenye seva yako ya Ubuntu au Debian na mtumiaji wa sudo au na akaunti ya mizizi. Ikiwa huna mtumiaji wa sudo, unaweza kuunda moja kwa kutumia maagizo yafuatayo kama mtumiaji wa mizizi.
# adduser username # usermod -aG sudo username # su - username $ sudo whoami
Weka UFW Firewall kwenye Ubuntu na Debian
UFW (Firewall Isiyo ngumu) inapaswa kusakinishwa kwa chaguo-msingi katika Ubuntu na Debian, ikiwa sivyo, isakinishe kwa kutumia meneja wa kifurushi cha APT kwa kutumia amri ifuatayo.
$ sudo apt install ufw
Mara baada ya ufungaji kukamilika unaweza kuangalia hali ya UFW kwa kuandika.
$ sudo ufw status verbose
Katika usakinishaji wa kwanza, ngome ya UFW imezimwa kwa chaguo-msingi, matokeo yatakuwa sawa na hapa chini.
Status: inactive
Unaweza kuwezesha au kuwezesha ngome ya UFW kwa kutumia amri ifuatayo, ambayo inapaswa kupakia ngome na kuiwezesha kuanza kwenye buti.
$ sudo ufw enable
Ili kuzima firewall ya UFW, tumia amri ifuatayo, ambayo inapakua ngome na kuizima kutoka kwa kuwasha.
$ sudo ufw disable
Kwa chaguo-msingi, ngome ya UFW inakataa kila miunganisho inayoingia na kuruhusu tu miunganisho yote ya nje kwa seva. Hii inamaanisha, hakuna mtu anayeweza kufikia seva yako, isipokuwa utafungua mlango mahususi, ilhali huduma zote zinazoendesha au programu kwenye seva yako zinaweza kufikia mtandao wa nje.
Sera chaguomsingi za ngome za UFW zimewekwa kwenye /etc/default/ufw
faili na zinaweza kubadilishwa kwa kutumia amri ifuatayo.
$ sudo ufw default deny incoming $ sudo ufw default allow outgoing
Unaposakinisha kifurushi cha programu kwa kutumia kidhibiti kifurushi cha APT, kitajumuisha wasifu wa programu katika saraka ya /etc/ufw/applications.d
ambayo inafafanua huduma na kushikilia mipangilio ya UFW.
Unaweza kuorodhesha profaili zote za programu zinazopatikana kwenye seva yako kwa kutumia amri ifuatayo.
$ sudo ufw app list
Kulingana na usakinishaji wa kifurushi cha programu kwenye mfumo wako matokeo yataonekana sawa na yafuatayo:
Available applications: APACHE APACHE Full APACHE SECURE CUPS OpenSSH Postfix Postfix SMTPS Postfix Submission
Ikiwa unataka kupata maelezo zaidi kuhusu wasifu fulani na sheria zilizofafanuliwa unaweza kutumia amri ifuatayo.
$ sudo ufw app info 'Apache'
Profile: Apache Title: Web Server Description: Apache V2 is the next generation f the omnipresent Apache web server. Ports: 80/tcp
Ikiwa seva yako imesanidiwa na IPv6, hakikisha kwamba UFW yako imesanidiwa kwa usaidizi wa IPv6 na IPv4. Ili kuithibitisha, fungua faili ya usanidi ya UFW kwa kutumia kihariri unachopenda.
$ sudo vi /etc/default/ufw
Kisha hakikisha “IPV6” imewekwa kuwa \ndiyo\
katika faili ya usanidi kama inavyoonyeshwa.
IPV6=yes
Hifadhi na uache. Kisha anzisha upya firewall yako na amri zifuatazo:
$ sudo ufw disable $ sudo ufw enable
Ikiwa umewasha ngome ya UFW kufikia sasa, itazuia miunganisho yote inayoingia na ikiwa umeunganishwa kwenye seva yako kupitia SSH kutoka eneo la mbali, hutaweza tena kuiunganisha tena.
Wacha tuwashe miunganisho ya SSH kwa seva yetu ili kuzuia hilo kutokea kwa kutumia amri ifuatayo:
$ sudo ufw allow ssh
Ikiwa unatumia mlango maalum wa SSH (kwa mfano bandari 2222), basi unahitaji kufungua mlango huo kwenye ngome ya UFW kwa kutumia amri ifuatayo.
$ sudo ufw allow 2222/tcp
Ili kuzuia miunganisho yote ya SSH andika amri ifuatayo.
$ sudo ufw deny ssh/tcp $ sudo ufw deny 2222/tcp [If using custom SSH port]
Unaweza pia kufungua mlango maalum katika ngome ili kuruhusu miunganisho kupitia hiyo kwa huduma fulani. Kwa mfano, ikiwa unataka kusanidi seva ya wavuti ambayo inasikiza kwenye port 80 (HTTP) na 443 (HTTPS) kwa chaguomsingi.
Ifuatayo ni mifano michache ya jinsi ya kuruhusu miunganisho inayoingia kwa huduma za Apache.
$ sudo ufw allow http [By service name] $ sudo ufw allow 80/tcp [By port number] $ sudo ufw allow 'Apache' [By application profile]
$ sudo ufw allow https $ sudo ufw allow 443/tcp $ sudo ufw allow 'Apache Secure'
Kwa kudhani kuwa una programu-tumizi ambazo unataka kutekeleza kwenye bandari mbalimbali (5000-5003), unaweza kuongeza bandari hizi zote kwa kutumia amri zifuatazo.
sudo ufw allow 5000:5003/tcp sudo ufw allow 5000:5003/udp
Ikiwa unataka kuruhusu miunganisho kwenye bandari zote kutoka kwa anwani maalum ya IP 192.168.56.1, basi unahitaji kutaja kutoka kabla ya anwani ya IP.
$ sudo ufw allow from 192.168.56.1
Ili kuruhusu muunganisho kwenye lango mahususi (kwa mfano lango 22) kutoka kwa mashine yako ya nyumbani yenye anwani ya IP ya 192.168.56.1, basi unahitaji kuongeza mlango wowote na nambari ya mlango baada ya anwani ya IP kama inavyoonyeshwa.
$ sudo ufw allow from 192.168.56.1 to any port 22
Ili kuruhusu miunganisho ya anwani mahususi za IP kuanzia 192.168.1.1 hadi 192.168.1.254 hadi mlango wa 22 (SSH), tumia amri ifuatayo.
$ sudo ufw allow from 192.168.1.0/24 to any port 22
Ili kuruhusu miunganisho kwa kiolesura maalum cha mtandao eth2 kwa lango fulani 22 (SSH), endesha amri ifuatayo.
$ sudo ufw allow in on eth2 to any port 22
Kwa chaguo-msingi, miunganisho yote inayoingia imezuiwa, isipokuwa ikiwa umefungua muunganisho mahsusi kwenye UFW. Kwa mfano, umefungua bandari 80 na 443 na seva yako ya wavuti inashambuliwa kutoka kwa mtandao usiojulikana 11.12.13.0/24.
Ili kuzuia miunganisho yote kutoka kwa safu hii ya mtandao ya 11.12.13.0/24, unaweza kutumia amri ifuatayo.
$ sudo ufw deny from 11.12.13.0/24
Ikiwa unataka tu kuzuia miunganisho kwenye bandari 80 na 443, unaweza kutumia amri zifuatazo.
$ sudo ufw deny from 11.12.13.0/24 to any port 80 $ sudo ufw deny from 11.12.13.0/24 to any port 443
Kuna njia 2 za kufuta sheria za UFW, kwa nambari ya sheria na kwa sheria halisi.
Ili kufuta sheria za UFW kwa kutumia nambari ya sheria, kwanza unahitaji kuorodhesha sheria kwa nambari kwa kutumia amri ifuatayo.
$ sudo ufw status numbered
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere
Ili kufuta nambari ya sheria 1, tumia amri ifuatayo.
$ sudo ufw delete 1
Njia ya pili ni kufuta sheria kwa kutumia sheria halisi, kwa mfano kufuta sheria, taja nambari ya bandari na itifaki kama inavyoonyeshwa.
$ sudo ufw delete allow 22/tcp
Unaweza kutekeleza amri zozote za ufw bila kufanya mabadiliko yoyote kwenye ngome ya mfumo kwa kutumia --dry-run
bendera, hii inaonyesha tu mabadiliko ambayo yanatarajiwa kutokea.
$ sudo ufw --dry-run enable
Kwa sababu moja au nyingine, ikiwa ungependa kufuta/kuweka upya sheria zote za ngome, chapa amri zifuatazo, itarejesha mabadiliko yako yote na kuanza upya.
$ sudo ufw reset $ sudo ufw status
Firewall ya UFW inaweza kusimamia kufanya chochote ambacho iptables hufanya. Hii inaweza kufanyika kwa seti tofauti za faili za sheria, ambazo si kitu, lakini faili rahisi za iptables-rejesha maandishi.
Urekebishaji wa firewall ya UFW au kuongeza amri za iptables za ziada haziruhusiwi kupitia amri ya ufw, ni suala la kubadilisha faili za maandishi zifuatazo.
- /etc/default/ufw: Faili kuu ya usanidi iliyo na sheria zilizobainishwa mapema.
- /etc/ufw/before[6].rules: Katika faili hii sheria huhesabiwa kabla ya kuongeza kupitia ufw amri.
- /etc/ufw/after[6].rules: Katika faili hii sheria huhesabiwa baada ya kuongeza kupitia amri ya ufw.
- /etc/ufw/sysctl.conf: Faili hii inatumika kurekebisha mtandao wa kernel.
- /etc/ufw/ufw.conf: Faili hii itawezesha ufw kuwasha.
Hiyo ndiyo! UFW ni mwisho bora wa iptables na kiolesura cha kirafiki ili kufafanua sheria ngumu kwa amri moja ya ufw.
Ikiwa una maswali au maoni yoyote ya kushiriki kuhusu nakala hii ya ufw, tumia fomu ya maoni hapa chini kutufikia.