Vidokezo 25 vya Ugumu vya Usalama kwa Seva za Linux


Kila mtu anasema kuwa Linux ni salama kwa chaguo-msingi na amekubali kupanua (Ni mada zinazojadiliwa). Walakini, Linux ina modeli ya usalama iliyojengwa ndani kwa chaguo-msingi. Unahitaji kuirekebisha na kubinafsisha kulingana na hitaji lako ambayo inaweza kusaidia kufanya mfumo salama zaidi. Linux ni ngumu kudhibiti lakini inatoa chaguzi zaidi za kubadilika na usanidi.

Kupata mfumo katika uzalishaji kutoka kwa mikono ya wadukuzi na wadukuzi ni kazi ngumu kwa Msimamizi wa Mfumo. Hii ni nakala yetu ya kwanza inayohusiana na Jinsi ya Kulinda Sanduku la Linux au Kuimarisha Sanduku la Linux. Katika chapisho hili Tutaelezea vidokezo na hila 25 muhimu ili kupata mfumo wako wa Linux. Natumai, vidokezo na hila zilizo hapa chini zitakusaidia kupanua usalama wa mfumo wako.

1. Usalama wa Mfumo wa Kimwili

Sanidi BIOS ili kuzima uanzishaji kutoka kwa CD/DVD, Vifaa vya Nje, Hifadhi ya Floppy katika BIOS. Ifuatayo, wezesha nenosiri la BIOS na pia linda GRUB kwa nenosiri ili kuzuia ufikiaji wa kimwili wa mfumo wako.

  1. Weka Nenosiri la GRUB Kulinda Seva za Linux

2. Sehemu za Disk

Ni muhimu kuwa na kizigeu tofauti ili kupata usalama wa juu wa data endapo maafa yoyote yatatokea. Kwa kuunda partitions tofauti, data inaweza kutengwa na kuwekwa kwenye vikundi. Ajali isiyotarajiwa inapotokea, data ya sehemu hiyo pekee ndiyo itaharibiwa, huku data kwenye sehemu nyingine ikisalia. Hakikisha lazima uwe na sehemu tofauti zifuatazo na uhakikishe kuwa programu za wahusika wengine zinapaswa kusakinishwa kwenye mifumo tofauti ya faili chini ya /opt.

/
/boot
/usr
/var
/home
/tmp
/opt

3. Punguza Vifurushi ili Kupunguza Athari

Je! unataka huduma za kila aina kusakinishwa? Inashauriwa kuzuia kusakinisha vifurushi visivyo na maana ili kuzuia udhaifu katika vifurushi. Hii inaweza kupunguza hatari kwamba maelewano ya huduma moja yanaweza kusababisha maelewano ya huduma zingine. Tafuta na uondoe au uzime huduma zisizohitajika kutoka kwa seva ili kupunguza athari. Tumia amri ya 'chkconfig' ili kujua huduma zinazofanya kazi kwenye runlevel 3.

# /sbin/chkconfig --list |grep '3:on'

Mara tu unapogundua huduma yoyote isiyohitajika inaendeshwa, izima kwa kutumia amri ifuatayo.

# chkconfig serviceName off

Tumia kidhibiti kifurushi cha RPM kama vile zana za yum au apt-get kuorodhesha vifurushi vyote vilivyosakinishwa kwenye mfumo na kuviondoa kwa kutumia amri ifuatayo.

# yum -y remove package-name
# sudo apt-get remove package-name

  1. Mifano 5 ya Amri za chkconfig
  2. Vielelezo 20 Vitendo vya Amri za RPM
  3. Amri 20 za YUM za Linux kwa Usimamizi wa Kifurushi cha Linux
  4. Agizo 25 za APT-GET na APT-CACHE za Kusimamia Usimamizi wa Kifurushi

4. Angalia Bandari za Mtandao wa Kusikiliza

Kwa msaada wa amri ya 'netstat' unaweza kutazama bandari zote zilizo wazi na programu zinazohusiana. Kama nilivyosema hapo juu tumia amri ya 'chkconfig' kuzima huduma zote za mtandao zisizohitajika kutoka kwa mfumo.

# netstat -tulpn

  1. Amri 20 za Netstat kwa Usimamizi wa Mtandao katika Linux

5. Tumia Secure Shell(SSH)

Itifaki za Telnet na rlogin hutumia maandishi wazi, si umbizo lililosimbwa ambalo ni ukiukaji wa usalama. SSH ni itifaki salama inayotumia teknolojia ya usimbaji fiche wakati wa mawasiliano na seva.

Kamwe usiingie moja kwa moja kama mzizi isipokuwa lazima. Tumia sudo kutekeleza amri. sudo zimeainishwa katika /etc/sudoers faili pia inaweza kuhaririwa na matumizi ya visudo ambayo hufungua katika hariri ya VI.

Inapendekezwa pia kubadilisha nambari ya mlango chaguomsingi ya SSH 22 na nambari nyingine ya kiwango cha juu cha mlango. Fungua faili kuu ya usanidi wa SSH na ufanye vigezo vifuatavyo ili kuwazuia watumiaji kufikia.

# vi /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers username
Protocol 2

  1. Mbinu 5 Bora za Kulinda na Kulinda Seva ya SSH

6. Weka Mfumo ukisasishwa

Sasisha mfumo kila wakati ukitumia viraka vya matoleo mapya, masahihisho ya usalama na kernel inapopatikana.

# yum updates
# yum check-update

7. Lockdown Cronjobs

Cron ina kipengee chake kilichojengwa, ambapo inaruhusu kutaja nani anaweza, na ambaye hataki kuendesha kazi. Hii inadhibitiwa na matumizi ya faili zinazoitwa /etc/cron.allow na /etc/cron.deny. Ili kumfunga mtumiaji kwa kutumia cron, ongeza tu majina ya watumiaji kwenye cron.deny na kumruhusu mtumiaji kuendesha cron add kwenye faili ya cron.allow. Ikiwa ungependa kuzima watumiaji wote kutoka kwa kutumia cron, ongeza laini ya 'ALL' kwenye faili ya cron.deny.

# echo ALL >>/etc/cron.deny

  1. Mifano 11 ya Kuratibu ya Cron katika Linux

8. Zima fimbo ya USB ili Kugundua

Mara nyingi hutokea kwamba tunataka kuwazuia watumiaji kutumia vijiti vya USB kwenye mifumo ili kulinda na kulinda data dhidi ya kuiba. Unda faili ‘/etc/modprobe.d/no-usb’ na kuongeza chini ya mstari hakutatambua hifadhi ya USB.

install usb-storage /bin/true

9. Washa SELinux

Linux Iliyoimarishwa Usalama (SELinux) ni utaratibu wa usalama wa udhibiti wa ufikiaji unaotolewa kwenye kernel. Kuzima SELinux kunamaanisha kuondoa utaratibu wa usalama kutoka kwa mfumo. Fikiria mara mbili kwa uangalifu kabla ya kuondoa, ikiwa mfumo wako umeunganishwa kwenye mtandao na kupatikana na umma, basi fikiria zaidi juu yake.

SELinux hutoa njia tatu za msingi za uendeshaji na ni.

  1. Kutekeleza: Hii ni hali chaguo-msingi inayowezesha na kutekeleza sera ya usalama ya SELinux kwenye mashine.
  2. Ruhusa: Katika hali hii, SELinux haitatekeleza sera ya usalama kwenye mfumo, ionye tu na uweke kumbukumbu za vitendo. Hali hii ni muhimu sana katika utatuzi wa masuala yanayohusiana na SELinux.
  3. Imezimwa: SELinux imezimwa.

Unaweza kutazama hali ya sasa ya hali ya SELinux kutoka kwa safu ya amri kwa kutumia amri za 'system-config-selinux', 'getenforce' au 'sestatus'.

# sestatus

Ikiwa imezimwa, wezesha SELinux kwa kutumia amri ifuatayo.

# setenforce enforcing

Inaweza pia kudhibitiwa kutoka kwa faili ya '/etc/selinux/config', ambapo unaweza kuiwezesha au kuizima.

10. Ondoa Kompyuta za mezani za KDE/GNOME

Hakuna haja ya kuendesha kompyuta za mezani za Dirisha la X kama KDE au GNOME kwenye seva yako iliyojitolea ya LAMP. Unaweza kuziondoa au kuzizima ili kuongeza usalama wa seva na utendakazi. Ili kulemaza rahisi fungua faili '/etc/inittab' na uweke kiwango cha kukimbia hadi 3. Ikiwa ungependa kuiondoa kabisa kwenye mfumo tumia amri iliyo hapa chini.

# yum groupremove "X Window System"

11. Zima IPv6

Ikiwa hutumii itifaki ya IPv6, basi unapaswa kuizima kwa sababu programu nyingi au sera hazihitaji itifaki ya IPv6 na kwa sasa haihitajiki kwenye seva. Nenda kwenye faili ya usanidi wa mtandao na uongeze mistari ifuatayo ili kuizima.

# vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no

12. Zuia Watumiaji Kutumia Nywila za Zamani

Hii ni muhimu sana ikiwa ungependa kutoruhusu watumiaji kutumia manenosiri yale yale ya zamani. Faili ya zamani ya nenosiri iko kwenye /etc/security/opasswd. Hii inaweza kupatikana kwa kutumia moduli ya PAM.

Fungua faili ya '/etc/pam.d/system-auth' chini ya RHEL/CentOS/Fedora.

# vi /etc/pam.d/system-auth

Fungua faili ya ‘/etc/pam.d/common-password’ chini ya Ubuntu/Debian/Linux Mint.

# vi /etc/pam.d/common-password

Ongeza mstari ufuatao kwa sehemu ya 'auth'.

auth        sufficient    pam_unix.so likeauth nullok

Ongeza laini ifuatayo kwenye sehemu ya ‘nenosiri’ ili kutomruhusu mtumiaji kutumia tena nenosiri 5 lake la mwisho.

password   sufficient    pam_unix.so nullok use_authtok md5 shadow remember=5

Manenosiri 5 pekee ya mwisho yanakumbukwa na seva. Ikiwa ulijaribu kutumia nenosiri lolote kati ya 5 zilizopita, utapata hitilafu kama.

Password has been already used. Choose another.

13. Jinsi ya Kuangalia Muda wa Nenosiri la Mtumiaji

Katika Linux, manenosiri ya mtumiaji yanahifadhiwa katika faili ya ‘/etc/shadow’ katika umbizo lililosimbwa. Ili kuangalia kuisha kwa nenosiri la mtumiaji, unahitaji kutumia amri ya 'chage'. Inaonyesha habari ya maelezo ya kuisha kwa nenosiri pamoja na tarehe ya mwisho ya mabadiliko ya nenosiri. Maelezo haya hutumiwa na mfumo kuamua ni lini mtumiaji lazima abadilishe nenosiri lake.

Ili kuona maelezo yoyote ya kuzeeka ya mtumiaji kama vile tarehe na wakati wa kuisha, tumia amri ifuatayo.

#chage -l username

Ili kubadilisha uzeeka wa nenosiri la mtumiaji yeyote, tumia amri ifuatayo.

#chage -M 60 username
#chage -M 60 -m 7 -W 7 userName

  1. -M Weka idadi ya juu zaidi ya siku
  2. -m Weka idadi ya chini ya siku
  3. -W Weka idadi ya siku za onyo

14. Funga na Ufungue Akaunti Manually

Vipengele vya kufuli na kufungua ni muhimu sana, badala ya kuondoa akaunti kutoka kwa mfumo, unaweza kuifunga kwa wiki au mwezi. Ili kufunga mtumiaji maalum, unaweza kutumia amri ya kufuata.

# passwd -l accountName

Kumbuka : Mtumiaji aliyefungwa bado anapatikana kwa mtumiaji wa mizizi pekee. Kufunga hufanywa kwa kubadilisha nenosiri lililosimbwa kwa kamba (!). Ikiwa mtu anajaribu kufikia mfumo kwa kutumia akaunti hii, atapata hitilafu sawa na hapa chini.

# su - accountName
This account is currently not available.

Ili kufungua au kuwezesha ufikiaji wa akaunti iliyofungwa, tumia amri kama. Hii itaondoa (!) kamba yenye nenosiri lililosimbwa.

# passwd -u accountName

15. Kutekeleza Nywila Nguvu Zaidi

Idadi ya watumiaji hutumia manenosiri laini au dhaifu na nenosiri lao linaweza kudukuliwa kwa kutumia kamusi kulingana na mashambulizi ya kutumia nguvu. Sehemu ya ‘pam_cracklib’ inapatikana katika PAM (Moduli za Uthibitishaji Zinazoweza Kuchomekwa) ambazo zitamlazimu mtumiaji kuweka nenosiri thabiti. Fungua faili ifuatayo na kihariri.

Soma Pia:

# vi /etc/pam.d/system-auth

Na ongeza laini kwa kutumia vigezo vya mkopo kama (lcredit, ucredit, dcredit na/au ocredit mtawalia herufi ndogo, herufi kubwa, tarakimu na nyinginezo)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. Washa Iptables (Firewall)

Inapendekezwa sana kuwezesha ngome ya Linux ili kupata ufikiaji usioidhinishwa wa seva zako. Tumia sheria katika iptables kwa vichujio vya pakiti zinazoingia, zinazotoka na zinazosambaza. Tunaweza kubainisha chanzo na anwani lengwa ili kuruhusu na kukataa katika nambari mahususi ya bandari ya udp/tcp.

  1. Mwongozo na Vidokezo vya Msingi vya IPTables

17. Zima Ctrl+Alt+Futa katika Inittab

Katika usambazaji mwingi wa Linux, kubonyeza 'CTRL-ALT-DELETE' kutachukua mfumo wako kuwasha tena mchakato. Kwa hivyo, sio wazo nzuri kuwa na chaguo hili kuwezeshwa angalau kwenye seva za uzalishaji, ikiwa mtu atafanya hivi kimakosa.

Hii inafafanuliwa katika faili ya '/etc/inittab', ukitazama kwa karibu kwenye faili hiyo utaona mstari sawa na hapa chini. Kwa mstari chaguo-msingi haijatolewa maoni. Inabidi tutoe maoni yake. Ishara hii ya mfuatano muhimu itazima mfumo.

# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

18. Kukagua Akaunti kwa Nywila Tupu

Akaunti yoyote iliyo na nenosiri tupu inamaanisha kufunguliwa kwake kwa ufikiaji usioidhinishwa kwa mtu yeyote kwenye wavuti na ni sehemu ya usalama ndani ya seva ya Linux. Kwa hivyo, lazima uhakikishe kuwa akaunti zote zina manenosiri thabiti na hakuna mtu aliye na ufikiaji ulioidhinishwa. Akaunti tupu za nenosiri ni hatari za usalama na ambazo zinaweza kudukuliwa kwa urahisi. Ili kuangalia ikiwa kulikuwa na akaunti zilizo na nenosiri tupu, tumia amri ifuatayo.

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. Onyesha Bango la SSH Kabla ya Kuingia

Daima ni wazo bora kuwa na bango halali au mabango ya usalama yenye maonyo kadhaa ya usalama kabla ya uthibitishaji wa SSH. Kuweka mabango hayo soma makala ifuatayo.

  1. Onyesha Ujumbe wa Onyo wa SSH kwa Watumiaji

20. Fuatilia Shughuli za Mtumiaji

Ikiwa unashughulika na watumiaji wengi, basi ni muhimu kukusanya taarifa za kila shughuli za mtumiaji na michakato inayotumiwa nao na kuzichanganua baadaye au ikiwa aina yoyote ya utendakazi, maswala ya usalama. Lakini jinsi tunavyoweza kufuatilia na kukusanya taarifa za shughuli za mtumiaji.

Kuna zana mbili muhimu zinazoitwa 'psacct' na 'acct' hutumika kwa ufuatiliaji wa shughuli za mtumiaji na michakato kwenye mfumo. Zana hizi hutumika katika usuli wa mfumo na hufuatilia kila shughuli ya mtumiaji kwenye mfumo na rasilimali zinazotumiwa na huduma kama vile Apache, MySQL, SSH, FTP, n.k. Kwa maelezo zaidi kuhusu usakinishaji, usanidi na matumizi, tembelea url iliyo hapa chini.

  1. Fuatilia Shughuli ya Mtumiaji kwa psacct au Amri za acct

21. Kagua Kumbukumbu Mara kwa Mara

Hamisha kumbukumbu katika seva maalum ya kumbukumbu, hii inaweza kuzuia wavamizi kurekebisha kumbukumbu za ndani kwa urahisi. Chini ni jina la faili za logi za kawaida za Linux na matumizi yao:

  1. /var/log/message - Ambapo kumbukumbu za mfumo mzima au kumbukumbu za shughuli za sasa zinapatikana.
  2. /var/log/auth.log - kumbukumbu za uthibitishaji.
  3. /var/log/kern.log - kumbukumbu za Kernel.
  4. /var/log/cron.log - Kumbukumbu za Crond (kazi ya cron).
  5. /var/log/maillog – kumbukumbu za seva.
  6. /var/log/boot.log - Rekodi ya kuwasha mfumo.
  7. /var/log/mysqld.log - faili ya kumbukumbu ya seva ya hifadhidata ya MySQL.
  8. /var/log/secure - kumbukumbu ya uthibitishaji.
  9. /var/log/utmp au /var/log/wtmp : Ingia faili ya rekodi.
  10. /var/log/yum.log: Faili za kumbukumbu za Yum.

22. Hifadhi nakala ya faili muhimu

Katika mfumo wa utayarishaji, inahitajika kuchukua nakala rudufu ya faili muhimu na kuziweka kwenye chumba cha usalama, tovuti ya mbali au nje ya eneo kwa uokoaji wa Maafa.

23. NIC Bonding

Kuna aina mbili za modi katika uunganishaji wa NIC, unahitaji kutaja katika kiolesura cha kuunganisha.

  1. mode=0 - Round Robin
  2. mode=1 – Imetumika na Hifadhi Nakala

NIC Bonding hutusaidia kuepuka hatua moja ya kushindwa. Katika uunganishaji wa NIC, tunaunganisha Kadi mbili au zaidi za Mtandao wa Ethaneti pamoja na kutengeneza Kiolesura kimoja pepe ambapo tunaweza kugawa anwani ya IP ili kuzungumza na seva zingine. Mtandao wetu utapatikana iwapo Kadi moja ya NIC haipatikani au haipatikani kwa sababu yoyote.

24. Weka /boot kama kusoma tu

Linux kernel na faili zake zinazohusiana ziko kwenye saraka ya /boot ambayo ni chaguo-msingi kama soma-andika. Kuibadilisha kuwa ya kusoma tu hupunguza hatari ya urekebishaji usioidhinishwa wa faili muhimu za kuwasha. Ili kufanya hivyo, fungua faili /etc/fstab.

# vi /etc/fstab

Ongeza mstari unaofuata chini, uhifadhi na uifunge.

LABEL=/boot     /boot     ext2     defaults,ro     1 2

Tafadhali kumbuka kuwa unahitaji kuweka upya mabadiliko ili kusoma-kuandika ikiwa unahitaji kuboresha kernel katika siku zijazo.

25. Puuza ICMP au Ombi la Matangazo

Ongeza laini ifuatayo katika faili ya /etc/sysctl.conf ili kupuuza ping au ombi la kutangaza.

Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1

Pakia mipangilio mipya au mabadiliko, kwa kutekeleza amri ifuatayo

#sysctl -p

Ikiwa umekosa usalama au kidokezo chochote muhimu cha ugumu katika orodha iliyo hapo juu, au una kidokezo kingine chochote ambacho kinahitaji kujumuishwa kwenye orodha. Tafadhali toa maoni yako kwenye kisanduku chetu cha maoni. TecMint daima inapenda kupokea maoni, mapendekezo na majadiliano ya kuboresha.