Score:1

Tomcat 9 บนพอร์ต 443 ทำงานกับรูทเท่านั้นซึ่งอาจเป็นอันตรายได้

ธง bw

หลังจากอ่านบทความเกี่ยวกับ serverfault.com หลายครั้ง ฉันกำหนดค่า Tomcat 9 บนพอร์ต 443 สำเร็จแล้ว

แต่ปัญหาคือ 443 เป็นพอร์ตที่มีสิทธิพิเศษซึ่งฉันได้เพิ่มผู้ใช้รูทไว้ด้านล่าง tomcat.service แต่ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไรเพราะฉันต้องการให้สิทธิ์แก่ผู้ใช้ Tomcat สำหรับบริการเดียวเท่านั้น ฉันหวังว่าคุณจะเข้าใจปัญหาของฉันและจะแนะนำคำตอบที่ดีที่สุด

เป็นกลุ่ม /etc/systemd/system/tomcat.service


[หน่วย]
คำอธิบาย=คอนเทนเนอร์เซิร์ฟเล็ต Tomcat 9
หลังจาก = network.target

[บริการ]
ประเภท = ส้อม



############## ฉันเพิ่มผู้ใช้ root ที่นี่ ##########################
**ผู้ใช้=รูท
Group=รูท**

สภาพแวดล้อม = "JAVA_HOME = / usr / lib / jvm / jre"
สภาพแวดล้อม = "JAVA_OPTS = -Djava.security.egd=file:///dev/urandom"

สภาพแวดล้อม = "CATALINA_BASE=/opt/tomcat/ล่าสุด"
สภาพแวดล้อม="CATALINA_HOME=/opt/tomcat/latest"
สภาพแวดล้อม = "CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
สภาพแวดล้อม = "CATALINA_OPTS = -Xms512M -Xmx1024M -เซิร์ฟเวอร์ -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[ติดตั้ง]
WantedBy=multi-user.target
vidarlo avatar
ar flag
คุณอาจต้องการดูเช่น https://unix.stackexchange.com/questions/187726/how-do-daemons-like-apache-or-bind-open-ports-below-1024
bw flag
มีข้อ จำกัด มากและมีคำตอบที่ไม่สมบูรณ์เนื่องจากฉันอ่านบทความแล้วว่าทำไมจึงเขียนบทความอื่นเพื่อขอคำแนะนำและแนวทางแก้ไขที่สมบูรณ์
bw flag
ทุกคนสามารถตอบกลับการรอนี้
jm flag
เหตุใดการใช้ความสามารถของรูทจึงใช้ไม่ได้กับสถานการณ์ของคุณ
jm flag
นอกจากนี้ยังมี [การกำหนดค่า Tomcat 9 สำหรับพอร์ต 443](https://serverfault.com/questions/969191/tomcat-9-configuration-for-port-443?rq=1)
bw flag
ไม่ทำงานเลย ฉันลองทุกวิธีข้างต้นตั้งแต่ 5 วันแล้ว แต่ไม่มีโชคเลย
bw flag
Tomcat 9 Service ทำงานได้ดีกับผู้ใช้ Tomcat และ Group Tomcat แต่ปัญหาคือพอร์ต Tomcat 443 ไม่เปิดขึ้น แต่เมื่อฉันเพิ่มรูทพอร์ตจะเปิดขึ้น
bw flag
https://superuser.com/questions/710253/allow-non-root-process-to-bind-to-port-80-and-443 นี่คือ url ที่ฉันต้องการ แต่นี่ยังเป็นคำตอบที่ไม่สมบูรณ์ ใครก็ได้โปรดชี้แนะด้วย โดยละเอียดว่าฉันสามารถใช้ net_cap สำหรับ Tomcat 443 ได้อย่างไร
Score:1
ธง cz

คุณสามารถรัน Tomcat (หรืออะไรก็ได้) แบบไม่ใช่รูทและยังคงผูกกับพอร์ตระบบได้ หากคุณให้ชุดความสามารถ CAP_NET_BIND_SERVICE คุณสามารถทำได้ในหน่วย systemd ของคุณโดยเพิ่ม ความสามารถรอบด้าน= ใน [บริการ] ส่วน:

AmbientCapabilities=CAP_NET_BIND_SERVICE

แน่นอนคุณจะต้องลบออกด้วย ผู้ใช้= และ กลุ่ม=.

คุณควรพิจารณาใช้ NoNewPrivileges=จริง เพื่อจำกัดไม่ให้แอปเพิ่มสิทธิ์

bw flag
ชื่นชม ! เรียน ไมเคิล แฮมป์ตัน หลังจากทำตามคำแนะนำของคุณแล้ว ปัญหาของฉันได้รับการแก้ไขแล้ว ฉันอยากจะขอบคุณที่เข้าใจปัญหาของฉันและความทุ่มเทของคุณสำหรับปัญหาดังกล่าว ขอบคุณมาก.
Michael Hampton avatar
cz flag
@Noor ขอบคุณ! คุณสามารถทำเครื่องหมายว่าแก้ไขแล้วโดยคลิกโครงร่างของเครื่องหมายถูกเพื่อให้เปลี่ยนเป็นสีเขียวทึบ

โพสต์คำตอบ

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