புரோஹோஸ்டர் > Блог > நிர்வாகம் > கணினி நிர்வாகிகளுக்கான SELinux ஏமாற்று தாள்: முக்கியமான கேள்விகளுக்கு 42 பதில்கள்
கணினி நிர்வாகிகளுக்கான SELinux ஏமாற்று தாள்: முக்கியமான கேள்விகளுக்கு 42 பதில்கள்
கட்டுரையின் மொழிபெயர்ப்பு பாடநெறி மாணவர்களுக்காக குறிப்பாக தயாரிக்கப்பட்டது "லினக்ஸ் நிர்வாகி".
வாழ்க்கை, பிரபஞ்சம் மற்றும் லினக்ஸில் உள்ள அனைத்தையும் பற்றிய முக்கியமான கேள்விகளுக்கான பதில்களை மேம்படுத்தப்பட்ட பாதுகாப்புடன் இங்கே பெறுவீர்கள்.
"விஷயங்கள் எப்பொழுதும் தோன்றுவது போல் இருப்பதில்லை என்பது பொது அறிவு..."
-டக்ளஸ் ஆடம்ஸ், தி ஹிட்ச்ஹைக்கர்ஸ் கைடு டு தி கேலக்ஸி
பாதுகாப்பு. அதிகரித்த நம்பகத்தன்மை. கடித தொடர்பு. கொள்கை. அபோகாலிப்ஸ் சிசாட்மின் நான்கு குதிரை வீரர்கள். எங்களின் அன்றாடப் பணிகளுக்கு கூடுதலாக - கண்காணிப்பு, காப்புப்பிரதி, செயல்படுத்தல், உள்ளமைவு, புதுப்பித்தல் போன்றவை - எங்கள் அமைப்புகளின் பாதுகாப்பிற்கும் நாங்கள் பொறுப்பு. மேம்படுத்தப்பட்ட பாதுகாப்பை முடக்குமாறு மூன்றாம் தரப்பு வழங்குநர் பரிந்துரைக்கும் அமைப்புகள் கூட. வேலை செய்வது போல் உணர்கிறேன் ஈதன் ஹன்ட் "மிஷன்: இம்பாசிபிள்" என்பதிலிருந்து.
இந்த இக்கட்டான சூழ்நிலையில், சில சிஸ்டம் நிர்வாகிகள் எடுக்க முடிவு செய்கிறார்கள் நீல மாத்திரை, ஏனென்றால் வாழ்க்கை, பிரபஞ்சம் மற்றும் அனைத்திற்கும் பெரிய கேள்விக்கான பதிலை அவர்கள் ஒருபோதும் அறிய மாட்டார்கள் என்று அவர்கள் நினைக்கிறார்கள். நாம் அனைவரும் அறிந்தபடி, அந்த பதில் 42.
The Hitchhiker's Guide to the Galaxy இன் உணர்வில், கட்டுப்பாடு மற்றும் பயன்பாடு பற்றிய முக்கியமான கேள்விகளுக்கான 42 பதில்கள் இங்கே உள்ளன. இது SELinux உங்கள் கணினிகளில்.
1. SELinux ஒரு கட்டாய அணுகல் கட்டுப்பாட்டு அமைப்பு, அதாவது ஒவ்வொரு செயல்முறைக்கும் ஒரு லேபிள் உள்ளது. ஒவ்வொரு கோப்பு, அடைவு மற்றும் கணினி பொருளுக்கும் லேபிள்கள் உள்ளன. குறியிடப்பட்ட செயல்முறைகள் மற்றும் பொருள்களுக்கு இடையிலான அணுகலைக் கொள்கை விதிகள் கட்டுப்படுத்துகின்றன. கர்னல் இந்த விதிகளை செயல்படுத்துகிறது.
2. இரண்டு மிக முக்கியமான கருத்துக்கள்: லேபிளிடுதல் - அடையாளங்கள் (கோப்புகள், செயல்முறைகள், துறைமுகங்கள், முதலியன) மற்றும் வகை அமலாக்கம் (இது வகைகளின் அடிப்படையில் ஒருவருக்கொருவர் செயல்முறைகளை தனிமைப்படுத்துகிறது).
3. சரியான லேபிள் வடிவம் user:role:type:level (விரும்பினால்).
4. பல நிலை பாதுகாப்பை வழங்குவதன் நோக்கம் (பல நிலை பாதுகாப்பு - MLS) அவர்கள் பயன்படுத்தும் தரவுகளின் பாதுகாப்பு அளவை அடிப்படையாகக் கொண்டு செயல்முறைகளை (டொமைன்கள்) நிர்வகித்தல் ஆகும். எடுத்துக்காட்டாக, ஒரு ரகசிய செயல்முறையானது உயர் ரகசியத் தரவைப் படிக்க முடியாது.
5. பல வகை பாதுகாப்பை உறுதி செய்தல் (பல வகை பாதுகாப்பு - MCS) ஒன்றுக்கொன்று ஒத்த செயல்முறைகளை பாதுகாக்கிறது (உதாரணமாக, மெய்நிகர் இயந்திரங்கள், OpenShift இயந்திரங்கள், SELinux சாண்ட்பாக்ஸ்கள், கொள்கலன்கள் போன்றவை).
6. துவக்கத்தில் SELinux முறைகளை மாற்றுவதற்கான கர்னல் விருப்பங்கள்:
சூழலில் இயங்கும் செயல்முறை httpd_t, பெயரிடப்பட்ட பொருளுடன் தொடர்பு கொள்ளலாம் httpd_something_t.
13. பல கட்டளைகள் ஒரு வாதத்தை ஏற்கின்றன -Z சூழலைப் பார்க்க, உருவாக்க மற்றும் மாற்ற:
ls -Z
id -Z
ps -Z
netstat -Z
cp -Z
mkdir -Z
கோப்புகள் அவற்றின் பெற்றோர் கோப்பகத்தின் சூழலின் அடிப்படையில் (சில விதிவிலக்குகளுடன்) உருவாக்கப்படும் போது சூழல்கள் நிறுவப்படும். RPMகள் நிறுவலின் போது சூழல்களை அமைக்கலாம்.
14. SELinux பிழைகளுக்கு நான்கு முக்கிய காரணங்கள் உள்ளன, அவை கீழே உள்ள புள்ளிகள் 15-21 இல் விரிவாக விவரிக்கப்பட்டுள்ளன:
லேபிளிங் சிக்கல்கள்
ஏனெனில் SELinux தெரிந்து கொள்ள வேண்டிய ஒன்று
SELinux கொள்கை/பயன்பாட்டில் பிழை
உங்கள் தகவல் சமரசம் செய்யப்படலாம்
15.லேபிளிங் பிரச்சனை: உங்கள் கோப்புகள் இருந்தால் /srv/myweb தவறாகக் குறிக்கப்பட்டுள்ளது, அணுகல் மறுக்கப்படலாம். இதை சரிசெய்ய சில வழிகள்:
லேபிள் உங்களுக்குத் தெரிந்தால்: # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
சமமான அடையாளங்களைக் கொண்ட கோப்பு உங்களுக்குத் தெரிந்தால்: # semanage fcontext -a -e /srv/myweb /var/www
சூழலை மீட்டமைத்தல் (இரண்டு நிகழ்வுகளுக்கும்): # restorecon -vR /srv/myweb
16.லேபிளிங் பிரச்சனை: நீங்கள் கோப்பை நகலெடுப்பதற்குப் பதிலாக நகர்த்தினால், கோப்பு அதன் அசல் சூழலைத் தக்க வைத்துக் கொள்ளும். இந்த சிக்கலை சரிசெய்ய:
லேபிளுடன் சூழல் கட்டளையை மாற்றவும்: # chcon -t httpd_system_content_t /var/www/html/index.html
இணைப்பு லேபிளுடன் சூழல் கட்டளையை மாற்றவும்: # chcon --reference /var/www/html/ /var/www/html/index.html
சூழலை மீட்டமை (இரண்டு நிகழ்வுகளுக்கும்): # restorecon -vR /var/www/html/
17. என்றால் நீங்கள் தெரிந்து கொள்ள வேண்டிய SELinuxபோர்ட் 8585 இல் HTTPD கேட்கிறது என்று, SELinux க்கு சொல்லுங்கள்:
# semanage port -a -t http_port_t -p tcp 8585
18.நீங்கள் தெரிந்து கொள்ள வேண்டிய SELinux SELinux கொள்கை மேலெழுதப்படுவதை அறியாமல், SELinux கொள்கையின் பகுதிகளை இயக்க நேரத்தில் மாற்ற அனுமதிக்கும் பூலியன் மதிப்புகள். எடுத்துக்காட்டாக, httpd மின்னஞ்சல் அனுப்ப விரும்பினால், உள்ளிடவும்: # setsebool -P httpd_can_sendmail 1
19.நீங்கள் தெரிந்து கொள்ள வேண்டிய SELinux SELinux அமைப்புகளை இயக்க/முடக்குவதற்கான தருக்க மதிப்புகள்:
அனைத்து பூலியன் மதிப்புகளையும் பார்க்க: # getsebool -a
25. SELinux பிழை ஏற்பட்டால், பதிவைப் பயன்படுத்தவும் setroubleshoot பல சாத்தியமான தீர்வுகளை வழங்குகிறது.
உதாரணமாக, இருந்து journalctl:
Jun 14 19:41:07 web1 setroubleshoot: SELinux is preventing httpd from getattr access on the file /var/www/html/index.html. For complete message run: sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
# sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
SELinux is preventing httpd from getattr access on the file /var/www/html/index.html.
***** Plugin restorecon (99.5 confidence) suggests ************************
If you want to fix the label,
/var/www/html/index.html default label should be httpd_syscontent_t.
Then you can restorecon.
Do
# /sbin/restorecon -v /var/www/html/index.html
26. பதிவு செய்தல்: SELinux பல இடங்களில் தகவல்களை பதிவு செய்கிறது:
27. பதிவு செய்தல்: தணிக்கைப் பதிவில் SELinux பிழைகளைத் தேடுகிறது:
# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today
28. ஒரு குறிப்பிட்ட சேவைக்கான SELinux Access Vector Cache (AVC) செய்திகளைக் கண்டறிய:
# ausearch -m avc -c httpd
29. பயன்பாடு audit2allow தடைசெய்யப்பட்ட செயல்பாடுகளின் பதிவுகளிலிருந்து தகவல்களைச் சேகரித்து, SELinux அனுமதி கொள்கை விதிகளை உருவாக்குகிறது. உதாரணத்திற்கு:
அணுகல் ஏன் மறுக்கப்பட்டது என்பதற்கான மனிதனால் படிக்கக்கூடிய விளக்கத்தை உருவாக்க: # audit2allow -w -a
மறுக்கப்பட்ட அணுகலை அனுமதிக்கும் வகை அமலாக்க விதியைப் பார்க்க: # audit2allow -a
தனிப்பயன் தொகுதியை உருவாக்க: # audit2allow -a -M mypolicy
விருப்பம் -M குறிப்பிட்ட பெயருடன் ஒரு வகை அமலாக்க கோப்பை (.te) உருவாக்கி, கொள்கை தொகுப்பாக (.pp) விதியை தொகுக்கிறது: mypolicy.pp mypolicy.te