25 Awọn Imọlẹ Aabo lile fun Awọn olupin Linux


Gbogbo eniyan sọ pe Lainos ni aabo nipasẹ aiyipada ati gba si diẹ ninu faagun (O jẹ awọn akọle ariyanjiyan). Sibẹsibẹ, Lainos ni awoṣe aabo ti a ṣe sinu rẹ ni aiyipada. Nilo lati ṣe igbasilẹ rẹ ki o ṣe akanṣe bi fun iwulo rẹ eyiti o le ṣe iranlọwọ lati ṣe eto aabo diẹ sii. Lainos nira lati ṣakoso ṣugbọn o funni ni irọrun diẹ sii ati awọn aṣayan iṣeto.

Ni aabo eto kan ninu iṣelọpọ lati ọwọ awọn olutọpa ati awọn apanirun jẹ iṣẹ ipenija fun Alakoso IT kan. Eyi ni nkan akọkọ wa ti o ni ibatan si “Bii o ṣe le rii apoti Linux” tabi “Hardening a Linux Box“. Ninu ifiweranṣẹ yii A yoo ṣe alaye awọn imọran & iwulo iwulo 25 lati ni aabo eto Linux rẹ. Ireti, ni isalẹ awọn imọran & ẹtan yoo ṣe iranlọwọ fun ọ diẹ ninu faagun lati ni aabo eto rẹ.

1. Aabo Eto ti ara

Tunto BIOS lati mu igbesoke kuro lati CD/DVD, Awọn Ẹrọ Ita, Floppy Drive ni BIOS. Nigbamii, mu ọrọ igbaniwọle BIOS ṣiṣẹ & tun daabobo GRUB pẹlu ọrọ igbaniwọle lati ni ihamọ wiwọle ti ara ti eto rẹ.

  1. Ṣeto Ọrọigbaniwọle GRUB lati Daabobo Awọn olupin Linux

2. Awọn ipin Disk

O ṣe pataki lati ni awọn ipin oriṣiriṣi lati gba aabo data ti o ga julọ ni ọran ti eyikeyi ajalu ba ṣẹlẹ. Nipa ṣiṣẹda awọn ipin oriṣiriṣi, data le pin ati ṣe akojọpọ. Nigbati ijamba airotẹlẹ kan waye, nikan data ti ipin yẹn yoo bajẹ, lakoko ti awọn data lori awọn ipin miiran ye. Rii daju pe o gbọdọ ni atẹle awọn ipin lọtọ ati rii daju pe awọn ohun elo ẹnikẹta yẹ ki o fi sori ẹrọ lori awọn ọna faili ọtọtọ labẹ/jáde.

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

3. Gbe Awọn idii dinku lati dinku Ipalara

Ṣe o fẹ gaan gbogbo awọn iṣẹ ti a fi sii?. O ni iṣeduro lati yago fun fifi awọn idii ti ko wulo lati yago fun awọn ailagbara ninu awọn idii. Eyi le dinku eewu pe adehun ti iṣẹ kan le ja si adehun awọn iṣẹ miiran. Wa ki o yọkuro tabi mu awọn iṣẹ ti aifẹ kuro lati ọdọ olupin lati dinku ipalara. Lo aṣẹ 'chkconfig' lati wa awọn iṣẹ eyiti o nṣiṣẹ lori runlevel 3.

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

Lọgan ti o ba ti rii iṣẹ eyikeyi ti aifẹ ti nṣiṣẹ, mu wọn kuro nipa lilo pipaṣẹ atẹle.

# chkconfig serviceName off

Lo oluṣakoso package RPM bii “yum” tabi awọn irinṣẹ “apt-get” lati ṣe atokọ gbogbo awọn idii ti a fi sori ẹrọ lori ẹrọ ki o yọ wọn kuro nipa lilo pipaṣẹ atẹle.

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

  1. 5 chkconfig Awọn Aṣẹ Aṣẹ
  2. 20 Awọn apẹẹrẹ Iṣe ti Awọn aṣẹ RPM
  3. 20 Linux YUM Awọn pipaṣẹ fun Iṣakoso Iṣakojọpọ Lainos
  4. 25 APT-GET ati Awọn pipaṣẹ APT-CACHE lati Ṣakoso Iṣakoso Isakoṣo

4. Ṣayẹwo Awọn Ibudo Nẹtiwọọki Nfeti

Pẹlu iranlọwọ ti ‘netstat’ pipaṣẹ nẹtiwọọki o le wo gbogbo awọn ibudo ṣiṣi ati awọn eto to somọ. Bi Mo ti sọ loke lo aṣẹ 'chkconfig' lati mu gbogbo awọn iṣẹ nẹtiwọọki aifẹ kuro lati inu eto naa.

# netstat -tulpn

  1. Awọn aṣẹ 20 Netstat fun Iṣakoso Nẹtiwọọki ni Lainos

5. Lo Ikarahun ti o ni aabo (SSH)

Awọn ilana Telnet ati rlogin nlo ọrọ pẹtẹlẹ, kii ṣe ọna kika ti paroko eyiti o jẹ awọn irufin aabo. SSH jẹ ilana aabo ti o lo imọ-ẹrọ fifi ẹnọ kọ nkan lakoko ibaraẹnisọrọ pẹlu olupin.

Maṣe wọle taara bi gbongbo ayafi ti o ba jẹ dandan. Lo “sudo” lati ṣe awọn pipaṣẹ. sudo ti wa ni pato ninu/ati be be lo/faili sudoers tun le ṣatunkọ pẹlu iwulo “visudo” eyiti o ṣii ni olootu VI.

O tun niyanju lati yi nọmba ibudo SSH 22 aiyipada pada pẹlu diẹ ninu nọmba ibudo ibudo miiran ti o ga julọ. Ṣii faili iṣeto SSH akọkọ ki o ṣe diẹ ninu awọn ipele atẹle lati ni ihamọ awọn olumulo lati wọle si.

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

  1. Awọn adaṣe 5 ti o dara julọ lati Ni aabo ati aabo Olupin SSH

6. Jeki System imudojuiwọn

Nigbagbogbo tọju eto imudojuiwọn pẹlu awọn abulẹ tujade titun, awọn atunṣe aabo ati ekuro nigbati o wa.

# yum updates
# yum check-update

7. Titiipa Cronjobs

Cron ni o ni tirẹ ti a ṣe ni ẹya, nibiti o gba laaye lati ṣafihan ẹni ti o le, ati pe tani ko le fẹ lati ṣiṣẹ awọn iṣẹ. Eyi ni iṣakoso nipasẹ lilo awọn faili ti a pe /etc/cron.allow ati /etc/cron.deny. Lati tii olumulo kan pẹlu lilo cron, jiroro ni ṣafikun awọn orukọ olumulo ni cron.deny ati lati gba olumulo laaye lati ṣiṣe cron ṣafikun ni faili cron.allow. Ti o ba fẹ lati mu gbogbo awọn olumulo kuro ni lilo cron, ṣafikun laini 'GBOGBO' si faili cron.deny.

# echo ALL >>/etc/cron.deny

  1. 11 Awọn apẹẹrẹ Eto iṣeto Cron ni Linux

8. Mu okun USB ṣiṣẹ lati Ṣawari

Ni ọpọlọpọ awọn igba o ṣẹlẹ pe a fẹ lati ni ihamọ awọn olumulo lati lilo ọpá USB ninu awọn eto lati daabobo ati ni aabo data lati jiji. Ṣẹda faili kan '/etc/modprobe.d/no-usb' ati fifi kun laini isalẹ kii yoo ri ipamọ USB.

install usb-storage /bin/true

9. Tan SELinux

Ailewu-Ti mu dara si Lainos (SELinux) jẹ ilana aabo iṣakoso iwọle dandan ti a pese ni ekuro. Muu SELinux kuro tumọ si yiyọ ẹrọ aabo kuro ninu eto naa. Ronu lẹẹmeji daradara ṣaaju yiyọ, ti eto rẹ ba sopọ mọ intanẹẹti ti iraye si nipasẹ gbogbo eniyan, lẹhinna ronu diẹ diẹ sii lori rẹ.

SELinux n pese awọn ipo ipilẹ mẹta ti iṣẹ ati pe wọn jẹ.

  1. Fifẹ: Eyi jẹ ipo aiyipada eyiti o jẹki ati mu lagabara eto aabo SELinux lori ẹrọ.
  2. Gbigbanilaaye: Ni ipo yii, SELinux kii yoo mu eto imulo aabo wa lori eto naa, kilọ ati wọle awọn iṣẹ nikan. Ipo yii wulo pupọ ni akoko ti laasigbotitusita awọn oran ti o jọmọ SELinux.
  3. Alaabo: SELinux ti wa ni pipa.

O le wo ipo lọwọlọwọ ti ipo SELinux lati laini pipaṣẹ nipa lilo ‘system-config-selinux’, ‘getenforce‘ or ‘sestatus’ Command.

# sestatus

Ti o ba jẹ alaabo, mu SELinux ṣiṣẹ nipa lilo pipaṣẹ atẹle.

# setenforce enforcing

O tun le ṣakoso lati ‘/ ati be be/selinux/config’ faili, nibi ti o ti le mu ṣiṣẹ tabi mu ṣiṣẹ.

10. Yọ Awọn tabili tabili KDE/GNOME

Ko si iwulo lati ṣiṣe awọn tabili iboju X bi KDE tabi GNOME lori olupin ifipaya LAMP rẹ. O le yọkuro tabi mu wọn ṣiṣẹ lati mu aabo ti olupin ati iṣẹ pọ si. Lati mu o rọrun ṣii faili naa '/ ati be be/inittab' ati ṣeto ipele ṣiṣe si 3. Ti o ba fẹ lati yọ kuro patapata lati inu eto naa lo aṣẹ isalẹ.

# yum groupremove "X Window System"

11. Pa IPv6

Ti o ko ba lo ilana IPv6 kan, lẹhinna o yẹ ki o mu o ṣiṣẹ nitori ọpọlọpọ awọn ohun elo tabi awọn eto imulo ko nilo ilana IPv6 ati lọwọlọwọ ko nilo lori olupin naa. Lọ si faili iṣeto ni nẹtiwọọki ki o ṣafikun awọn ila atẹle lati pa a.

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

12. Ni ihamọ Awọn olumulo lati Lo Awọn ọrọ igbaniwọle atijọ

Eyi wulo pupọ ti o ba fẹ lati ko awọn olumulo laaye lati lo awọn ọrọ igbaniwọle atijọ kanna. Faili ọrọ igbaniwọle atijọ wa ni/ati be be/aabo/opasswd. Eyi le ṣee ṣe nipasẹ lilo modulu PAM.

Ṣii faili '/etc/pam.d/system-auth' labẹ RHEL/CentOS/Fedora.

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

Ṣii faili ‘/etc/pam.d/common-password’ labẹ Ubuntu/Debian/Linux Mint.

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

Ṣafikun laini atẹle si apakan 'auth'.

auth        sufficient    pam_unix.so likeauth nullok

Ṣafikun laini atẹle si apakan 'ọrọ igbaniwọle' lati ko olumulo kan laaye lati tun lo ọrọ igbaniwọle 5 to kẹhin ti tirẹ.

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

Awọn ọrọ igbaniwọle 5 to kẹhin nikan ni o ranti nipasẹ olupin. Ti o ba gbiyanju lati lo eyikeyi awọn ọrọ igbaniwọle atijọ 5 kẹhin, iwọ yoo gba aṣiṣe bi.

Password has been already used. Choose another.

13. Bii o ṣe le Ṣayẹwo Ipari Ọrọ igbaniwọle ti Olumulo

Ni Lainos, awọn ọrọ igbaniwọle olumulo wa ni fipamọ ni ‘/ ati be be lo/ojiji’ faili ni ọna kika ti paroko. Lati ṣayẹwo ipari ọrọ igbaniwọle ti olumulo, o nilo lati lo aṣẹ 'chage'. O ṣe afihan alaye ti awọn alaye ipari ọrọ igbaniwọle pẹlu ọjọ iyipada ọrọ igbaniwọle to kẹhin. Awọn alaye wọnyi lo nipasẹ eto lati pinnu nigbati olumulo kan gbọdọ yi ọrọ igbaniwọle rẹ pada.

Lati wo eyikeyi alaye ti ogbologbo olumulo ti o wa gẹgẹbi ọjọ ipari ati akoko, lo aṣẹ atẹle.

#chage -l username

Lati yi ogbo ọrọ igbaniwọle ti olumulo eyikeyi pada, lo aṣẹ atẹle.

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

  1. -M Ṣeto nọmba to pọju fun awọn ọjọ
  2. -m Ṣeto nọmba to kere julọ fun awọn ọjọ
  3. -W Ṣeto nọmba awọn ọjọ ti ikilọ

14. Titiipa ati Accountii Account Pẹlu ọwọ

Titiipa ati ṣiṣi awọn ẹya wulo pupọ, dipo yiyọ akọọlẹ kan lati inu eto, o le tii fun ọsẹ kan tabi oṣu kan. Lati tii olumulo kan pato, o le lo aṣẹ atẹle.

# passwd -l accountName

Akiyesi: Olumulo ti o tiipa tun wa fun olumulo gbongbo nikan. Ti ṣe titiipa nipasẹ rirọpo ọrọ igbaniwọle ti paroko pẹlu okun (!). Ti ẹnikan ba n gbiyanju lati wọle si eto naa nipa lilo akọọlẹ yii, yoo gba aṣiṣe ti o jọra ni isalẹ.

# su - accountName
This account is currently not available.

Lati ṣii tabi muu iraye si akọọlẹ ti o pa, lo aṣẹ bi. Eyi yoo yọ okun (!) Pẹlu ọrọ igbaniwọle ti paroko

# passwd -u accountName

15. Ṣiṣe Awọn ọrọ igbaniwọle to lagbara sii

Nọmba awọn olumulo lo asọ tabi awọn ọrọigbaniwọle alailagbara ati ọrọ igbaniwọle wọn le ti gepa pẹlu orisun iwe-itumọ tabi awọn ikọlu agbara-agbara. Modulu 'pam_cracklib' wa ni PAM (Awọn modulu Ijeri Pluggable) Awọn akopọ modulu eyiti yoo fi ipa mu olumulo lati ṣeto awọn ọrọ igbaniwọle to lagbara. Ṣii faili atẹle pẹlu olootu kan.

Ka Tun:

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

Ati ṣafikun laini nipa lilo awọn iṣiro kirẹditi bi (lcredit, ucredit, dcredit ati/tabi ocredit lẹsẹsẹ ni kekere, ọran oke, nọmba ati omiiran)

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

16. Jeki Iptables (Ogiriina)

O ni iṣeduro niyanju lati jẹki ogiriina Linux lati ni aabo iraye si laigba aṣẹ ti awọn olupin rẹ. Lo awọn ofin ni awọn iptables si awọn awoṣe ti nwọle, ti njade ati ti awọn ifiranšẹ siwaju. A le ṣalaye orisun ati adirẹsi adirẹsi lati gba laaye ati sẹ ni nọmba ibudo udp/tcp kan pato.

  1. Ipilẹ IPTables Itọsọna ati Awọn imọran

17. Muu Konturolu + Alt + Paarẹ ni Inittab

Ni ọpọlọpọ awọn pinpin kaakiri Linux, titẹ ‘CTRL-ALT-DELETE’ yoo gba eto rẹ lati tun bẹrẹ ilana. Nitorinaa, kii ṣe imọran ti o dara lati ni aṣayan yi ṣiṣẹ ni o kere ju lori awọn olupin iṣelọpọ, ti ẹnikan nipa aṣiṣe ṣe eyi.

Eyi ti ṣalaye ninu faili '/ ati be be/inittab', ti o ba wo ni pẹkipẹki ninu faili yẹn o yoo rii ila kan ti o jọra ni isalẹ. Nipa laini aiyipada ko ṣe asọye. A ni lati sọ asọye rẹ. Ifihan agbara itẹlera bọtini pataki yii yoo tiipa eto kan.

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

18. Ṣiṣayẹwo Awọn iroyin fun Awọn ọrọigbaniwọle ṣofo

Iwe akọọlẹ eyikeyi ti o ni ọrọ igbaniwọle ṣofo tumọ si ṣiṣi rẹ fun iraye laigba aṣẹ si ẹnikẹni lori oju opo wẹẹbu ati pe o jẹ apakan aabo laarin olupin Linux kan. Nitorinaa, o gbọdọ rii daju pe gbogbo awọn iroyin ni awọn ọrọigbaniwọle to lagbara ati pe ko si ẹnikan ti o ni iraye si eyikeyi ti a fun ni aṣẹ. Awọn iroyin ọrọ igbaniwọle ṣofo jẹ awọn eewu aabo ati pe o le jẹ irọrun gige. Lati ṣayẹwo boya awọn iroyin eyikeyi wa pẹlu ọrọigbaniwọle ofo, lo aṣẹ atẹle.

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

19. Han Banner SSH Ṣaaju Wiwọle

O jẹ igbagbogbo ti o dara julọ lati ni asia ti ofin tabi awọn asia aabo pẹlu diẹ ninu awọn ikilo aabo ṣaaju iṣeduro SSH. Lati ṣeto iru awọn asia ka nkan atẹle.

  1. Han Ifiranṣẹ Ikilọ SSH si Awọn olumulo

20. Ṣe abojuto Awọn iṣẹ Olumulo

Ti o ba n ba ọpọlọpọ awọn olumulo lo, lẹhinna pataki rẹ lati gba alaye ti awọn iṣẹ olumulo kọọkan ati awọn ilana ti wọn jẹ nipasẹ wọn ati ṣe itupalẹ wọn ni akoko nigbamii tabi ni ọran ti eyikeyi iru iṣe, awọn ọran aabo. Ṣugbọn bii a ṣe le ṣe atẹle ati gba alaye awọn iṣẹ olumulo.

Awọn irinṣẹ iwulo meji ti a pe ni 'psacct' ati 'acct' ni a lo fun mimojuto awọn iṣẹ olumulo ati awọn ilana lori eto kan. Awọn irinṣẹ wọnyi n ṣiṣẹ ni abẹlẹ eto ati tẹsiwaju awọn iṣẹ olumulo kọọkan lori eto ati awọn orisun ti o jẹ nipasẹ awọn iṣẹ bii Apache, MySQL, SSH, FTP, ati bẹbẹ lọ Fun alaye diẹ sii nipa fifi sori ẹrọ, iṣeto ati lilo, ṣabẹwo si url isalẹ.

  1. Atẹle Iṣẹ Olumulo pẹlu psacct tabi Awọn Aṣẹ acct

21. Atunwo Awọn akọọlẹ Nigbagbogbo

Gbe awọn akọọlẹ sinu olupin akọọlẹ ifiṣootọ, eyi le ṣe idiwọ awọn alaigbọran lati ṣe atunṣe awọn akọọlẹ agbegbe ni irọrun Ni isalẹ ni orukọ awọn faili aiyipada aiyipada Linux ati lilo wọn:

  1. /var/log/ifiranṣẹ - Nibiti gbogbo awọn akọọlẹ eto tabi awọn akọọlẹ iṣẹ lọwọlọwọ wa.
  2. /var/log/auth.log - Awọn akọọlẹ Ijeri.
  3. /var/log/kern.log - Awọn akọọlẹ ekuro.
  4. /var/log/cron.log - Awọn akọọlẹ Crond (iṣẹ cron).
  5. /var/log/maillog - Awọn akọọlẹ olupin Meeli.
  6. /var/log/boot.log - log log boot.
  7. /var/log/mysqld.log - faili faili olupin database MySQL.
  8. /var/log/secure - Ijeri log.
  9. /var/log/utmp tabi/var/log/wtmp: Faili igbasilẹ awọn faili.
  10. /var/log/yum.log: Awọn faili log Yum.

22. Afẹyinti faili pataki

Ninu eto iṣelọpọ, o jẹ dandan lati mu awọn faili pataki ṣe afẹyinti ati tọju wọn ni ifinkan ailewu, aaye jijin tabi aaye fun imularada Awọn ajalu.

23. Iṣowo NIC

Awọn ipo meji lo wa ni isopọ Nic, nilo lati mẹnuba ni wiwo isopọ.

  1. ipo = 0 - Robin Robin
  2. ipo = 1 - Ṣiṣẹ ati Afẹyinti

Iṣowo NIC ṣe iranlọwọ fun wa lati yago fun aaye kan ti ikuna. Ninu isopọ NIC, a ṣe asopọ awọn kaadi Ethernet Nẹtiwọọki meji tabi diẹ sii papọ ki o ṣe Ọlọpọọmídíà foju kan ṣoṣo nibiti a le fi adirẹsi IP si lati ba awọn olupin miiran sọrọ. Nẹtiwọọki wa yoo wa ni ọran Kaadi NIC kan ti wa ni isalẹ tabi ko si nitori idi eyikeyi.

24. Jeki/bata bi kika-nikan

Kernel Linux ati awọn faili ti o jọmọ wa ninu itọsọna/bata eyiti o jẹ nipa aiyipada bi kika-ka. Yiyipada lati ka-nikan dinku eewu ti iyipada laigba aṣẹ ti awọn faili bata to ṣe pataki. Lati ṣe eyi, ṣii faili “/ ati be be/fstab”.

# vi /etc/fstab

Ṣafikun laini atẹle ni isalẹ, fipamọ ati pa a.

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

Jọwọ ṣe akiyesi pe o nilo lati tun iyipada pada lati ka-kọ ti o ba nilo lati ṣe igbesoke ekuro ni ọjọ iwaju.

25. Foju ICMP tabi Ibeere Broadcast

Ṣafikun laini atẹle ni faili “/etc/sysctl.conf” lati foju pingi tabi ibeere igbohunsafefe.

Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1

Fifuye awọn eto titun tabi awọn ayipada, nipa ṣiṣe pipaṣẹ atẹle

#sysctl -p

Ti o ba ti padanu eyikeyi aabo pataki tabi irọra lile ninu atokọ ti o wa loke, tabi o ti ni imọran miiran ti o nilo lati wa ninu atokọ naa. Jọwọ jọwọ sọ awọn asọye rẹ sinu apoti asọye wa. TecMint nigbagbogbo nife ninu gbigba awọn asọye, awọn didaba bii ijiroro fun ilọsiwaju.