Score:1

ผู้ใช้ที่ไม่ใช่รูทสามารถฟังพอร์ตสิทธิพิเศษได้อย่างไร

ธง jo

ฉันควรจะได้รับข้อยกเว้นการผูกแทนที่จะผูกกับพอร์ตสิทธิ์

% docker run --rm -u ไม่มีใคร alpine nc -l 0.0.0.0 443
% นักเทียบท่า exec -it b2b471d05398 sh
~ รหัส $
uid=65534(ไม่มีใคร) gid=65534(ไม่มีใคร)
~ $ ปล
คำสั่งเวลาผู้ใช้ PID
    1 ไม่มีใคร 0:00 nc -l 0.0.0.0 443
    8 ไม่มีใคร 00:00 น
   15 ไม่มีใคร 00:00 น
~ $ %

แม้จะพยายามด้วยวิธีอื่นด้วยการสร้าง ไฟล์นักเทียบท่า

จากหลาม: ล่าสุด
คัดลอก index.html /
เปิดเผย 80
USER ไม่มีใคร
CMD python -m http.server 80
การทดสอบนักเทียบท่า build -t
docker run --rm -u ไม่มีใครทดสอบ
~ % นักเทียบท่า ps
รหัสคอนเทนเนอร์ IMAGE คำสั่งสร้างสถานะชื่อพอร์ต
b40c6c33a187 ทดสอบ "/bin/sh -c 'python â¦" 28 วินาทีที่แล้ว ขึ้น 27 วินาที 80/tcp practice_lumiere

ลองอันนี้ด้วย แต่ก็ยังสามารถผูกพอร์ตน้อยกว่า 1024

นักเทียบท่าเรียกใช้ --rm -u ไม่มีใคร --cap-drop=SETUID --cap-drop=NET_BIND_SERVICE --cap-drop=SETFCAP --cap-drop=NET_RAW อัลไพน์ nc -l 0.0.0.0 443
Score:2
ธง de

พารามิเตอร์การปรับแต่งเคอร์เนลเริ่มต้น net.ipv4.ip_unprivileged_port_start สำหรับคอนเทนเนอร์ถูกตั้งค่าเป็น 0 ซึ่งทำให้พอร์ตทั้งหมดในคอนเทนเนอร์นักเทียบท่าไม่มีสิทธิพิเศษ

กระบวนการทั้งหมดภายในคอนเทนเนอร์สามารถเชื่อมโยงกับพอร์ตใดก็ได้ (ของคอนเทนเนอร์) แม้ว่าจะเป็นผู้ใช้ที่ไม่มีสิทธิพิเศษก็ตาม

เกี่ยวกับการเปิดเผยพอร์ตที่มีสิทธิพิเศษในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษบนโฮสต์ OS โปรดดู https://docs.docker.com/engine/security/rootless/#exposing-privileged-ports

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา