லினக்ஸ் பாதுகாப்பு அமைப்புகள்

உட்பொதிக்கப்பட்ட, மொபைல் சாதனங்கள் மற்றும் சேவையகங்களில் Linux OS இன் மகத்தான வெற்றிக்கான காரணங்களில் ஒன்று, கர்னல், தொடர்புடைய சேவைகள் மற்றும் பயன்பாடுகளின் ஒப்பீட்டளவில் உயர்ந்த பாதுகாப்பு ஆகும். ஆனால் என்றால் உன்னிப்பாக பார்த்தல் லினக்ஸ் கர்னலின் கட்டமைப்பிற்கு, பாதுகாப்புக்கு பொறுப்பான ஒரு சதுரத்தை அதில் கண்டுபிடிக்க முடியாது. லினக்ஸ் பாதுகாப்பு துணை அமைப்பு எங்கே மறைந்துள்ளது மற்றும் அது எதைக் கொண்டுள்ளது?

லினக்ஸ் பாதுகாப்பு தொகுதிகள் மற்றும் SELinux இன் பின்னணி

பாதுகாப்பு மேம்படுத்தப்பட்ட லினக்ஸ் என்பது லினக்ஸ் அமைப்புகளை சாத்தியமான அச்சுறுத்தல்களிலிருந்து பாதுகாப்பதற்கும், பாரம்பரிய யூனிக்ஸ் பாதுகாப்பு அமைப்பான டிஸ்க்ரீஷனரி அக்சஸ் கன்ட்ரோலின் (டிஏசி) பலவீனங்களைச் சரிசெய்வதற்கும் கட்டாய மற்றும் பங்கு அடிப்படையிலான அணுகல் மாதிரிகளின் அடிப்படையிலான விதிகளின் தொகுப்பு மற்றும் அணுகல் பொறிமுறையாகும். இந்தத் திட்டம் அமெரிக்க தேசிய பாதுகாப்பு ஏஜென்சியின் குடலில் உருவானது, மேலும் ஒப்பந்ததாரர்களான செக்யூர் கம்ப்யூட்டிங் கார்ப்பரேஷன் மற்றும் MITER, அத்துடன் பல ஆராய்ச்சி ஆய்வகங்கள் ஆகியவை நேரடியாக வளர்ச்சியில் ஈடுபட்டன.

லினக்ஸ் பாதுகாப்பு அமைப்புகள்
லினக்ஸ் பாதுகாப்பு தொகுதிகள்

லினஸ் டொர்வால்ட்ஸ் புதிய NSA மேம்பாடுகளில் பல குறிப்புகளை வழங்கினார், இதனால் அவை லினக்ஸ் கர்னலின் முக்கிய கிளையில் சேர்க்கப்படலாம். பொருள்களின் செயல்பாடுகளை நிர்வகிப்பதற்கான இடைமறிப்பாளர்களின் தொகுப்பு மற்றும் தொடர்புடைய பண்புகளை சேமிப்பதற்காக கர்னல் தரவு கட்டமைப்புகளில் சில பாதுகாப்பு புலங்களின் தொகுப்புடன் பொதுவான சூழலை அவர் விவரித்தார். இந்தச் சூழலை ஏற்றக்கூடிய கர்னல் தொகுதிக்கூறுகள் மூலம் விரும்பிய பாதுகாப்பு மாதிரியை செயல்படுத்த பயன்படுத்தலாம். LSM 2.6 இல் லினக்ஸ் கர்னல் v2003 இல் முழுமையாக நுழைந்தது.

LSM கட்டமைப்பில் தரவு கட்டமைப்புகளில் உள்ள பாதுகாப்பு புலங்கள் மற்றும் கர்னல் குறியீட்டில் உள்ள முக்கியமான புள்ளிகளில் இடைமறிப்பு செயல்பாடு அழைப்புகள் அவற்றை நிர்வகிக்கவும் அணுகல் கட்டுப்பாட்டைச் செய்யவும் அடங்கும். இது பாதுகாப்பு தொகுதிகளை பதிவு செய்வதற்கான செயல்பாட்டையும் சேர்க்கிறது. /sys/kernel/security/lsm இடைமுகம் கணினியில் செயலில் உள்ள தொகுதிகளின் பட்டியலைக் கொண்டுள்ளது. LSM ஹூக்குகள் CONFIG_LSM இல் குறிப்பிடப்பட்ட வரிசையில் அழைக்கப்படும் பட்டியல்களில் சேமிக்கப்படும். விரிவான ஹூக் ஆவணங்கள் அடங்கும்/linux/lsm_hooks.h தலைப்பு கோப்பில் சேர்க்கப்பட்டுள்ளது.

நிலையான லினக்ஸ் கர்னல் v2.6 இன் அதே பதிப்பின் SELinux இன் முழு ஒருங்கிணைப்பையும் LSM துணை அமைப்பு சாத்தியமாக்கியது. உண்மையில் உடனடியாக, SELinux பாதுகாப்பான லினக்ஸ் சூழலுக்கான நடைமுறை தரநிலையாக மாறியது மற்றும் மிகவும் பிரபலமான விநியோகங்களின் ஒரு பகுதியாக மாறியது: RedHat Enterprise Linux, Fedora, Debian, Ubuntu.

சொற்களஞ்சியம்

  • அடையாளம் - SELinux பயனர் வழக்கமான யூனிக்ஸ் / லினக்ஸ் பயனர் ஐடியைப் போலவே இல்லை, அவர்கள் ஒரே கணினியில் இணைந்து செயல்பட முடியும், ஆனால் அவை சாராம்சத்தில் முற்றிலும் வேறுபட்டவை. ஒவ்வொரு நிலையான Linux கணக்கும் SELinux இல் ஒன்று அல்லது அதற்கு மேற்பட்டவற்றுடன் ஒத்திருக்கும். SELinux அடையாளமானது, நீங்கள் எந்த டொமைன்களில் சேரலாம் மற்றும் சேரக்கூடாது என்பதைத் தீர்மானிக்கும் ஒட்டுமொத்த பாதுகாப்புச் சூழலின் ஒரு பகுதியாகும்.
  • களங்கள் - SELinux இல், டொமைன் என்பது பொருளின் செயலாக்க சூழலாகும், அதாவது செயல்முறை. ஒரு செயல்முறையின் அணுகலை டொமைன் நேரடியாக வரையறுக்கிறது. ஒரு டொமைன் என்பது அடிப்படையில் என்ன செயல்முறைகள் செய்ய முடியும் அல்லது ஒரு செயல்முறை பல்வேறு வகைகளில் என்ன செயல்களைச் செய்ய முடியும் என்பதற்கான பட்டியலாகும். டொமைன்களின் சில எடுத்துக்காட்டுகள் கணினி நிர்வாகத்திற்கான sysadm_t, மற்றும் பயனர்_t இது ஒரு வழக்கமான சலுகையற்ற பயனர் டொமைன் ஆகும். init அமைப்பு init_t டொமைனில் இயங்குகிறது, பெயரிடப்பட்ட செயல்முறை name_t டொமைனில் இயங்குகிறது.
  • பங்கு - டொமைன்கள் மற்றும் SELinux பயனர்களுக்கு இடையே ஒரு இடைத்தரகராகச் செயல்படும் ஒன்று. ஒரு பயனர் எந்தெந்த டொமைன்களைச் சேர்ந்தவர்கள் மற்றும் எந்த வகையான பொருட்களைப் பயனர் அணுகலாம் என்பதை பாத்திரங்கள் வரையறுக்கின்றன. அத்தகைய அணுகல் கட்டுப்பாட்டு பொறிமுறையானது சலுகை அதிகரிப்பு தாக்குதலின் அச்சுறுத்தலைத் தடுக்கிறது. SELinux இல் பயன்படுத்தப்படும் ரோல் அடிப்படையிலான அணுகல் கட்டுப்பாடு (RBAC) பாதுகாப்பு மாதிரியில் பாத்திரங்கள் எழுதப்பட்டுள்ளன.
  • வகையான — ஒரு பொருளுக்கு ஒதுக்கப்பட்ட அமலாக்கப் பட்டியல் பண்புக்கூறு மற்றும் அதை யார் அணுக வேண்டும் என்பதைத் தீர்மானிக்கிறது. ஒரு டொமைனை வரையறுப்பதைப் போலவே, டொமைன் செயல்முறைக்கு பொருந்தும், அதே நேரத்தில் டைரக்டரிகள், கோப்புகள், சாக்கெட்டுகள் மற்றும் பல பொருள்களுக்கு இந்த வகை பொருந்தும்.
  • பொருள்கள் மற்றும் பொருள்கள் - செயல்முறைகள் பாடங்கள் மற்றும் ஒரு குறிப்பிட்ட சூழலில் அல்லது பாதுகாப்பு களத்தில் இயங்கும். இயக்க முறைமை ஆதாரங்கள்: கோப்புகள், கோப்பகங்கள், சாக்கெட்டுகள் போன்றவை, ஒரு குறிப்பிட்ட வகைக்கு ஒதுக்கப்பட்ட பொருள்கள், வேறுவிதமாகக் கூறினால், இரகசிய நிலை.
  • SELinux கொள்கைகள் - கணினியைப் பாதுகாக்க SELinux பல்வேறு கொள்கைகளைப் பயன்படுத்துகிறது. SELinux கொள்கையானது பாத்திரங்களுக்கான பயனர் அணுகல், டொமைன்களுக்கான பாத்திரங்கள் மற்றும் வகைகளுக்கான டொமைன்களை வரையறுக்கிறது. முதலில், ஒரு பங்கைப் பெற பயனர் அங்கீகரிக்கப்படுகிறார், பின்னர் டொமைன்களை அணுகுவதற்கு பங்கு அங்கீகரிக்கப்பட்டுள்ளது. இறுதியாக, ஒரு டொமைன் சில வகையான பொருட்களை மட்டுமே அணுக முடியும்.

LSM மற்றும் SELinux கட்டமைப்பு

பெயர் இருந்தாலும், LSMகள் பொதுவாக ஏற்றக்கூடிய லினக்ஸ் தொகுதிகள் அல்ல. இருப்பினும், SELinux ஐப் போலவே, இது நேரடியாக கர்னலில் ஒருங்கிணைக்கப்பட்டுள்ளது. எல்எஸ்எம் மூலக் குறியீட்டில் எந்த மாற்றத்திற்கும் புதிய கர்னல் தொகுப்பு தேவைப்படுகிறது. தொடர்புடைய விருப்பம் கர்னல் அமைப்புகளில் செயல்படுத்தப்பட வேண்டும், இல்லையெனில் LSM குறியீடு துவக்கத்திற்குப் பிறகு செயல்படுத்தப்படாது. ஆனால் இந்த விஷயத்தில் கூட, OS துவக்க ஏற்றி விருப்பத்தால் அதை இயக்க முடியும்.

லினக்ஸ் பாதுகாப்பு அமைப்புகள்
LSM காசோலைகளின் அடுக்கு

LSM ஆனது முக்கிய கர்னல் செயல்பாடுகளில் உள்ள கொக்கிகளுடன் பொருத்தப்பட்டுள்ளது. LSM இன் முக்கிய அம்சங்களில் ஒன்று, அவை அடுக்கு அடிப்படையிலானவை. எனவே, நிலையான சோதனைகள் இன்னும் செய்யப்படுகின்றன, மேலும் ஒவ்வொரு LSM லேயரும் கூடுதல் கட்டுப்பாடுகள் மற்றும் கட்டுப்பாடுகளை மட்டுமே சேர்க்கிறது. அதாவது தடையை திரும்பப் பெற முடியாது. இது படத்தில் காட்டப்பட்டுள்ளது, வழக்கமான டிஏசி சோதனைகள் தோல்வியடைந்தால், அது எல்எஸ்எம் கொக்கிகளை கூட அடையாது.

SELinux Fluke ஆராய்ச்சி இயக்க முறைமையின் Flask பாதுகாப்பு கட்டமைப்பை ஏற்றுக்கொண்டது, குறிப்பாக குறைந்தபட்ச சலுகையின் கொள்கை. இந்த கருத்தின் சாராம்சம், அவர்களின் பெயர் குறிப்பிடுவது போல, பயனருக்கு வழங்குவது அல்லது நோக்கம் கொண்ட செயல்களைச் செயல்படுத்தத் தேவையான உரிமைகளை மட்டுமே செயலாக்குவது. இந்த கொள்கை கட்டாய அணுகல் தட்டச்சு மூலம் செயல்படுத்தப்படுகிறது, எனவே SELinux இன் அணுகல் கட்டுப்பாடு டொமைன் => வகை மாதிரியை அடிப்படையாகக் கொண்டது.

கட்டாய அணுகல் தட்டச்சு மூலம், யூனிக்ஸ்/லினக்ஸ் இயக்க முறைமைகளில் பயன்படுத்தப்படும் பாரம்பரிய DAC மாதிரியை விட SELinux அதிக அணுகல் கட்டுப்பாட்டு திறன்களைக் கொண்டுள்ளது. எடுத்துக்காட்டாக, ftp சேவையகத்திற்கு ஏற்படும் பிணைய போர்ட் எண்ணை நீங்கள் கட்டுப்படுத்தலாம், ஒரு குறிப்பிட்ட கோப்புறையில் கோப்புகளை எழுதவும் மாற்றவும் அனுமதிக்கலாம், ஆனால் அவற்றை நீக்க முடியாது.

SELinux இன் முக்கிய கூறுகள்:

  • கொள்கை அமலாக்க சேவையகம் - அணுகல் கட்டுப்பாட்டை ஒழுங்கமைப்பதற்கான முக்கிய வழிமுறை.
  • கணினி பாதுகாப்பு கொள்கைகளின் தரவுத்தளம்.
  • LSM நிகழ்வு கேட்பவருடன் தொடர்பு.
  • Selinuxfs - Pseudo-FS, அதே /proc மற்றும் /sys/fs/selinux இல் ஏற்றப்பட்டது. இயக்க நேரத்தில் லினக்ஸ் கர்னலால் மாறும் வகையில் நிரப்பப்பட்டது மற்றும் SELinux நிலை தகவலைக் கொண்ட கோப்புகளைக் கொண்டுள்ளது.
  • வெக்டர் கேச் அணுகவும் - செயல்திறனை மேம்படுத்த துணை வழிமுறை.

லினக்ஸ் பாதுகாப்பு அமைப்புகள்
SELinux எப்படி வேலை செய்கிறது

இவை அனைத்தும் பின்வருமாறு செயல்படுகின்றன.

  1. ஒரு பொருள், SELinux விதிமுறைகளில், மேல் படத்தில் காட்டப்பட்டுள்ளபடி, DAC சோதனைக்குப் பிறகு ஒரு பொருளின் மீது அனுமதிக்கப்பட்ட செயலைச் செய்கிறது. இந்த செயல்பாட்டுக் கோரிக்கை LSM நிகழ்வு கேட்பவருக்குச் செல்கிறது.
  2. அங்கிருந்து, கோரிக்கை, பொருள் மற்றும் பொருளின் பாதுகாப்புச் சூழலுடன், LSM உடன் தொடர்புகொள்வதற்குப் பொறுப்பான SELinux சுருக்கம் மற்றும் ஹூக் லாஜிக் தொகுதிக்கு அனுப்பப்படுகிறது.
  3. கொள்கை அமலாக்க சேவையகம் என்பது பொருளுக்கான பொருளின் அணுகல் குறித்த முடிவெடுக்கும் அதிகாரமாகும், மேலும் இது SELinux AnHL இலிருந்து தரவைப் பெறுகிறது.
  4. அணுகல் அல்லது தடை குறித்து முடிவெடுக்க, கொள்கை அமலாக்க சேவையகம் மிகவும் பயன்படுத்தப்படும் அணுகல் திசையன் கேச் (AVC) விதிகளின் கேச்சிங் துணை அமைப்பைக் குறிக்கிறது.
  5. தொடர்புடைய விதிக்கான தீர்வு தற்காலிக சேமிப்பில் காணப்படவில்லை என்றால், கோரிக்கை பாதுகாப்பு கொள்கை தரவுத்தளத்திற்கு அனுப்பப்படும்.
  6. தரவுத்தளம் மற்றும் AVC இலிருந்து தேடல் முடிவு கொள்கை அமலாக்க சேவையகத்திற்குத் திரும்பும்.
  7. கண்டறியப்பட்ட கொள்கையானது கோரப்பட்ட செயலுடன் ஒத்துப்போனால், செயல்பாடு அனுமதிக்கப்படும். இல்லையெனில், அறுவை சிகிச்சை தடைசெய்யப்பட்டுள்ளது.

SELinux அமைப்புகளை நிர்வகித்தல்

SELinux மூன்று முறைகளில் ஒன்றில் செயல்படுகிறது:

  • அமலாக்குதல் - பாதுகாப்புக் கொள்கைகளின் கடுமையான அமலாக்கம்.
  • அனுமதி - கட்டுப்பாடுகளை மீறுவது அனுமதிக்கப்படுகிறது, அதனுடன் தொடர்புடைய குறி பதிவில் செய்யப்படுகிறது.
  • முடக்கப்பட்டது - பாதுகாப்புக் கொள்கைகள் நடைமுறையில் இல்லை.

பின்வரும் கட்டளையின் மூலம் SELinux என்ன பயன்முறையில் உள்ளது என்பதை நீங்கள் பார்க்கலாம்.

[admin@server ~]$ getenforce
Permissive

மறுதொடக்கத்திற்கு முன் பயன்முறையை மாற்றுதல், எடுத்துக்காட்டாக, அதை செயல்படுத்துவதற்கு அமைக்கவும் அல்லது 1. அனுமதி அளவுரு எண் குறியீடு 0 க்கு ஒத்திருக்கிறது.

[admin@server ~]$ setenfoce enforcing
[admin@server ~]$ setenfoce 1 #то же самое

கோப்பைத் திருத்துவதன் மூலமும் நீங்கள் பயன்முறையை மாற்றலாம்:

[admin@server ~]$ cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.

SELINUXTYPE=இலக்கு

setenfoce உடன் உள்ள வேறுபாடு என்னவென்றால், இயக்க முறைமை துவங்கும் போது, ​​SELinux பயன்முறையானது உள்ளமைவு கோப்பில் உள்ள SELINUX அளவுருவின் மதிப்பிற்கு ஏற்ப அமைக்கப்படும். கூடுதலாக, <=> முடக்கப்பட்ட மாற்றங்களைச் செயல்படுத்துவது /etc/selinux/config கோப்பைத் திருத்துவதன் மூலமும் மறுதொடக்கத்திற்குப் பிறகும் மட்டுமே நடைமுறைக்கு வரும்.

சுருக்க நிலை அறிக்கையைக் காண்க:

[admin@server ~]$ sestatus

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

SELinux பண்புக்கூறுகளைப் பார்க்க, சில பங்குப் பயன்பாடுகள் -Z விருப்பத்தைப் பயன்படுத்துகின்றன.

[admin@server ~]$ ls -lZ /var/log/httpd/
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20200920
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20200927
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20201004
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20201011
[admin@server ~]$ ps -u apache -Z
LABEL                             PID TTY          TIME CMD
system_u:system_r:httpd_t:s0     2914 ?        00:00:04 httpd
system_u:system_r:httpd_t:s0     2915 ?        00:00:00 httpd
system_u:system_r:httpd_t:s0     2916 ?        00:00:00 httpd
system_u:system_r:httpd_t:s0     2917 ?        00:00:00 httpd
...
system_u:system_r:httpd_t:s0     2918 ?        00:00:00 httpd

சாதாரண ls -l வெளியீட்டுடன் ஒப்பிடும்போது, ​​பின்வரும் வடிவத்தில் பல கூடுதல் புலங்கள் உள்ளன:

<user>:<role>:<type>:<level>

கடைசி புலம் பாதுகாப்பு முத்திரை போன்ற ஒன்றைக் குறிக்கிறது மற்றும் இரண்டு கூறுகளின் கலவையைக் கொண்டுள்ளது:

  • s0 - முக்கியத்துவம், தாழ்நிலை-உயர்நிலை இடைவெளியிலும் பதிவு செய்யப்பட்டுள்ளது
  • c0, c1… c1023 என்பது வகை.

அணுகல் உள்ளமைவை மாற்றுகிறது

SELinux தொகுதிக்கூறுகளை ஏற்றவும், அவற்றைச் சேர்க்க மற்றும் அகற்றவும் semodule ஐப் பயன்படுத்தவும்.

[admin@server ~]$ semodule -l |wc -l #список всех модулей
408
[admin@server ~]$ semodule -e abrt #enable - активировать модуль
[admin@server ~]$ semodule -d accountsd #disable - отключить модуль
[admin@server ~]$ semodule -r avahi #remove - удалить модуль

முதல் அணி semanage உள்நுழைவு ஒரு SELinux பயனரை இயக்க முறைமை பயனருடன் தொடர்புபடுத்துகிறது, இரண்டாவது அதை பட்டியலிடுகிறது. இறுதியாக, -r சுவிட்ச் கொண்ட கடைசி கட்டளையானது SELinux பயனர்களின் OS கணக்குகளுக்கு மேப்பிங்கை நீக்குகிறது. MLS/MCS வரம்பு மதிப்புகளுக்கான தொடரியல் விளக்கம் முந்தைய பிரிவில் காணப்படுகிறது.

[admin@server ~]$ semanage login -a -s user_u karol
[admin@server ~]$ semanage login -l

Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
system_u system_u s0-s0:c0.c1023 *
[admin@server ~]$ semanage login -d karol

அணி semanage பயனர் SELinux பயனர்கள் மற்றும் பாத்திரங்களுக்கு இடையே மேப்பிங்கை நிர்வகிக்கப் பயன்படுகிறது.

[admin@server ~]$ semanage user -l
                Labeling   MLS/       MLS/                          
SELinux User    Prefix     MCS Level  MCS Range             SELinux Roles
guest_u         user       s0         s0                    guest_r
staff_u         staff      s0         s0-s0:c0.c1023        staff_r sysadm_r
...
user_u          user       s0         s0                    user_r
xguest_u        user       s0         s0                    xguest_r
[admin@server ~]$ semanage user -a -R 'staff_r user_r'
[admin@server ~]$ semanage user -d test_u

கட்டளை விருப்பங்கள்:

  • -ஒரு தனிப்பயன் ரோல் மேப்பிங் உள்ளீட்டைச் சேர்க்கவும்;
  • பொருந்தக்கூடிய பயனர்கள் மற்றும் பாத்திரங்களின் பட்டியல்;
  • -d தனிப்பயன் ரோல் மேப்பிங் உள்ளீட்டை அகற்றவும்;
  • பயனருடன் இணைக்கப்பட்ட பாத்திரங்களின் -R பட்டியல்;

கோப்புகள், துறைமுகங்கள் மற்றும் பூலியன்கள்

ஒவ்வொரு SELinux தொகுதியும் கோப்பு குறிப்பான் விதிகளின் தொகுப்பை வழங்குகிறது, ஆனால் தேவைப்பட்டால் உங்கள் சொந்த விதிகளையும் சேர்க்கலாம். எடுத்துக்காட்டாக, /srv/www கோப்புறைக்கான அணுகல் உரிமைகளை இணைய சேவையகம் கொண்டிருக்க வேண்டும் என்று நாங்கள் விரும்புகிறோம்.

[admin@server ~]$ semanage fcontext -a -t httpd_sys_content_t "/srv/www(/.*)?
[admin@server ~]$ restorecon -R /srv/www/

முதல் கட்டளை புதிய மார்க்கிங் விதிகளைப் பதிவுசெய்கிறது, இரண்டாவது மீட்டமைப்புகள் அல்லது தற்போதைய விதிகளின்படி கோப்பு வகைகளை வெளிப்படுத்துகிறது.

அதேபோல, TCP/UDP போர்ட்கள் பொருத்தமான சேவைகள் மட்டுமே கேட்கும் வகையில் குறிக்கப்பட்டுள்ளன. எடுத்துக்காட்டாக, போர்ட் 8080 இல் இணைய சேவையகம் கேட்க, நீங்கள் ஒரு கட்டளையை இயக்க வேண்டும்.

[admin@server ~]$ semanage port -m -t http_port_t -p tcp 8080

கணிசமான எண்ணிக்கையிலான SELinux தொகுதிகள் பூலியன் மதிப்புகளை எடுக்கக்கூடிய அளவுருக்களைக் கொண்டுள்ளன. அத்தகைய விருப்பங்களின் முழு பட்டியலையும் getsebool -a உடன் காணலாம். செட்செபூலைப் பயன்படுத்தி பூலியன் மதிப்புகளை மாற்றலாம்.

[admin@server ~]$ getsebool httpd_enable_cgi
httpd_enable_cgi --> on
[admin@server ~]$ setsebool -P httpd_enable_cgi off
[admin@server ~]$ getsebool httpd_enable_cgi
httpd_enable_homedirs --> off

பயிற்சி, Pgadmin-இணைய இடைமுகத்தை அணுகவும்

நடைமுறையில் இருந்து ஒரு உதாரணத்தைக் கவனியுங்கள், PostgreSQL தரவுத்தளத்தை நிர்வகிக்க RHEL 7.6 இல் pgadmin4-web ஐ நிறுவினோம். நாங்கள் சிறியதைக் கடந்தோம் தேடலை pg_hba.conf, postgresql.conf மற்றும் config_local.py ஆகியவற்றை அமைப்பதன் மூலம், கோப்புறைகளுக்கான உரிமைகளை அமைக்கவும், பிப்பில் இருந்து விடுபட்ட பைதான் தொகுதிகளை நிறுவவும். எல்லாம் தயாராக உள்ளது, ஓடிச் செல்லுங்கள் 500 உள்ளார்ந்த சேவையக பிழை.

லினக்ஸ் பாதுகாப்பு அமைப்புகள்

நாங்கள் வழக்கமான சந்தேக நபர்களுடன் தொடங்குகிறோம், /var/log/httpd/error_log சரிபார்க்கவும். அதில் சில சுவாரஸ்யமான பதிவுகள் உள்ளன.

[timestamp] [core:notice] [pid 23689] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
...
[timestamp] [wsgi:error] [pid 23690] [Errno 13] Permission denied: '/var/lib/pgadmin'
[timestamp] [wsgi:error] [pid 23690] [timestamp] [wsgi:error] [pid 23690] HINT : You may need to manually set the permissions on
[timestamp] [wsgi:error] [pid 23690] /var/lib/pgadmin to allow apache to write to it.

இந்த கட்டத்தில், பெரும்பாலான லினக்ஸ் நிர்வாகிகள் setencorce 0 ஐ இயக்குவதற்கு வலுவாக ஆசைப்படுவார்கள், மேலும் அதைச் செய்ய வேண்டும். உண்மையைச் சொல்வதானால், நான் அதைச் செய்வது இதுவே முதல் முறை. இது, நிச்சயமாக, ஒரு வழி, ஆனால் சிறந்ததல்ல.

சிக்கலான வடிவமைப்புகள் இருந்தபோதிலும், SELinux பயனர் நட்புடன் இருக்க முடியும். சரிசெய்தல் தொகுப்பை நிறுவி கணினி பதிவைப் பார்க்கவும்.

[admin@server ~]$ yum install setroubleshoot
[admin@server ~]$ journalctl -b -0
[admin@server ~]$ service restart auditd

OS இல் systemd இருந்தாலும், தணிக்கை செய்யப்பட்ட சேவையை மீண்டும் தொடங்க வேண்டும், systemctl உடன் அல்ல. கணினி பதிவில் குறிப்பிடப்படும் தடுப்பதற்கான உண்மை மட்டுமல்ல, காரணமும் கூட தடையை கடக்க வழி.

லினக்ஸ் பாதுகாப்பு அமைப்புகள்

இந்த கட்டளைகளை நாங்கள் செயல்படுத்துகிறோம்:

[admin@server ~]$ setsebool -P httpd_can_network_connect 1
[admin@server ~]$ setsebool -P httpd_can_network_connect_db 1

pgadmin4-இணைய வலைப்பக்கத்திற்கான அணுகலை நாங்கள் சரிபார்க்கிறோம், எல்லாம் வேலை செய்கிறது.

லினக்ஸ் பாதுகாப்பு அமைப்புகள்

லினக்ஸ் பாதுகாப்பு அமைப்புகள்

ஆதாரம்: www.habr.com

கருத்தைச் சேர்