คำถามติดแท็ก selinux

NSA Security-Enhanced Linux (SELinux) คือการนำสถาปัตยกรรมการควบคุมการเข้าถึงบังคับที่ยืดหยุ่นมาใช้ในระบบปฏิบัติการ Linux

3
SElinux: อนุญาตให้ httpd เชื่อมต่อกับพอร์ตเฉพาะ
ระบบของฉันใช้งาน CentOS 6.4 ด้วย apache2.2.15 SElinux บังคับใช้และฉันพยายามเชื่อมต่อกับอินสแตนซ์ในพื้นที่ของ redis ผ่านแอพ python / wsgi ของฉัน ฉันได้รับข้อผิดพลาด 13 สิทธิ์ถูกปฏิเสธ ฉันสามารถแก้ไขได้ผ่านคำสั่ง: setsebool -P httpd_can_network_connect อย่างไรก็ตามฉันไม่ต้องการให้ httpd เชื่อมต่อกับพอร์ต tcp ทั้งหมดได้อย่างแน่นอน ฉันจะระบุพอร์ต http / เครือข่ายที่อนุญาตให้เชื่อมต่อได้อย่างไร ถ้าฉันสามารถสร้างโมดูลเพื่ออนุญาตให้ httpd เชื่อมต่อกับพอร์ต 6379 (redis) หรือ tcp ใด ๆ บน 127.0.0.1 นั่นจะเป็นสิ่งที่ดีกว่า ไม่แน่ใจว่าทำไมความหวาดระแวงของฉันถึงแข็งแรงมากในเรื่องนี้ แต่เฮ้ ... ใครรู้บ้าง

7
เหตุผลในการปิด / เปิดใช้งาน SELinux
ในบรรทัดของคำถามนี้ใน StackOverflow และฝูงชนที่แตกต่างอย่างสิ้นเชิงที่เรามีที่นี่ฉันสงสัยว่า: อะไรคือเหตุผลของคุณที่จะปิดการใช้งาน SELinux (สมมติว่าคนส่วนใหญ่ยังคงทำ)? คุณต้องการเปิดใช้งานหรือไม่ คุณเคยมีประสบการณ์ผิดปกติอะไรบ้างโดยออกจาก SELinux นอกเหนือจาก Oracle แล้วผู้ขายรายอื่น ๆ มีปัญหาในการสนับสนุนระบบที่เปิดใช้งาน SELinux หรือไม่ คำถามโบนัส: ทุกคนสามารถจัดการให้ Oracle ทำงานบน RHEL5 ด้วย SELinux ในการบังคับใช้โหมดเป้าหมายได้หรือไม่ ฉันหมายความว่าอย่างเข้มงวดจะยอดเยี่ยม แต่ฉันก็ยังทำได้ไม่ไกลนักดังนั้นให้อยู่กับเป้าหมายก่อน ;-)


2
ฉันจะให้ SELinux อนุญาต Apache และ Samba ในโฟลเดอร์เดียวกันได้อย่างไร
ในการกำหนดค่าฉันมีการตั้งค่าฉันต้องการอนุญาตให้ samba และ apache เข้าถึง / var / www ฉันสามารถตั้งค่าบริบทเพื่ออนุญาตการเข้าถึง samba แต่ httpd นั้นไม่สามารถเข้าถึงได้ การใช้ setenforce เป็น 0 ช่วยขจัดปัญหาดังนั้นฉันจึงรู้ว่ามันคือ SELinux นอกจากนี้: ฉันจะดูบริบทของโฟลเดอร์ได้อย่างไรและโฟลเดอร์สามารถมีหลายบริบทได้อย่างไร (CentOS)

6
ฉันจะอนุญาตการเชื่อมต่อ MySQL ผ่าน SELinux ได้อย่างไร
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 8 ปีที่ผ่านมา ฉันต้องการปล่อยให้ SELinux ทำงานบนเซิร์ฟเวอร์เพื่อความปลอดภัยที่เพิ่มขึ้นที่ถูกกล่าวหา ฉันมักจะปิดการใช้งาน SELinux เพื่อให้ทุกอย่างทำงาน ฉันจะบอก SELinux ให้อนุญาตการเชื่อมต่อ MySQL ได้อย่างไร สิ่งที่ฉันพบมากที่สุดในเอกสารคือบรรทัดนี้จาก mysql.com: หากคุณใช้งานภายใต้ Linux และเปิดใช้งาน Security-Enhanced Linux (SELinux) ตรวจสอบให้แน่ใจว่าคุณได้ปิดใช้งานการป้องกัน SELinux สำหรับกระบวนการ mysqld ว้าว ... มันมีประโยชน์จริงๆ
21 mysql  selinux 

8
พยายามที่จะ SSH ในคอมพิวเตอร์ระยะไกล แต่ยังคงขอรหัสผ่าน
พยายามที่จะ SSH ในคอมพิวเตอร์ระยะไกล แต่ยังคงขอรหัสผ่าน ฉันมีคอมพิวเตอร์จำนวนหนึ่งที่ใช้ SElinux และมีเพียงหนึ่งในนั้นเท่านั้นที่ให้ฉันใช้ ssh ได้โดยไม่ต้องใช้รหัสผ่าน ฉันทำ ssh-copy-id และฉันเห็นรหัสของฉันใน. ssh / authorized_keys ฉัน chmod 700 .ssh และ chmod 600 ไฟล์ทั้งหมดใน. / ssh/* หากฉันทำ ssh -v นี่คือผลลัพธ์ของฉัน: OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to wcmisdlin05 [10.52.208.224] …
18 linux  ssh  ssh-keys  selinux 

2
ฉันจะดูเนื้อหาของแพ็คเกจนโยบายของ SELinux ได้อย่างไร
ตามที่ชื่อกล่าวไว้ฉันจะดูเนื้อหาของแพ็คเกจนโยบายของ SELinux ได้อย่างไร ไฟล์ผลลัพธ์สิ้นสุดด้วย. ppp ฉันวิ่งบน CentOS 6 แต่ฉันเดาว่ามันเป็นแบบเดียวกับ distros "all" ตัวอย่างเช่น cp /usr/share/selinux/targeted/cobbler.pp.bz2 ~ bunzip2 cobbler.pp.bz2 MAGIC_SELINUX_CMD cobbler.pp

5
ทำไมเราต้องมี SELinux
ฉันไม่ทราบว่ามีการใช้งาน SELinux มากน้อยแค่ไหนและมันช่วยอะไรจากผู้โจมตีได้บ้าง ฉันได้ไปที่เว็บไซต์ของ SELinux แล้วอ่านขั้นพื้นฐาน แต่ก็ยังไม่ได้รับเบาะแสเกี่ยวกับ SELinux สำหรับระบบ Linux ที่มีเชลล์ SSH, Apache front, เว็บแอพพลิเคชั่นตามบทบาท, ฐานข้อมูล MySQL, memcached, เกือบทุกระบบได้รับการป้องกันด้วยรหัสผ่านแล้วทำไมเราถึงต้องใช้ SELinux?

2
ข้อผิดพลาด SElinux: ValueError: พอร์ต tcp / 5000 กำหนดไว้แล้ว
ฉันพยายามเพิ่มข้อยกเว้นใน SELinux สำหรับ apache บนพอร์ต 5000 ดังนั้นฉันจึงใช้คำสั่ง: # semanage port -a -t http_port_t -p tcp 5000 แต่กลับข้อผิดพลาด ValueError: Port tcp/5000 already defined ฉันพยายามตรวจสอบว่าเป็นเช่นนั้นด้วยคำสั่ง: semanage port -l |grep 5000 ซึ่งให้ผลลัพธ์ http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000 อย่างที่คุณเห็น 5,000 ไม่อยู่ในรายการ มีอะไรที่ชัดเจนว่าฉันหายไปหรือไม่ ขอบคุณล่วงหน้าสำหรับความพยายามของคุณ ดังนั้นฉันจึงพบว่าบริการอื่นมีสถานะที่กำหนดไว้สำหรับพอร์ต TCP 5000 แต่ด้วยการแทนที่-aตัวเลือกด้วย-mสำหรับการแก้ไขเพิ่มพอร์ต tcp 5000 …
13 port  httpd  selinux 

1
วิธีการเปิดใช้งาน SELinux ภายในคอนเทนเนอร์ CentOS Docker
ฉันพยายามติดตั้ง SELinux ภายในคอนเทนเนอร์ Docker เพื่อแจกจ่ายแอปพลิเคชันที่ใช้ SELinux ภายใน อิมเมจ CentOS เริ่มต้นไม่มีการติดตั้ง SELinux: $ docker run -it centos:latest /bin/bash [root@38ae5a98273d /]# sestatus bash: sestatus: command not found หลังจากติดตั้งจาก yum แล้ว SELinux ยังไม่เปิดใช้งาน [root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted ... [root@38ae5a98273d /]# sestatus SELinux status: disabled เอกสารทั้งหมดที่ฉันพบพบว่าคุณต้องออกระบบรีบูตเพื่อติดตั้ง อย่างไรก็ตามฉันไม่ทราบวิธีการจำลองการบูตระบบภายในคอนเทนเนอร์ Docker เราจะติดตั้งและเปิดใช้งาน SELinux ภายในคอนเทนเนอร์ได้อย่างไร
13 centos  docker  selinux 

3
SELinux ป้องกัน Apache ไม่ให้เขียนไฟล์
SELinux ป้องกันapacheผู้ใช้จากการเขียนไปยังล็อกไฟล์ที่เป็นเจ้าของ เมื่อฉันsetenforce 0ทำงานมัน มิฉะนั้นจะแสดงข้อผิดพลาดนี้ IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log' บริบทความปลอดภัยของไฟล์: $ ll -Z k.log -rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log ไฟล์ถูกสร้างขึ้นเมื่อตั้งโหมด SELinux เป็นแบบอนุญาต วิธีการตั้งค่าบริบทความปลอดภัยเพื่อให้apacheผู้ใช้สามารถเขียนในไดเรกทอรีนั้นได้อย่างไร ฉันตั้งค่าบริบทความปลอดภัยของไดเรกทอรีนั้นโดยใช้chconแต่ฉันไม่พบไฟล์ประเภทที่เหมาะสม จากaudit.log: type=AVC msg=audit(1409945481.163:1561): avc: denied { append } for pid=16862 comm="httpd" name="k.log" dev="dm-1" ino=201614333 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=file type=SYSCALL msg=audit(1409945481.163:1561): arch=c000003e syscall=2 success=no exit=-13 a0=7fa8080847a0 …

1
SELinux รีเซ็ตรหัสผ่านรูท
คำเตือน: คำถามนี้ไม่ได้ที่จะแก้ปัญหาของการเปลี่ยนรหัสผ่านรูทในขณะที่ SELinux เปิดใช้งานอยู่เพราะมีคำแนะนำมากมายที่จะแก้ปัญหานี้ นี่เป็นวิธีที่ SELinux ทำภายในองค์กร ฉันเป็นผู้ใช้ล่าสุดของ SELinux แต่เมื่อเร็ว ๆ นี้ฉันได้ติดต่อกับมันมากขึ้น มีบางครั้งที่มีคนถามฉันว่าฉันสามารถรีเซ็ตรหัสผ่านรูทได้อย่างไรในกรณีที่ลืม ดังนั้นฉันจึงบูท CentOS ของฉันแก้ไขรายการด้วงให้เป็นเช่นนั้น linux16 <kernel_location> root=/dev/mapper/centos-root rw init=/bin/bash ฉันวิ่งpasswdแล้วก็วิ่งsyncและบังคับให้รีบูต หลังจากรีบูตการเข้าสู่ระบบด้วยรหัสผ่านใหม่ถูกปฏิเสธเช่นเดียวกับของเก่าแน่นอน รีบูทอีกครั้งและส่งผ่านเคอร์เนลพารามิเตอร์เพื่อปิดการใช้งาน SELinux ( selinux=0) พยายามลงชื่อเข้าใช้ด้วยรหัสผ่านใหม่และใช้งานได้ หลังจากนั้นฉันบังคับ fs auto relabel (ผ่านไฟล์.autorelabel) และด้วย SELinux active ตอนนี้มันเป็นไปได้ที่จะเข้าสู่ระบบ คำถามของฉันคือ: ทำไมจะเกิดขึ้น? ทำไมการติดฉลากซ้ำจึงมีผลต่อการล็อกอินเมื่อมีการเปลี่ยนรหัสผ่านไม่ใช่ของผู้ใช้หรือวัตถุ? ขอขอบคุณสำหรับความสนใจของคุณ. TL; DR: การรีเซ็ตรหัสผ่านรูทปกติไม่สามารถใช้งานได้ใน SELinux ทำไม? แก้ไข: สิ่งนี้ได้รับการทดสอบบนเครื่องเสมือนที่รัน CentOS7 ด้วย …

2
ไฟล์. autorelabel ทำอะไรใน Linux
อะไร.autorelabelไฟล์อยู่ที่รากไฟล์/ทำในลินุกซ์? ฉันรู้ว่ามันเกี่ยวข้องกับ SELinux แต่ฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับสิ่งที่มันทำ ฉันใช้ CentOS 6 ขอบคุณล่วงหน้า.
12 linux  centos  selinux 

1
ฉันจะกำหนดฉลาก SELinux ให้กับ symlink ด้วย semanage ได้อย่างไรเพื่อคงอยู่หลังจาก relabel
apache DocumentRoot / var / www ของฉันเป็นลิงก์สัญลักษณ์ไปยังพา ธ อื่น เป้าหมายมีเลเบลบริบทไฟล์ที่เหมาะสม (httpd_sys_content_t) เพื่อให้ apache สามารถอ่านได้โดยเปิดใช้งาน SELinux อย่างไรก็ตามลิงก์สัญลักษณ์นั้นมีป้ายกำกับด้วย var_t [root@localhost var]# ls -lZ lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www ฉันต้องการติดตั้งลิงก์สัญลักษณ์ใหม่ด้วย httpd_sys_content_t การรัน chcon ด้วยตัวเลือก -h ในตอนแรกดูเหมือนว่าจะทำงาน: [root@localhost var]# chcon -h -t httpd_sys_content_t /var/www [root@localhost var]# ls -lZ lrwxrwxrwx. root root unconfined_u:object_r:httpd_sys_content_t:s0 …

3
ตัวอย่างความปลอดภัยของ SELinux ในชีวิตจริง
ทุกคนสามารถให้ตัวอย่างชีวิตจริงของที่ SELinux บันทึกเบคอนความปลอดภัยได้หรือไม่ (หรือ AppArmour หากคุณต้องการ) หากไม่ใช่ของคุณตัวชี้ไปยังคนที่มีประสบการณ์ที่น่าเชื่อถือ? ไม่ใช่การทดสอบในห้องปฏิบัติการไม่ใช่กระดาษสีขาวไม่ใช่วิธีปฏิบัติที่ดีที่สุดไม่ใช่คำแนะนำ CERT แต่เป็นตัวอย่างจริงบางอย่างเช่น audit2 เมื่อแสดงความพยายามแฮ็คจริง ๆ หยุดทำงานในเส้นทางของมันหรือไม่ (หากคุณไม่มีตัวอย่างโปรดเก็บความเห็นไว้ในความคิดเห็นแทนคำตอบ) ขอบคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.