ฉันได้เตรียมโพสต์นี้สำหรับ บล็อคของฉัน บางครั้งพวกเขาแนะนำให้ฉันเข้ามา DesdeLinuxและเนื่องจากไม่มีเวลาเขาจึงไม่สามารถหรือเต็มใจได้ ถ้าฉันค่อนข้างขี้เกียจ ????. แต่ตอนนี้พวกเขาถูกนัดหยุดงานอย่างที่เราพูดในคิวบา ...
0- อัปเดตระบบของเราอยู่เสมอด้วยการอัปเดตความปลอดภัยล่าสุด
0.1- การอัปเดตที่สำคัญรายการส่งเมล [ที่ปรึกษาด้านความปลอดภัย Slackware, ที่ปรึกษาด้านความปลอดภัย Debianในกรณีของฉัน]
1- การเข้าถึงเซิร์ฟเวอร์เป็นศูนย์โดยบุคลากรที่ไม่ได้รับอนุญาต
1.1- ใช้รหัสผ่านกับ ไบออส ของเซิร์ฟเวอร์ของเรา
1.2- ไม่ต้องบูตด้วยซีดี / ดีวีดี
1.3- รหัสผ่านใน GRUB / Lilo
2- นโยบายรหัสผ่านที่ดีอักขระที่เป็นตัวเลขและตัวอักษรและอื่น ๆ
2.1- อายุของรหัสผ่าน [Password Aging] ด้วยคำสั่ง“ chage” ตลอดจนจำนวนวันระหว่างการเปลี่ยนรหัสผ่านและวันที่เปลี่ยนล่าสุด
2.2- หลีกเลี่ยงการใช้รหัสผ่านก่อนหน้านี้:
ใน /etc/pam.d/common-password
password sufficient pam_unix.so use_auth ok md5 shadow remember 10
นี่คือวิธีที่คุณเปลี่ยนรหัสผ่านและจะเตือนคุณถึง 10 รหัสผ่านล่าสุดที่ผู้ใช้มี
3- นโยบายการจัดการ / การแบ่งกลุ่มที่ดีของเครือข่ายของเรา [เราเตอร์สวิตช์ vlans] และไฟร์วอลล์ตลอดจนการกรองกฎ INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]
4- เปิดใช้งานการใช้เชลล์ [/ etc /hells] ผู้ใช้ที่ไม่ต้องล็อกอินเข้าสู่ระบบ get / bin / false หรือ / bin / nologin
5- บล็อกผู้ใช้เมื่อการเข้าสู่ระบบล้มเหลว [faillog] รวมทั้งควบคุมบัญชีผู้ใช้ระบบ
passwd -l pepe -> บล็อกผู้ใช้ pepe passwd -v pepe -> ปลดบล็อกผู้ใช้ pepe
6- เปิดใช้งานการใช้ "sudo" ไม่เคยเข้าสู่ระบบในฐานะรูทโดย ssh "ไม่เคย" ในความเป็นจริงคุณต้องแก้ไขการกำหนดค่า ssh เพื่อให้บรรลุวัตถุประสงค์นี้ ใช้คีย์สาธารณะ / ส่วนตัวบนเซิร์ฟเวอร์ของคุณด้วย sudo
7- สมัครในระบบของเราหลักการของสิทธิพิเศษน้อยที่สุด"
8- ตรวจสอบบริการของเราเป็นครั้งคราว [netstat -lptun] สำหรับเซิร์ฟเวอร์แต่ละเครื่องของเรา เพิ่มเครื่องมือตรวจสอบที่สามารถช่วยเราในงานนี้ [Nagios, Cacti, Munin, Monit, Ntop, Zabbix]
9- ติดตั้ง IDSs, Snort / AcidBase, Snotby, Barnyard, OSSEC
10- Nmap เป็นเพื่อนของคุณใช้เพื่อตรวจสอบเครือข่ายย่อย / เครือข่ายย่อยของคุณ
11- แนวทางปฏิบัติด้านความปลอดภัยที่ดีใน OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [สิ่งที่ใช้กันมากที่สุด] และบริการอื่น ๆ ที่คุณต้องการในเครือข่ายของคุณ
12- เข้ารหัสการสื่อสารทั้งหมดในขณะที่เป็นไปได้ในระบบของเรา SSL, gnuTLS, StarTTLS, Digest ฯลฯ ... และหากคุณจัดการข้อมูลที่ละเอียดอ่อนให้เข้ารหัสฮาร์ดไดรฟ์ของคุณ !!!
13- อัปเดตเซิร์ฟเวอร์อีเมลของเราด้วยกฎความปลอดภัยบัญชีดำและการป้องกันสแปมล่าสุด
14- การบันทึกกิจกรรมในระบบของเราด้วยนาฬิกาบันทึกและการตรวจสอบการบันทึก
15- ความรู้และการใช้เครื่องมือเช่น top, sar, vmstat, ฟรีและอื่น ๆ
sar -> รายงานกิจกรรมของระบบ vmstat -> กระบวนการหน่วยความจำระบบ i / o กิจกรรม cpu ฯลฯ iostat -> cpu i / o status mpstat -> สถานะหลายโปรเซสเซอร์และ pmap การใช้งาน -> การใช้หน่วยความจำโดยกระบวนการฟรี - > หน่วยความจำ iptraf -> การรับส่งข้อมูลแบบเรียลไทม์ของ ethstatus เครือข่ายของเรา -> ตรวจสอบสถิติอีเธอร์เน็ตบนคอนโซล -> การตรวจสอบเครือข่ายกราฟิก ss -> สถานะซ็อกเก็ต [ข้อมูลซ็อกเก็ต tcp, udp, ซ็อกเก็ตดิบ, ซ็อกเก็ต DCCP] tcpdump -> การวิเคราะห์โดยละเอียด de Traffic vnstat -> การตรวจสอบการรับส่งข้อมูลเครือข่ายของอินเทอร์เฟซที่เลือก mtr -> เครื่องมือวินิจฉัยและการวิเคราะห์การโอเวอร์โหลดในเครือข่าย ethtool -> สถิติเกี่ยวกับการ์ดเครือข่าย
สำหรับตอนนี้มันคือทั้งหมด ฉันรู้ว่ามีคำแนะนำด้านความปลอดภัยอีกหนึ่งพันข้อในสภาพแวดล้อมประเภทนี้ แต่สิ่งเหล่านี้เป็นคำแนะนำที่ทำให้ฉันรู้สึกใกล้ชิดที่สุดหรือในบางครั้งฉันต้องใช้ / ออกกำลังกายในสภาพแวดล้อมที่ฉันดูแล
กอดและฉันหวังว่ามันจะให้บริการคุณ😀
ฉันขอเชิญคุณในการแสดงความคิดเห็นเพื่อบอกเราเกี่ยวกับกฎอื่น ๆ ที่ได้รับการปรับใช้นอกเหนือจากที่กล่าวไปแล้วเพื่อเพิ่มความรู้ให้กับผู้อ่านของเรา😀
ฉันจะเพิ่ม:
1.- ใช้กฎ sysctl เพื่อป้องกันการเข้าถึง dmesg, / proc, SysRQ, กำหนด PID1 ให้กับแกน, เปิดใช้งานการป้องกันสำหรับซิมลิงค์แบบแข็งและแบบอ่อน, การป้องกันสแต็ก TCP / IP สำหรับทั้ง IPv4 และ IPv6, เปิดใช้งาน VDSO เต็มรูปแบบเพื่อการสุ่มสูงสุด ตัวชี้และการจัดสรรพื้นที่หน่วยความจำและปรับปรุงความแข็งแกร่งในการป้องกันการล้นของบัฟเฟอร์
2.- สร้างกำแพงกันไฟประเภท SPI (Stateful Package Inspect) เพื่อป้องกันการเชื่อมต่อที่ไม่ได้สร้างขึ้นหรือได้รับอนุญาตก่อนหน้านี้จากการเข้าถึงระบบ
3.- หากคุณไม่มีบริการที่รับประกันการเชื่อมต่อที่มีสิทธิ์ระดับสูงจากสถานที่ห่างไกลเพียงแค่เพิกถอนการเข้าถึงโดยใช้ access.conf หรือหากไม่สามารถเข้าถึงได้ให้เปิดใช้งานการเข้าถึงเฉพาะผู้ใช้หรือกลุ่มเฉพาะ
4.- ใช้ขีด จำกัด อย่างหนักเพื่อป้องกันการเข้าถึงบางกลุ่มหรือผู้ใช้จากการทำให้ระบบของคุณไม่เสถียร มีประโยชน์มากในสภาพแวดล้อมที่มีผู้ใช้หลายคนใช้งานอยู่ตลอดเวลา
5.- TCPWrappers เป็นเพื่อนของคุณหากคุณอยู่ในระบบที่รองรับการใช้งานมันจะไม่เจ็บดังนั้นคุณสามารถปฏิเสธการเข้าถึงจากโฮสต์ใด ๆ เว้นแต่จะมีการกำหนดค่าไว้ก่อนหน้านี้ในระบบ
6. - สร้างคีย์ SSH RSA อย่างน้อย 2048 บิตหรือดีกว่าคือ 4096 บิตโดยมีคีย์ตัวอักษรและตัวเลขมากกว่า 16 อักขระ
7.- คุณเขียนได้ทั่วโลกแค่ไหน? การตรวจสอบสิทธิ์ในการอ่าน - เขียนของไดเรกทอรีของคุณนั้นไม่เลวเลยและเป็นวิธีที่ดีที่สุดในการหลีกเลี่ยงการเข้าถึงโดยไม่ได้รับอนุญาตในสภาพแวดล้อมที่มีผู้ใช้หลายคนโดยไม่ต้องพูดถึงว่าการเข้าถึงข้อมูลที่ไม่ได้รับอนุญาตนั้นยากขึ้นสำหรับการเข้าถึงข้อมูลที่คุณไม่ได้รับอนุญาต ไม่ต้องการให้ไม่มีใครเห็น
8.- ติดตั้งพาร์ติชันภายนอกที่ไม่สมควรได้รับด้วยตัวเลือก noexec, nosuid, nodev
9.- ใช้เครื่องมือเช่น rkhunter และ chkrootkit เพื่อตรวจสอบเป็นระยะว่าระบบไม่ได้ติดตั้งรูทคิตหรือมัลแวร์ มาตรการที่รอบคอบหากคุณเป็นหนึ่งในผู้ที่ติดตั้งสิ่งต่างๆจากที่เก็บที่ไม่ปลอดภัยจาก PPA หรือเพียงแค่รวบรวมโค้ดสดจากไซต์ที่ไม่น่าเชื่อถือ
อืมมอร่อย ... ข้อคิดดีเพิ่มพวก ... 😀
ใช้การควบคุมการเข้าถึงบังคับกับ SElinux หรือไม่
บทความที่ดีมาก
ขอบคุณเพื่อน😀
สวัสดีและถ้าฉันเป็นผู้ใช้ปกติฉันควรใช้ su หรือ sudo?
ฉันใช้ su เพราะฉันไม่ชอบ sudo เพราะใครก็ตามที่มีรหัสผ่านผู้ใช้ของฉันสามารถเปลี่ยนสิ่งที่ต้องการในระบบแทนด้วย su no
บนพีซีของคุณไม่ต้องกังวลกับการใช้ su คุณสามารถใช้งานได้โดยไม่มีปัญหาบนเซิร์ฟเวอร์ขอแนะนำอย่างยิ่งให้ปิดการใช้งาน su และใช้ sudo หลายคนบอกว่ามันเกิดจากการตรวจสอบว่าใครเป็นผู้ดำเนินการคำสั่งใดและ sudo ทำงานนั้น ... โดยเฉพาะบนพีซีของฉันฉันใช้ของเขาเช่นเดียวกับคุณ ...
แน่นอนว่าฉันไม่รู้จริงๆว่ามันทำงานบนเซิร์ฟเวอร์อย่างไร แม้ว่าสำหรับฉันแล้วดูเหมือนว่า sudo จะมีข้อได้เปรียบที่คุณสามารถให้สิทธิพิเศษแก่ผู้ใช้คอมพิวเตอร์เครื่องอื่นได้หากฉันไม่เข้าใจผิด
บทความที่น่าสนใจฉันเข้ารหัสไฟล์บางไฟล์ด้วย gnu-gpg เช่นเดียวกับสิทธิ์ขั้นต่ำในกรณีที่คุณต้องการดำเนินการตัวอย่างเช่นไบนารีของต้นกำเนิดที่ไม่รู้จักหายไปในทะเลอันยิ่งใหญ่ของข้อมูลบนดิสก์ฉันจะลบการเข้าถึงฟังก์ชันบางอย่างได้อย่างไร เหรอ?
ฉันเป็นหนี้ส่วนนั้นให้กับคุณแม้ว่าฉันคิดว่าคุณควรรันเป็น sudo / root เท่านั้นโปรแกรมที่เชื่อถือได้นั่นคือมันมาจาก repo ของคุณ ...
ฉันจำได้ว่าอ่านว่ามีวิธีเปิดใช้งานความสามารถในการรูทในคู่มือบน GNU / Linux และ UNIX ถ้าฉันพบฉันจะใส่มัน😀
@andrew นี่คือบทความที่ฉันพูดถึงและความช่วยเหลือเพิ่มเติม
http://www.cis.syr.edu/~wedu/seed/Labs/Capability_Exploration/Capability_Exploration.pdf
http://linux.die.net/man/7/capabilities
https://wiki.archlinux.org/index.php/Capabilities
และกรง chown เพื่อเรียกใช้ไบนารีที่ไม่รู้จัก?
การใช้ sudo ตลอดเวลาจะดีกว่ามาก
หรือคุณสามารถใช้ sudo แต่ จำกัด เวลาที่จำรหัสผ่าน
เครื่องมือที่คล้ายกันที่ฉันใช้ในการตรวจสอบพีซี "iotop" แทน "iostat", "htop" ที่ยอดเยี่ยม "ตัวจัดการงาน", การตรวจสอบแบนด์วิดท์ "iftop"
หลายคนคิดว่าเกินจริง แต่ฉันเคยเห็นการโจมตีเพื่อรวมเซิร์ฟเวอร์เข้ากับบ็อตเน็ต
https://twitter.com/monitolinux/status/594235592260636672/photo/1
ps: ขอทานชาวจีนและความพยายามที่จะแฮ็กเซิร์ฟเวอร์ของฉัน
สิ่งที่สะดวกเช่นกันคือการใช้กรง chown ในการให้บริการดังนั้นหากพวกเขาถูกโจมตีด้วยเหตุผลบางประการพวกเขาจะไม่ทำให้ระบบเสียหาย
การใช้คำสั่ง ps นั้นยอดเยี่ยมสำหรับการตรวจสอบและอาจเป็นส่วนหนึ่งของการดำเนินการเพื่อตรวจสอบข้อบกพร่องด้านความปลอดภัย การรัน ps -ef แสดงกระบวนการทั้งหมดคล้ายกับด้านบน แต่จะแสดงความแตกต่างบางอย่าง การติดตั้ง iptraf เป็นเครื่องมืออื่นที่อาจใช้งานได้
ผลงานที่ดี
ฉันจะเพิ่ม: SELinux หรือ Apparmor ขึ้นอยู่กับ distro เปิดใช้งานเสมอ
จากประสบการณ์ของตัวเองฉันตระหนักว่าการปิดใช้งานส่วนประกอบเหล่านั้นเป็นวิธีปฏิบัติที่ไม่ดี เรามักจะทำเมื่อเราจะติดตั้งหรือกำหนดค่าบริการโดยมีข้ออ้างว่ามันทำงานได้โดยไม่มีปัญหาเมื่อสิ่งที่เราควรทำจริงๆคือเรียนรู้ที่จะจัดการกับบริการนั้น
คำอวยพร
1. จะเข้ารหัสระบบไฟล์ทั้งหมดได้อย่างไร? คุ้มไหม ??
2. จะต้องมีการถอดรหัสทุกครั้งที่ระบบจะอัปเดตหรือไม่?
3. การเข้ารหัสระบบไฟล์ทั้งหมดของเครื่องเหมือนกับการเข้ารหัสไฟล์อื่น ๆ หรือไม่?
คุณรู้ได้อย่างไรว่าคุณรู้ว่าคุณกำลังพูดถึงอะไร?
นอกจากนี้คุณสามารถ จำกัด โปรแกรมและแม้แต่ผู้ใช้หลายคน แม้ว่าการทำเช่นนี้จะได้ผลมากกว่า แต่ถ้ามีอะไรเกิดขึ้นและคุณมีสำเนาก่อนหน้าของโฟลเดอร์นั้นก็แค่กดปุ่มและร้องเพลง
นโยบายความปลอดภัยที่ดีและสะดวกที่สุดคืออย่าหวาดระแวง
ลองดูมันผิด
ฉันใช้ csf และเมื่อปลดล็อกไคลเอนต์ที่ใส่รหัสผ่านผิดในการเข้าถึงบางอย่างมันทำให้กระบวนการล่าช้า แต่ก็ทำได้ มันปกติ?
ฉันกำลังมองหาคำสั่งเพื่อปลดบล็อกจาก ssh ... คำแนะนำใด ๆ