บล็อกของแดเนียล
15 Jun/11 0

12 มาตรการลินุกซ์ MySQL Apache PHP LAMP เว็บรากเซิร์ฟเวอร์ที่ปลอดภัย


ความถี่ของการแฮ็คได้เพิ่มขึ้นอย่างมากในเดือนล่าสุด โดยเฉพาะอย่างยิ่งข้อมูลจำนวนมากที่จะเลือกขึ้นโดย hacks บนเว็บเซิร์ฟเวอร์ แม้โซนี่ PSN สับเอาประโยชน์จากช่องโหว่ยังไม่ได้แก้ไขใน Apache Web Server ดังนั้นที่นี่ฉันเลี้ยงมาตรการที่เซิร์ฟเวอร์สามารถเป็นเจ้าของบิตปลอดภัยจากการโจมตีจากภายนอก ของหลักสูตรนี้ยังไม่ให้ความคุ้มครอง 100% แต่มันจะดีกว่าที่จะทำให้คนเลวเกมเล็ก ๆ น้อย ๆ เรื่องที่ยากมาก บางส่วนของมาตรการที่ต้องการเพียงการติดตั้งและการบำรุงรักษาน้อยที่สุด อื่น ๆ ต้องการมากของเวลาและความรู้ของ PHP ที่จะจับ คุณควรใส่ใจกับอัตราส่วนค่าใช้จ่ายและผลประโยชน์ในการเลือกของมาตรการรักษาความปลอดภัย มันทำให้รู้สึกไม่เพื่อป้องกันการขนาดเล็ก, เว็บไซต์ส่วนตัวเช่น Federal Reserve Bank อย่างไรก็ตามการเปลี่ยนแปลงเฉพาะบางระบบที่มีอยู่แล้วมีขนาดใหญ่หมายถึงความปลอดภัยมากขึ้น และที่คุณควรรักษาแม้กระทั่งก่อนที่จะสายเกินไป ....

เคล็ดลับทั้งหมดและ Codesnips อ้างถึงกล่อง Debian ปัจจุบัน

ก่อน ไฟร์วอลล์ - ห้ามเมื่อทุกอย่าง

ดิ Linux มากที่สุดในการติดตั้งเริ่มต้นของพวกเขาเปิดพอร์ตใด ๆ ไปยังด้านนอกที่ไม่จำเป็นจริงๆ สถานการณ์นี้สามารถเปลี่ยนแปลงได้อย่างรวดเร็ว แต่แม้ในขณะที่เซิร์ฟเวอร์
เล่นรอบและพยายามทำสิ่ง ทันใดนั้นแม้สื่อเซิร์ฟเวอร์จะฟังบนอินเตอร์เน็ตหรือฐานข้อมูล
ยอมรับการเชื่อมต่อจากอินเทอร์เน็ต ดังนั้นจึงไม่ผิดที่จะอบรมสั่งสอนตัวเองและวางอยู่บนไฟร์วอลล์ที่เข้มงวดมากที่พื้นห้ามเมื่อการเชื่อมต่อทั้งหมดจากภายนอกและช่วยให้เท่านั้น (self-) สารประกอบที่เลือก โชคดีที่นี้จะทำอย่างรวดเร็วด้วย iptables ด้วยวิธีนี้อย่างใดอย่างหนึ่งไม่สามารถให้บริการเพื่อให้เข้าถึงโลกที่มีธุรกิจไม่มี แต่น่าเสียดายที่คุณจ่ายน้อยความสะดวกสบาย - ไฟร์วอลล์จะต้องมีการปรับเปลี่ยนเวลาเมื่อคุณต้องการที่จะนำเสนอบริการใหม่ทุก อย่างไรก็ตามความพยายามที่มีขนาดเล็กและขนาดใหญ่ได้รับประโยชน์

 # / bin / ทุบตี

 # ลบตารางที่มีอยู่
 iptables-F

 # ห้ามไม่ให้เชื่อมต่อเข้ามาทั้งหมด
 DROP iptables INPUT-P
 iptables-P FORWARD วาง

 # อนุญาตให้ออกทั้งหมด
 ผลผลิต iptables-P ยอมรับ

 # อนุญาตให้ SSH
 iptables-INPUT-j ACCEPT-p tcp - dport 22 

 # อนุญาตให้ HTTP
 iptables-INPUT-j ACCEPT-p tcp - dport 80 

 นอกจาก # บริการ (UDP) ให้ยกตัวอย่างเช่นเซิร์ฟเวอร์เกม,
 iptables-INPUT-j ACCEPT-p tcp - dport 4534 

 # อนุญาตให้ทุกอย่างจาก localhost  (เพื่อให้เข้าถึงไม่มีข้อ จำกัด ไปยังเซิร์ฟเวอร์ของตัวเองบริการของ บริษัท
 # ตัวอย่างเช่น PHP ในฐานข้อมูลท้องถิ่น
 iptables-INPUT-s 127.0.0.1-j ACCEPT

 การเชื่อมต่อ # จัดตั้งขึ้นแล้วจะได้รับการยอมรับในแต่ละพอร์ต
 # (จำเป็นสำหรับ daemons บางส่วน)
 iptables-m รัฐ INPUT - รัฐจัดตั้งเกี่ยวข้อง-j ACCEPT

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

เพื่อหาที่บริการเพียงรอบฟังไปยังเซิร์ฟเวอร์ของคุณเองคุณสามารถใช้ netstat:

 # สำหรับซ็อกเก็ต TCP:
 netstat-LPN | grep TCP

 # ทำนองเดียวกันสำหรับ UDP:
 netstat-LPN | grep UDP

ต้องการทดสอบว่าไฟร์วอลล์ทำงานจริงๆคุณสามารถสแกนพอร์ตเซิร์ฟเวอร์ของคุณเองจากคอมพิวเตอร์เครื่องอื่น ทุกอย่างทำงานออกมาและมันควรจะส่งผลให้พอร์ตเท่านั้นแม้กระทั่งที่เปิด:

 # สำหรับ TCP:
 nmap-p1-65 meinserver.de 535

 # สำหรับ UDP:
 nmap-su-p1-65 meinserver.de 535

ที่สอง SSH ห้ามการเข้าสู่ระบบ

บนเซิร์ฟเวอร์รากของตัวเองคุณมีการเข้าถึง SSH เต็ม นี้จะมีประโยชน์มากเท่าที่คุณสามารถเริ่มต้นใด ๆ ที่ลูกค้า SSH ไปคร​​ั้งเซิร์ฟเวอร์เพียงที่จะทำงานกับมัน ข้อเสียของการนี​​้เป็นที่แน่นอนว่าทุกคนที่สามารถจะนำโชคร้ายมากกว่าอย่างใดรหัสผ่านของตนเอง มันมากปลอดภัยในการอนุญาตให้ใช้ในการเข้าสู่ระบบ SSH เฉพาะกับไฟล์ที่สำคัญที่ถูกต้อง ดังนั้นคีย์สาธารณะของไคลเอนต์กับเซิร์ฟเวอร์และคัดลอกข้อมูลเข้าสู่ระบบแบบโต้ตอบถูกปิดใช้งานโดยการป้อนรหัสผ่าน

 # เกี่ยวกับลูกค้าที่สร้างคีย์สาธารณะ
 # หากระบุไว้เมื่อมีการสร้างรหัสผ่านที่หนึ่งต้อง
 # เข้าสู่ระบบไฟล์ในภายหลังที่สำคัญและรหัสผ่าน  มิฉะนั้น
 # จำเป็นเท่านั้นที่สำคัญ

 ssh-keygen-t RSA

 # คัดลอกคีย์ที่สร้างขึ้นไปยังเซิร์ฟเวอร์

 SSH-คัดลอก id-i ~ /. ssh / id_rsa.pub root@meinserver.de

 # ตอนนี้ปรับ sshd_config บนเซิร์ฟเวอร์ / etc / ssh /
 .
 .
 PasswordAut​​hentication ไม่มี
 .
 .

 # จากนั้นเริ่มต้นอีกครั้ง RearBBpos
 / etc / init.d / ssh รีสตาร์ท

แม้ที่นี่หนึ่งควรใช้ความระมัดระวังที่จะไม่ปิดกั้นแม้ว่าสิ่งที่ไม่ทำงาน
คีย์สาธารณะเกี่ยวกับ USB ติดกับรหัสผ่านที่สอดคล้องกันในหัวของคุณทำให้มันยากมากสำหรับคนเลวที่จะได้รับเปลือก

ที่สาม SSH Bruteforcing ป้องกัน denyhosts

ถ้าแนะนำไม่ปฏิบัติ 2 และคุณไม่ยอมแพ้ความสะดวกสบายจากการเข้าสู่ระบบด้วยรหัสผ่านที่ใช้ต้องการคุณอย่างน้อยสามารถป้องกันไม่ให้อัตราการใช้รหัสผ่านแบบอัตโนมัติของการโจมตีบนเซิร์ฟเวอร์ จำนวนมากของบอทบนอินเทอร์เน็ตทุกวันกำลังมองหาที่จะทำอะไรมากไปกว่าไปยังเซิร์ฟเวอร์ SSH และพยายามออกมาในรหัสผ่านต่างๆของคุณ ด้วยรหัสผ่านที่ปลอดภัยพอสมควรไม่ได้เป็นปัญหาใหญ่ แต่มีความรู้สึกที่ดีขึ้นไม่ได้หากที่เป็นไปได้ นอกจากนี้มันยังช่วยปกป้องผู้ใช้ถ้ามีในบัญชีของเซิร์ฟเวอร์และผู้ใช้ ที่นี่คุณไม่สามารถพึ่งพาผู้ใช้สามารถใช้รหัสผ่านที่ปลอดภัย denyhosts สุดท้ายอย่างต่อเนื่องและการเข้าสู่ระบบ SSH เมื่อผู้ใช้ล็อกสำหรับในขณะที่มีการป้อนรหัสผ่านของพวกเขาซ้ำแล้วซ้ำอีกอย่างไม่ถูกต้อง IP ของผู้ใช้เป็นการชั่วคราวไปลงในไฟล์ / etc / hosts.deny เพื่อที่ว่าพวกเขาไม่สามารถเข้าถึงเป็นไปได้ SSH นี้ Bruteforcing ไปงานมากยาวและไม่ได้มีแนวโน้มมาก

 apt-get denyhosts ติดตั้ง

 Denyhosts # การทำงานที่เหมาะสมหลังการติดตั้ง  มันสามารถเป็น
 # ในปรับแต่งไฟล์ / etc / denyhosts.conf

4 บัญชีดำที่ใช้ในการป้องกันไม่ให้ออก IPs ปัญหาที่เป็นที่รู้จัก

ในบัญชีดำทางอินเทอร์เน็ตต่างๆจะต้องคงที่รายการจำนวนมากเซิร์ฟเวอร์ทางอาญา / สับ / spammy / ฉ้อโกง เหล่านี้รายการไอพีที่สามารถป้อนโดยตรงในไฟร์วอลล์เพื่อให้จากนี้เป็นที่รู้จักกันไม่ได้กับคอมพิวเตอร์คนไม่สามารถเชื่อมต่อได้ทั้งหมดไปยังเซิร์ฟเวอร์ของตัวเอง ดังนั้นคุณจึงสามารถลดปริมาณขยะบนเซิร์ฟเวอร์ของตัวเองอย่างมากและอย่างน้อยหนึ่งตัวเล็กสคริปต์อื่น ๆ ล็อคออกเนื่องจากพร็อกซี่รัสเซียของเขาก็หยุดทำงาน วิธีการทำที่ฉันได้รับ ในบทความบล็อกอื่น ที่อธิบายตัวอย่างของบัญชีดำของ Infiltrated.net

5 อย่าใช้ FTP เพื่อทำงานบนเซิร์ฟเวอร์

FTP เป็นที่ระลึกครั้งที่ดีขึ้นเมื่ออินเทอร์เน็ตเป็นหมู่บ้านเล็ก ๆ คนยังคง ผู้บริหารหลายคนของเว็บไซต์ที่ยังคงใช้ FTP ในการถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์หรือการทำงานบนเว็บไซต์ของตัวเอง แต่นี้คือความไม่แน่นอนมากเนื่องจาก FTP ส่งข้อมูลทั้งหมดที่ไม่มีหลักประกัน รหัสผ่านและข้อมูลที่สามารถอ่านได้โดยไม่มีปัญหาใด ๆ ที่กระโดดระหว่างเซิร์ฟเวอร์และไคลเอนต์แต่ละ ที่ปลอดภัยมากที่จะไปกับ sshfs ช่วยให้คุณสามารถติดไดเรกทอรีผ่านทาง ssh ในระบบไฟล์เซิร์ฟเวอร์ระยะไกลของท้องถิ่น จากนั้นคุณสามารถทำงานบนเซิร์ฟเวอร์เป็นถ้าเขาอยู่บนคอมพิวเตอร์ที่ใช้อยู่ การเข้าถึงไฟล์ทั้งหมดไปยังแฟ้มบนเซิร์ฟเวอร์มีความโปร่งใสอย่างสมบูรณ์เพื่อให้คุณสามารถเปิดด้วยโปรแกรมกราฟิกในท้องถิ่นในการแก้ไขภาพที่อยู่บนเซิร์ฟเวอร์โดยตรงแล้วบันทึก ความสะดวกสบายและความปลอดภัยอื่น ๆ ได้โดยไม่ต้องใช้ความพยายามมาก

 # ติดตั้ง sshfs
 apt-get sshfs ติดตั้ง

 # สร้างจุดเชื่อมต่อในระบบไฟล์ท้องถิ่น
 mkdir / สื่อ / myserver

 เซิร์ฟเวอร์ # ไปยังไฟล์ติดในท้องถิ่นของระบบ
 sshfs www-data@mein-server.de :/ var / www / สื่อ / myserver

 # ตอนนี้ไดเรกทอรีเป็น / var / www บนเซิร์ฟเวอร์ภายในของฉันภายใต้สื่อ / / myserver ใช้ได้

6 ติดตั้งการปรับปรุง

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

 # บรรทัดนี้ใน etc / crontab / อัพเดตนาฬิการะบบทุกวันตอน 6 โมง
 ราก *** 0 6 apt-get && ปรับปรุงอัพเกรด apt-get-y

เหล่านี้วิธีการที่รวดเร็วและสกปรกทำงานให้ฉันเพื่อให้ห่างไกลเสมอดี ฉันเพิ่งอ่านว่าในพื้นที่เก็บข้อมูล Debian และแพคเกจแบบอัตโนมัติอัพเกรด-อยู่ที่แก้ปัญหาอาจจะสง่างามมากขึ้น แต่ฉันยังไม่ได้รับการทดสอบ

แม้เหล่านี้ vollautomtischen ปรับปรุงระบบมันไม่สมบูรณ์ออกเบ็ด ถ้ามีการปรับปรุงเคอร์เนลได้รับการส่งมอบคุณต้องบูตระบบอีกครั้งด้วยมือมิฉะนั้นการเปลี่ยนแปลงที่จะไม่ใช้งาน

ถ้าเราใช้บุคคลที่สามโค้ด PHP บนเซิร์ฟเวอร์เช่น CMS โอเพนซอร์สหรือฟอรั่มจะเป็นหลักสูตรที่จำเป็นอย่างยิ่งและรหัสนี้กับรุ่นใหม่ให้ทันสมัย​​อยู่เสมอ ตั้งแต่ Debian ไม่ปรับปรุงเปลี่ยนแปลงเพื่อการใช้งานผู้ที่อยู่ในกฎระเบียบที่ครอบคลุมนี้การใช้แรงงานของตนเป็นสิ่งจำเป็น วิธีที่ดีที่สุดในการอ่านรายชื่อผู้รับจดหมายของคุณด้วยผลิตภัณฑ์ที่สอดคล้องกันในการที่จะเสมอถึงวันที่

7 PHP กับ open_basedir ขัง

hacks หลายอยู่บนพื้นฐานของความจริงที่ว่าช่องโหว่ในโค้ด PHP จะใช้ในการเข้าถึงไฟล์ในการเข้าถึงระบบแฟ้มที่ไม่ได้อยู่ในไซต์ที่ แต่ระบบของตัวเองคือเหตุผลที่คุณควรล็อคขึ้น PHP เพื่อที่จะอ่านเฉพาะในไดเรกทอรีที่กำหนดและเขียน อนุญาตให้ สำหรับนี้ php.ini กำหนดค่าตัวเลือก open_basedir PHP มีตัวเลือกที่จะนำเข้าได้รับอนุญาตเท่านั้นไปยังไดเรกทอรีที่มี ไฟล์เช่น / etc / passwd ออกจากการเข้าถึง โฮสติ้งหลายเว็บไซต์บนเซิร์ฟเวอร์คุณควรกำหนด open_basedir ในการกำหนดค่าแต่ละพื้นที่เสมือนบนแต่ละด้าน

 php.ini สากลผ่าน #:
 # Etc/php5/apache2/php.ini /
 open_basedir = tmp / var / www / :/ /

 # เว็บไซต์ต่อใน config VirtualHost:
 php_value open_basedir / var / www / site / :/ tmp /

มันเป็นสิ่งสำคัญที่จะต้องพิจารณาว่าเว็บไซต์ทั้งหมดที่ได้รับการเพิ่มสคริปต์มักจะต้องมีการเข้าถึงอย่างอื่นก็อาจเป็นได้ว่าคุณจะเป็นฟังก์ชั่นสำหรับผู้พิการและถูกต้องตามกฎหมายของโปรแกรม PHP

8 สร้างเว็บไซต์ของคุณเองสำหรับผู้ใช้ MySQL

ใช้โปรแกรม PHP-MySQL ของคุณเองคุณอย่างควรสร้างขึ้นสำหรับผู้ใช้ MySQL Apllikation ของตัวเองและภายใต้สถานการณ์ที่ยังไม่มีการใช้ MySQL คำขอของผู้ใช้ราก นอกจากนี้คุณยังควร จำกัด สิทธิของผู้ใช้เพื่อให้ห่างไกลว่าการดำเนินการจริงๆเท่านั้นจะได้รับอนุญาตซึ่งจะต้องมีสคริปต์ PHP การสร้างตารางและวางตารางเป็นเรื่องธรรมดาในการฉีด SQL และนำมาใช้ในโปรแกรม PHP ส่วนใหญ่ไม่เคยต้อง มันเป็นโฮสต์หลายเว็บไซต์กับฐานข้อมูลบนเซิร์ฟเวอร์หลายคุณควรสร้างฐานข้อมูลของคุณเองสำหรับผู้ใช้ทั้งหมด ดังนั้นหลังจากการโจมตีที่ประสบความสำเร็จผู้บุกรุกเท่านั้นที่มีการเข้าถึงฐานข้อมูลอย่างใดอย่างหนึ่งและไม่ได้โดยตรงที่ หากคุณไม่ต้องการที่จะลองบรรทัดคำสั่งในการจัดการบัญชีผู้ใช้ MySQL ผู้ใช้จัดการการทำงานยังค่อนข้างง่ายด้วย phpMyAdmin ภายใต้ "สิทธิ" ที่แท็บ

9 PHP ข้อความผิดพลาดออก

PHP ข้อความผิดพลาดที่ผู้โจมตีสามารถที่จะเปิดเผยมากเกี่ยวกับเซิร์ฟเวอร์ของคุณเอง: โครงสร้างไดเรกทอรีโครงสร้างฐานข้อมูลการกำหนดค่าความผิดพลาด ฯลฯ พวกเขายังมองหาผู้ใช้ไม่เป็นมืออาชีพมาก ด้วยเหตุนี้พวกเขาควรจะอยู่ในเว็บเซิร์ฟเวอร์อยู่เสมอปิดเพราะคุณเพียงแค่จะยังคงเห็นในบันทึก

 php.ini สากลผ่าน #:
 # Etc/php5/apache2/php.ini /
 display_errors = Off

 # เว็บไซต์ต่อใน config VirtualHost:
 display_errors php_flag Off

 # ข้อผิดพลาดอ่านมันต่อไป:
 cat / var/log/apache2/error.log | PHP grep

10 เป้าหมายสำหรับวงเงินการฉีด SQL กับ ModSecurity

การฉีด SQL เป็นวิธีที่ใช้บ่อยที่สุดของการโจมตีบนเว็บเซิร์ฟเวอร์ เข้าถึงได้โดยตรงผ่านทางโปรแกรมเว็บและเป็นไปตามเบราว์เซอร์เพื่อดำเนินการให้ ที่นี่จะถูกส่งโดยผู้ใช้ตัวแปรที่สร้างขึ้นแบบสอบถาม SQL ที่ส่งไปยังสิทธิของผู้ใช้ฐานข้อมูลทั้งหมดของฐานข้อมูลของ บริษัท ที่จะลบอ่านหรือแก้ไขได้ การป้องกันของแท้จริงกับการฉีด SQL ที่มีอยู่เฉพาะในกรณีที่โค้ด PHP เขียนเป็นเว็บไซต์ที่เกี่ยวกับการโจมตีเหล่านี้ ตัวแปรจากท่านผู้ใช้ซึ่งอาจได้รับในแต่ละแบบสอบถาม SQL จะต้องผ่านการทดสอบและหนีออกมา PHP มีฟังก์ชั่น real_mysql_escape_string ()

หากคุณไม่แน่ใจว่าถ้ารหัสคือสะอาด mod_security สำหรับ Apache สามารถช่วยปัดจำนวนมากจากการโจมตีเหล่านี้อยู่แล้ว ความคิดเห็น mod_security คงคำขอทั้งหมดไปยังเว็บเซิร์ฟเวอร์และตอบสนองต่อรูปแบบไว้ล่วงหน้าซึ่งหลายคนโจมตี SQL injection สามารถป้องกัน แต่น่าเสียดายที่เพียง แต่ทำงานได้ดีกับความพยายามที่ใช้ mod_security บ่อยครั้งหลังจากที่บล็อก mod_security สดติดตั้งต้องมีฟังก์ชั่น (ปกติ) จากโค้ด PHP ของคุณเพื่อที่หนึ่งที่มีไม่มีทางเลือกอื่น ๆ ที่เป็นแอพลิเคชันที่สมบูรณ์ในการทดสอบการติดตั้งอีกครั้ง หนึ่งไม่เท่านั้นแล้วหาว่า mod_security อาจไม่ได้ต้องการฟังก์ชั่นการปิดกั้น ถ้าเป็นเช่นนั้นในรายการตัวกรองที่จะปรับเปลี่ยนจะหายไปเพื่อที่ว่า false-positive

การกำหนดค่าของ mod_security มีความซับซ้อนค่อนข้างและอยู่นอกเหนือขอบเขตของบทความนี้ แต่มีตันของบทเรียนที่ดีเกี่ยวกับ mod_security อินเตอร์เน็ต

ที่ 11 ID กา - อาปาเช่ไม่ทราบว่าผู้ที่เขาเป็น
นี้ไม่ได้จริงๆวิธีที่มีประสิทธิภาพต่อต้านการสับก็จะทำให้สคริปต์อัตโนมัติที่กำลังมองหาเซิร์ฟเวอร์รุ่น แต่ที่หนักกว่าเล็กน้อย โดยปกติจุด Apache เพื่อหน้าเว็บที่มีข้อความผิดพลาด (เช่น 404 ไม่พบ) ลายเซ็นของเซิร์ฟเวอร์

 Apache/2.2.16 Server (Unix) ที่ www.daniel-ritter.de Port 80

มันกำจัดผู้รุกรานที่อาจเกิดขึ้นใด ๆ ที่จะได้รับอย่างน้อยหนึ่งครั้งก่อนที่จะเกี่ยวกับเว็บเซิร์ฟเวอร์ eigesetzten และระดับรุ่น เซิร์ฟเวอร์ลายเซ็นจะถูกปิดได้อย่างรวดเร็ว:

 # Etc/apache2/conf.d/security /
 ServerSignature Off

วันที่ 12 อย่าใช้ปิดการใช้งานโมดูล apache

โดยค่าเริ่มต้นของ Apache ได้โหลดโมดูลบางอย่างที่เกือบจะไม่จำเป็น ใน Debian คุณสามารถหาโมดูลที่โหลด
เป็นลิงค์ที่อ่อนนุ่มใน / etc/apache2/mods-enabled

สามารถลบออกได้เกือบตลอดเวลา:

mod_cgi

ที่ใช้ในการเรียกใช้สคริปต์ CGI เทคนิคนี้วันที่กลับไปในยามเช้าของเว็บและเป็นบรรพชนของภาษาสคริปต์ที่ทันสมัย​​เพื่อให้สามารถเว็บไซต์แบบไดนามิก mod_cgi ไม่จำเป็นสำหรับ 99% ของไซต์ PHP กับ Apache และความผิดพลาด config ที่เป็นหลุมรักษาความปลอดภัยที่อาจเกิดขึ้น

 CGI a2dismod

mod_status

ช่วยให้เบราว์เซอร์เพื่ออ่านข้อมูลสถานะบน Apache มันเป็นที่เกือบจะไม่ใช้สำหรับเว็บไซต์ที่ "ปกติ", ข้อมูลสถานะเกี่ยวกับการโจมตี แต่ Apache ให้

 สถานะ a2dismod

mod_autoindex

mod_autoindex เพื่อให้แน่ใจว่าไดเรกทอรีสามารถแสดงบนเว็บเซิร์ฟเวอร์ถ้ามีไม่ได้เป็นหน้าดัชนีที่ถูกต้องในไดเรกทอรีที่เหมาะสม หากการทำงานนี้จะไม่ต้องการคุณควรปิดการใช้งานเนื่องจากต้นไม้ไดเรกทอรีทั้งบนเว็บเซิร์ฟเวอร์ที่สามารถมองเห็นได้จากภายนอก

 autoindex a2dismod

เพลิดเพลินไปกับบทความนี้หรือไม่?

พิจารณาการสมัครรับฟีด RSS ของเรา!

ความเห็น (0) Trackbacks (1)

    ใส่ความเห็น

    * คัดลอกรหัสผ่านนี้:

    * รหัสผ่านพิมพ์หรือวางที่นี่:

    395 สแปมความคิดเห็นที่ถูกบล็อกเพื่อให้ห่างไกลโดย Spam ฟรี Wordpress

    กรุณาคัดลอกสตริงที่ช่องด้านล่าง G8fYeW: