ผู้ดูแลเซิร์ฟเวอร์

คำถาม & คำตอบสำหรับผู้ดูแลระบบและเครือข่าย

14
ปัญหาในการใช้ Fedora สำหรับเซิร์ฟเวอร์คืออะไร
ฉันใช้ Fedora เพื่อโฮสต์เซิร์ฟเวอร์หลายครั้ง ฉันไม่เคยประสบปัญหาใด ๆ ผู้ใช้ใหม่ทั้งหมดยังมาและบอกว่า Fedora ไม่ปลอดภัย เราควรใช้ Ubuntu / CentOS หรือการกระจายอื่น ๆ แต่ไม่ใช่ Fedora ฉันไม่เคยเข้าใจว่า Fedora มีปัญหาอะไร สิ่งที่ทำให้การกระจายอื่น ๆ มีความปลอดภัยมากขึ้น ไม่กี่จุด: 1. Fedora มาพร้อมกับ iptables ที่กำหนดค่าให้อนุญาต SSH เท่านั้น นอกจากนี้เรายังสามารถกำหนดค่า iptables เพื่อป้องกัน SSH ได้หากต้องการ ดังนั้นจึงไม่มีไฟร์วอลล์สั้น ๆ Fedora ปล่อยการอัพเดทอย่างสม่ำเสมอ (ทั้งความปลอดภัยและแพตช์ทั่วไป) ผู้คนบอกว่า distro X เปิดตัวเวอร์ชั่นใหม่หนึ่งครั้งใน 5 ปีและ Fedora หนึ่งครั้งใน 6 เดือน …
17 fedora  linux 

6
วิธีกำหนดค่า vsftpd เพื่ออนุญาตการเข้าสู่ระบบรูท?
ฉันใช้ SLES 10.1 และพยายามกำหนดค่า vsftpd เพื่ออนุญาตการลงชื่อเข้าใช้รูท ไม่มีใครรู้วิธีการทำเช่นนี้? จนถึงตอนนี้ฉันมีสิ่งนี้: local_enable=YES chroot_local_user=NO userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd.users และฉันได้เพิ่มรูทลงใน /etc/vsftpd.users เมื่อฉันพยายามเข้าสู่ระบบนี่คือสิ่งที่ฉันได้รับ: $ ftp susebox เชื่อมต่อกับ susebox.example.com เซิร์ฟเวอร์ 220-FTP (ผู้ใช้ 'me@example.com') 220 ผู้ใช้ (susebox.example.com:( ไม่มี)): รูท 331-รหัสผ่าน: 331 รหัสผ่าน: การเชื่อมต่อถูกปิดโดยโฮสต์ระยะไกล C: \> BTW หากคุณไม่ทราบคำตอบโปรดอย่าไปบรรยายให้ฉันฟังเกี่ยวกับวิธีที่ฉันไม่ควรอนุญาตให้เข้าสู่ระบบรูท ฉันรู้ว่าฉันกำลังทำอะไรและฉันยอมรับความรับผิดชอบเต็มที่สำหรับความร้าวฉานใด ๆ ในการต่อเนื่องของเวลาว่างที่อาจส่งผล
17 security  login  root  ftp  sles 

8
DNS: โดเมนย่อยที่ต้องใช้ทั้ง MX Record และ CNAME
ให้เราบอกว่าเราเป็นเจ้าของโซน mywebservice.com ฉันต้องการให้ลูกค้าของฉันแต่ละคนได้รับโดเมนย่อยของตัวเองเช่น customer.mywebservice.com customer.mywebservice.com ต้องเป็น CNAME ไปยังเซิร์ฟเวอร์ที่ระบุนอกสถานที่ เนื่องจากไซต์นั้นจัดการอุปกรณ์ของตนเองและสามารถเปลี่ยนที่อยู่ได้ทุกเวลา CNAME จึงเป็นข้อกำหนด ผู้คนต้องสามารถส่งอีเมลไปที่ inbox@customer.mywebservice.com ซึ่งจะต้องมีระเบียน MX แบบง่าย อย่างไรก็ตามและนี่คือที่ที่ฉันต้องการคำแนะนำ: ตามที่RFC 1034 : If a CNAME RR is present at a node, no other data should be present; this ensures that the data for a canonical name and its aliases cannot be different. …

6
การรักษาความปลอดภัย SuperMicro IPMI BMC
เมื่อเร็ว ๆ นี้ฉันได้รับมาเธอร์บอร์ด SuperMicro X8DTU-F ซึ่งมี BMC ในตัวซึ่งโดยทั่วไปใช้งานระบบ IPMI ดูเหมือนจะเป็นระบบ Linux ขนาดเล็กที่ทำงานบนโปรเซสเซอร์ ARM น่าเสียดายที่มันใช้งานซอฟแวร์จำนวนมากซึ่งส่วนใหญ่ฉันไม่ต้องการและฉันไม่มีความสามารถในการวางไฟร์วอลล์ไว้ด้านหลัง อย่างไรก็ตามฉันต้องการฟังก์ชั่น IPMI ใครบ้างที่เคยใช้สิ่งเหล่านี้มีคำแนะนำเฉพาะเกี่ยวกับการรักษาความปลอดภัยของสิ่งนั้นหรือไม่? มันบูทจากสิ่งที่เป็นระบบไฟล์ ROM และดูเหมือนจะไม่มีตะขอใด ๆ ที่จะปิดเซิร์ฟเวอร์ต่าง ๆ ที่รัน .... ฉันยังสนใจที่จะตรวจสอบรายชื่อและรหัสผ่านที่สามารถใช้เพื่อเข้าถึงระบบผ่านบริการต่าง ๆ ทั้งหมด ค่าเริ่มต้นคือADMIN/ ADMINแต่ไม่มีไฟล์ใดใน / conf หรือ / etc ที่มี 'ADMIN' อยู่ในไฟล์ซึ่งค่อนข้างทำให้ฉันเป็นกังวล มี/conf/shadowและ/conf/webshadowไฟล์พร้อมรหัส 'ทดสอบ' ลึกลับในตัวพวกเขาซึ่งไม่ทำให้ฉันรู้สึกสบายใจเป็นพิเศษเช่นกัน

4
โดเมนที่ชี้ไปยังที่อยู่ IP ผิด แต่ดูเหมือนว่าระเบียน DNS ถูกต้อง
http://www.example.comชี้ไปยังที่อยู่ IP ของเซิร์ฟเวอร์ที่โฮสต์ไซต์อย่างถูกต้อง http://example.com (สังเกตการขาด www) ชี้ไปยังที่อยู่ IP อื่น ระเบียน DNS สำหรับโดเมนนั้นไม่มีการอ้างอิงไปยังที่อยู่ IP ต่างประเทศนี้ - สิ่งที่อาจทำให้เกิดปัญหานี้?

3
การโคลนเครื่องเสมือนบน Azure รักษาที่มีอยู่
ดูเหมือนจะไม่มีคำตอบแบบตรงทางออนไลน์เกี่ยวกับเรื่องนี้ ฉันมีเครื่องเสมือนที่มีอยู่บน Azure และฉันต้องการโคลนไปยังภูมิภาคอื่นในกรณีที่เซิร์ฟเวอร์ที่มีอยู่ของฉันล่ม มันต้องเป็นแบบจำลองที่แน่นอน แต่ทั้งหมดที่ฉันพบคือการย้ายเครื่องเสมือนไม่ใช่การโคลน ฉันคิดว่าคุณไม่สามารถทำโคลนนิ่งบางประเภทได้เนื่องจากชื่อคอมพิวเตอร์ไม่เหมือนกันสำหรับ VM มีบทความที่ดีเกี่ยวกับสิ่งที่ต้องทำหรือฉันควรเริ่มต้นจากศูนย์และสร้างเครื่องเสมือนอีกครั้งพยายามทำซ้ำสิ่งที่ฉันมีอยู่แล้ว?

4
Systemd: รีสตาร์ทอินสแตนซ์ทั้งหมดของบริการอินสแตนซ์ทั้งหมดในครั้งเดียว
ฉันใช้ฟีเจอร์ที่ดีของ systemd: บริการอินสแตนซ์ มีวิธีง่าย ๆ ในการโหลดบริการอินสแตนซ์ทั้งหมดด้วยการโทรเพียงครั้งเดียวหรือไม่? ตัวอย่าง: ฉันไม่ต้องการเรียกใช้ทั้งหมดเช่นนี้: systemctl restart autossh@foo systemctl restart autossh@bar systemctl restart autossh@blu ฉันลองสิ่งนี้ แต่มันใช้ไม่ได้ systemctl restart autossh@* เกี่ยวข้อง: เริ่มต้นกระบวนการ N ด้วยหนึ่งไฟล์ systemd service ปรับปรุง ก่อนอื่นฉันรู้สึกประทับใจกับบริการที่ทำให้เข้าใจได้ แต่หลังจากนั้นฉันก็รู้ว่าการใช้เครื่องมือจัดการการกำหนดค่าเช่น Ansible เหมาะสมกว่า ฉันเรียนรู้: ทำให้เครื่องมือง่ายขึ้น เครื่องมือมากมายเริ่มใช้การตรวจสอบเงื่อนไข (ถ้า .. .. อื่น ๆ ) และวนซ้ำ ตัวอย่างเช่น webservers หรือ mailserver congfiguration แต่สิ่งนี้ควรได้รับการแก้ไขในระดับที่แตกต่าง (บน): …
17 systemd 

4
ตัวเลือกคำสั่ง SSH authorized_keys: หลายคำสั่ง?
authorized_keys มีตัวเลือก command = "... " ที่ จำกัด คีย์ไว้ที่คำสั่งเดียว มีวิธี จำกัด คีย์ให้กับหลายคำสั่งหรือไม่? เช่นโดยมี regex ที่นั่นหรือแก้ไขไฟล์การกำหนดค่าอื่น ๆ ?
17 ssh  command 

2
แก้ไขหน้า HTML ที่ส่งคืนโดยพร็อกซีย้อนกลับ nginx
ฉันมีการตั้งค่าพร็อกซีย้อนกลับสำหรับการเข้าถึงแอปพลิเคชันบุคคลที่สามที่อยู่ภายในอินทราเน็ตจากอินเทอร์เน็ต สมมติว่าแอปพลิเคชันนี้อยู่ใน URL: https://internalserver:8080/ (เข้าถึงได้จากอินทราเน็ตเท่านั้น) และพร็อกซีเปิดอยู่: https://proxyserver/ (เข้าถึงได้จากทุกที่ในโลก) พรอกซีได้รับการจัดการโดย nginx และใช้งานได้ เมื่อผู้ใช้เข้าถึงhttps://proxyserver/ พวกเขาได้รับเนื้อหาของ app https://internalserver:8080/ที่ ปัญหาคือว่าการประยุกต์ใช้คือการเขียน URL ที่สมบูรณ์ในการตอบสนองของ HTML ดังนั้นเมื่อผู้ใช้คลิกลิงก์ไปยังหน้าใหม่เบราว์เซอร์ที่มีการพยายามที่จะหาหน้าเว็บที่มีชื่อภายในของตนเช่น แทนhttps://internalserver:8080/somepage https://proxyserver/somepage ฉันรู้ว่านี่เป็นข้อบกพร่องของโปรแกรม แต่ฉันไม่สามารถแก้ไขโปรแกรมได้ ฉันสามารถสกัดกั้นการตอบสนองแก้ไข URL และส่ง (แก้ไข) ไปยังไคลเอนต์สุดท้ายด้วย nginx ได้หรือไม่ หรืออาจจะด้วยเครื่องมืออื่น? แก้ไข:ฉันเห็นคำถามนี้มาก่อน แต่กรณีของฉันเฉพาะเจาะจงมากขึ้นคำถามที่ยกมาขอให้แก้ไขโดยทั่วไป ในกรณีนั้นโปรแกรม ad-cgi ที่รวดเร็วเป็นทางออกที่ดีที่สุดสิ่งที่ฉันต้องการคือโซลูชันที่เฉพาะเจาะจงมากขึ้นสำหรับ (ฉันคิดว่า) เป็นสถานการณ์ที่พบบ่อยมากขึ้น ในขณะที่โปรแกรม cgi ที่รวดเร็วสามารถทำงานได้ฉันกำลังมองหาสิ่งที่ง่ายที่สุดและแข็งแกร่งขึ้นและอาจพิสูจน์ได้ในโลกแห่งความเป็นจริงทางออกสำหรับสถานการณ์นี้

2
nginx แยกไฟล์การตั้งค่าขนาดใหญ่
ไฟล์การกำหนดค่าเริ่มต้นของ nginx ของฉันมีขนาดใหญ่มาก ฉันต้องการแยกให้เป็นไฟล์กำหนดค่าที่มีขนาดเล็กลงโดยแต่ละแห่งมีเพียงหนึ่งที่ตั้งสูงสุด 4 แห่งในแต่ละไฟล์เพื่อให้ฉันสามารถเปิด / ปิดใช้งานได้อย่างรวดเร็ว ไฟล์จริงมีลักษณะดังนี้: server { listen 80 default_server; root /var/www/ location /1 { config info...; } location /2 { config info....; } location /abc { proxy_pass...; } location /xyz { fastcgi_pass....; } location /5678ab { config info...; } location /admin { config info....; } …

7
วิธีการดึงไฟล์หลายไฟล์จากเครื่องระยะไกลไปยังท้องถิ่นด้วย Ansible
ฉันต้องการคัดลอกไฟล์จากรีโมตไดเร็กทอรีไปยังโลคัลไดเร็กทอรีด้วย Ansible แต่โมดูลการดึงข้อมูลช่วยให้ฉันสามารถคัดลอกไฟล์เดียวเท่านั้น ฉันมีเซิร์ฟเวอร์จำนวนมากที่ฉันต้องการไฟล์ (ไดเรกทอรีเดียวกันแต่ละเซิร์ฟเวอร์) และตอนนี้ฉันไม่สามารถทำได้ด้วย Ansible ความคิดใด ๆ
17 linux  copy  ansible 

3
บล็อกทั้งหมดยกเว้น ips เล็กน้อยด้วย firewalld
บนเครื่องเครือข่าย linux ฉันต้องการ จำกัด ชุดที่อยู่ในโซน "สาธารณะ" (แนวคิดไฟร์วอลล์) ที่ได้รับอนุญาตให้เข้าถึงได้ ดังนั้นผลลัพธ์ที่ได้ก็คือไม่มีเครื่องอื่นใดที่สามารถเข้าถึงพอร์ตหรือโปรโตคอลใด ๆ ยกเว้นที่ได้รับอนุญาตอย่างชัดเจนซึ่งเป็นการจัดเรียงของการผสมผสาน --add-rich-rule='rule family="ipv4" source not address="192.168.56.120" drop' --add-rich-rule='rule family="ipv4" source not address="192.168.56.105" drop' ปัญหาข้างต้นคือว่านี่ไม่ใช่รายการจริงมันจะปิดกั้นทุกอย่างเนื่องจากถ้าที่อยู่ของมันถูกบล็อกโดยไม่เหมือนกับที่อื่น ๆ สร้างผลกระทบ "ปล่อยทั้งหมด" โดยบังเอิญฉันจะ "ปลดบล็อก" เฉพาะที่ไม่ใช่ ชุดต่อเนื่องกันไหม แหล่งที่มายอมรับรายการที่อยู่หรือไม่ ฉันไม่เห็นอะไรเลยในเอกสารของฉันหรือผลลัพธ์ของ google แก้ไข: ฉันเพิ่งสร้างสิ่งนี้: # firewall-cmd --zone=encrypt --list-all encrypt (active) interfaces: eth1 sources: 192.168.56.120 services: ssh ports: 6000/tcp …

2
วิธีการเชื่อมต่อกับเซิร์ฟเวอร์ mongodb ผ่านทาง ssh tunnel
มันง่ายสำหรับฉันที่จะเชื่อมต่อกับเซิร์ฟเวอร์ mysql ระยะไกลของฉันบน AWS โดยใช้ภาคต่อแต่ฉันพยายามทำสิ่งเดียวกันกับ MongoDB ฉันพยายามตั้งค่า ssh tunnel ผ่าน command line ดังนี้: ssh -fN -l root -i path/to/id_rsa -L 9999:host.com:27017 host.com ฉันยังลองเปลี่ยนโฮสต์ด้วยที่อยู่ IP ความคิดคือการส่งต่อการเชื่อมต่อ MongoDB ทั้งหมดบนพอร์ต 9999 ไปยังหนึ่งในโฮสต์บนพอร์ต 27,101 .. อย่างไรก็ตามเมื่อฉันเรียกใช้คำสั่ง: mongo --host localhost --port 9999 การเชื่อมต่อล้มเหลวฉันได้รับสิ่งนี้แทน: MongoDB shell version: 2.6.0 connecting to: localhost:9999/test channel 2: open failed: connect …

10
SSH: การอนุญาตถูกปฏิเสธ (publickey, gssapi-with-mic, รหัสผ่าน)
================================================== ================== ปรับปรุง: มันเปิดใช้งานการกำหนดค่าของ sshd บนhost2จะไม่อนุญาตให้เข้าสู่ระบบด้วยรหัสผ่าน ขอบคุณผู้คนตอบคำถามนี้ ================================================== ================== สถานการณ์จำลอง: การทำงานกับ บริษัท สำหรับโครงการวิทยาลัยของฉัน ฉันต้องใช้ PuTTy เพื่อ SSH เป็นhost1อันดับแรกและจากนั้นก็เข้าสู่ SSH host2(ดูด้านล่าง) ฉันได้รับชื่อผู้ใช้และรหัสผ่านใน host2 ฉันไม่ได้มีการเข้าถึง host2 sshd_configที่ทุกคนดังนั้นผมจึงมีความรู้ไม่มัน นี่คือสิ่งที่เกิดขึ้นเมื่อฉันพยายามที่จะ SSH host2จากhost1: ff@host1:~$ ssh -v host2 OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007 debug1: Reading configuration data /home/ff/.ssh/config debug1: Applying options for * debug1: …
17 ssh  ssh-agent 

1
ผู้ใช้ rdsadmin คืออะไรและฉันควรดูแล?
ฉันได้รับการควบคุมอินสแตนซ์ AWS MySQL RDS ฉันอยากรู้ว่าผู้ใช้ 'rdsadmin' คืออะไรและควรรู้รหัสผ่านสำหรับสิ่งนี้หรือไม่ว่าจะใช้โดย Amazon Web Console อย่างแท้จริงหรือไม่

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