คำถามติดแท็ก security

สำหรับคำถามเกี่ยวกับการเข้ารหัสและความปลอดภัยด้านไอที นี่อาจเป็นความปลอดภัยของคอมพิวเตอร์เครือข่ายหรือฐานข้อมูล

1
แนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยเว็บ API คืออะไร
ฉันต้องสร้าง API บริการเว็บสำหรับแอพมือถือของเราเพื่อโต้ตอบกับเซิร์ฟเวอร์และฐานข้อมูลของเรา (ใน ASP.Net MVC 4 แต่มันไม่ค่อยเกี่ยวข้องกัน) การกระทำส่วนใหญ่ไม่ต้องการให้ผู้ใช้ลงทะเบียนกับบริการของเราเราต้องการ จำกัด การเข้าถึงเฉพาะผู้ใช้แอปของเราเท่านั้น อะไรคือวิธีการตรวจสอบให้แน่ใจว่าการโทรออกจากที่อื่น (เช่นมีคนต้องการข้อมูลทั้งหมดของเราหรือสร้างแอปที่ไม่เป็นทางการ) ถูกปฏิเสธ? แนวคิดเบื้องต้นของฉันคือการให้อุปกรณ์ถามโทเค็นเซิร์ฟเวอร์ซึ่งสร้างแบบสุ่มและส่งตามที่เป็นอยู่ วิธีการอื่น ๆ ทั้งหมดจะตรวจสอบว่าส่วนหัวคำขอมีวิธีเฉพาะที่จะแฮช md5 ของโทเค็นที่ผ่านการเค็ม เซิร์ฟเวอร์รู้โทเค็นและเกลือและสามารถคำนวณแฮชและเปรียบเทียบกับที่ส่ง นอกจากนี้โทเค็นเป็นอายุการใช้งานที่ จำกัด และอุปกรณ์จะต้องได้รับอีกหนึ่งชั่วโมงทุก ๆ ที่ดูเหมือนจะค่อนข้างง่ายในการใช้งานและถึงแม้ว่าอาจจะไม่ใช่ข้อพิสูจน์ 100% แต่ก็เป็นความคิดที่ดี คุณคิดอย่างไร?

7
สิ่งที่ต้องพิจารณาเป็นพิเศษในการออกแบบฐานข้อมูลเพื่อเก็บบันทึกทางการเงิน
ฉันหวังว่าคำถามนี้จะไม่กว้างเกินไป ในอนาคตฉันอาจต้องเพิ่มระบบบัญชีและการติดตามทางการเงินลงในบางแอปพลิเคชัน (ส่วนใหญ่เป็นแอปพลิเคชันบนเว็บ แต่คำถามของฉันเกี่ยวข้องกับแอปเดสก์ท็อปเช่นกัน) ตอนนี้การสร้างบันทึกทางธุรกรรมทางการเงินอย่างง่ายเป็นเรื่องง่ายในทางทฤษฎี ตารางฐานข้อมูลหนึ่งตารางที่มีคอลัมน์น้อยสามารถทำงานได้ แม้แต่ MS Access, Excel หรือแม้แต่ไฟล์ข้อความ ASCII ธรรมดาก็สามารถใช้เก็บวันที่ทำธุรกรรมรหัสบัญชีและจำนวนเงินดอลล่าร์ได้ อย่างไรก็ตามฉันรู้สึกว่าแม้ตาราง SQL ที่สำรองไว้เป็นประจำซึ่งมีความสมบูรณ์ของธุรกรรมอาจไม่แข็งแกร่งพอสำหรับการติดตามทางการเงินที่ร้ายแรง ฉันได้ยินคำศัพท์เช่น "double-entry accounting" และฉันรู้สึกว่าแอพติดตามการเงินส่วนใหญ่ (เช่น Mint.com หรือ GnuCash) มีโครงสร้างข้อมูลหรือกระบวนการที่ซับซ้อนมากขึ้นเพื่อให้แน่ใจว่าทุกสิ่ง เพิ่มขึ้นอย่างสมบูรณ์ตามที่ควรและไม่มีข้อมูลสูญหายหรือเสียหาย คำถามของฉันคือเมื่อออกแบบแอพเพื่อติดตามธุรกรรมทางการเงินควรพิจารณาการออกแบบพิเศษอะไรบ้าง ดูเหมือนว่าอาจมีปัญหาที่อาจเกิดขึ้นมากมาย ... ปัญหาเกี่ยวกับความแม่นยำในการปัดเศษการตรวจสอบพาริตี้กระบวนการตรวจสอบบางชนิดการสำรองข้อมูลพิเศษการรักษาความปลอดภัย / การเข้ารหัสวิธีพิเศษในการปกป้องข้อมูลในกรณีที่เกิดข้อผิดพลาด ... ฉันไม่รู้จริง ๆ ว่าควรถามอะไรเป็นพิเศษ แต่ฉันรู้สึกว่าอุตสาหกรรมการเขียนโปรแกรมมีแนวปฏิบัติที่ดีที่สุดที่ฉันไม่รู้ พวกเขาคืออะไร แก้ไข: ดูเหมือนว่าฉันจะเปิดเวิร์มกระป๋องขนาดใหญ่กว่าที่ฉันคาดไว้ เพื่อชี้แจงฉันคิดเฉพาะแอพสองประเภท: "ตรวจสอบรีจิสทรี" - แอปประเภทเช่น GnuCash หรือ Quicken ที่เก็บบันทึกการทำธุรกรรมส่วนบุคคลสำหรับการใช้งานของตนเอง แอพที่ติดตามใบแจ้งหนี้ / …

6
บริษัท ใหญ่ ๆ ทำผิดพลาดใหม่ ๆ ได้อย่างไรซึ่งทำให้เกิดช่องโหว่ด้านความปลอดภัย? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา Sony เพิ่งถูกแฮ็กด้วยการฉีด SQL และรหัสผ่านของผู้ใช้ของพวกเขาถูกเก็บไว้ในรูปแบบข้อความล้วน นี่เป็นความผิดพลาดหน้าใหม่ ใน บริษัท ขนาดใหญ่เช่นนี้จะผ่าน QA ได้อย่างไร พวกเขาไม่มีทีมที่ดีกว่ารู้ดีกว่านี้ได้อย่างไร ขนาดที่แท้จริงของ บริษัท ที่ถูกแฮ็กทำให้สิ่งนี้แตกต่าง มันมีผลกระทบต่อพวกเราทุกคนเพราะวันหนึ่งเราอาจพบว่าตัวเองอยู่ในทีมที่มีหน้าที่รับผิดชอบอะไรเช่นนี้และจากนั้นเราก็ได้ขวาน แล้วอะไรคือปัจจัยที่นำไปสู่สิ่งนี้และเราจะป้องกันได้อย่างไร
15 security  qa  mistakes 

2
การตอบสนอง HTTP ใดที่คุณกลับไปสู่การเข้าชมจากไอพีดำลิสต์
ฉันใช้http: BLเพื่อบล็อก IP ที่ไม่ดีจากการเข้าถึงเว็บไซต์ของฉัน หาก IP ที่เป็นอันตราย (ความคิดเห็นสแปมเมอร์) พยายามที่จะตีเว็บไซต์ฉันเพียงแค่exitสคริปต์เว็บที่ส่งกลับการ200 OKตอบสนองโดยปริยาย คำตอบอื่น ๆ ที่ฉันสามารถส่งคืนได้: 404 - ไม่พบ? ถ้าฉันคืน 404 บางทีหุ่นยนต์อาจจะคิดว่า "นี่เป็นการเสียเวลาปล่อยให้เราไปโจมตีไซต์อื่น" ซึ่งจะช่วยลดภาระบนไซต์ (ปัจจุบันฉันได้รับสแปมฮิตประมาณ 2 ครั้งต่อวินาที) อย่างไรก็ตาม ฉันลังเลที่จะคืน 404 ใน URL ที่ภายใต้สถานการณ์ปกติสามารถพบได้ ฉันไม่แน่ใจว่าหุ่นยนต์สแปมสามารถ 'เสียเวลา' ได้ไหม เช่นเหตุใดนักเขียนบอทจะต้องใส่ใจรหัส 404 เมื่อพวกเขาเพิ่งทำเว็บให้พัง? 401 ไม่ได้รับอนุญาตหรือ การบล็อก IP ที่ไม่ดีนั้นไม่เหมือนกับ "ทรัพยากรต้องการการรับรองความถูกต้องของผู้ใช้ 1) ซึ่งยังไม่ได้ระบุหรือ 2) ซึ่งได้รับการจัดหา แต่ล้มเหลวในการทดสอบการอนุญาต" โดยทั่วไปแล้วฉันรู้สึกว่า 'การตอบสนองต่อบ็อตที่ไม่เหมาะสมตามโปรโตคอล http …
15 security 

5
ระบบการอนุญาตและการรับรองความถูกต้องสำหรับไมโครไซต์และผู้บริโภค
เราวางแผนที่จะปรับระบบของ บริษัท ให้เป็นระบบที่ใช้บริการแบบไมโคร บริการไมโครนี้จะถูกใช้โดยแอปพลิเคชันภายใน บริษัท ของเราและโดยคู่ค้าบุคคลที่สามหากจำเป็น หนึ่งสำหรับการจองหนึ่งสำหรับผลิตภัณฑ์ ฯลฯ เราไม่แน่ใจว่าจะจัดการกับบทบาทและขอบเขตอย่างไร แนวคิดคือการสร้างบทบาทผู้ใช้พื้นฐาน 3 ประการเช่นผู้ดูแลระบบตัวแทนและผู้ใช้ขั้นปลายและให้แอพสำหรับผู้บริโภคปรับขอบเขตหากจำเป็น ผู้ดูแลระบบสามารถสร้างอัปเดตอ่านและลบทรัพยากรทั้งหมดตามค่าเริ่มต้น (สำหรับ บริษัท ของพวกเขา) ตัวแทนสามารถสร้างอัปเดตและอ่านข้อมูลสำหรับ บริษัท ของพวกเขา ผู้ใช้ปลายทางสามารถสร้างอัปเดตลบและอ่านข้อมูล แต่ไม่สามารถเข้าถึงจุดปลายเดียวกันกับตัวแทนหรือผู้ดูแลระบบ พวกเขาจะสามารถสร้างหรือแก้ไขข้อมูลได้ไม่เพียง แต่อยู่ในระดับเดียวกับตัวแทนหรือผู้ดูแลระบบ ตัวอย่างเช่นผู้ใช้ปลายทางสามารถอัปเดตหรืออ่านข้อมูลบัญชีของพวกเขาเช่นเดียวกับเอเจนต์จะสามารถทำได้สำหรับพวกเขา แต่พวกเขาไม่สามารถดูหรืออัปเดตบันทึกของผู้ดูแลระบบได้ สมมติว่าตัวแทนโดยค่าเริ่มต้นสามารถสร้างอ่านและอัปเดตแต่ละทรัพยากรสำหรับ บริษัท ของพวกเขาและนั่นคือขอบเขตสูงสุดของพวกเขาซึ่งสามารถขอโทเค็น / เซสชั่นของพวกเขา แต่นักพัฒนาของลูกค้า (ผู้บริโภค API) ได้ตัดสินใจว่า อ่านและสร้างทรัพยากรบางอย่างเท่านั้น เป็นวิธีปฏิบัติที่ดีกว่าในการจัดการเรื่องนี้ในการรักษาความปลอดภัยภายในของเราหรือไม่และปล่อยให้พวกเขาเขียนข้อมูลนั้นในฐานข้อมูลของเราหรือให้ลูกค้าจัดการกับสิ่งนั้นภายในโดยการร้องขอโทเค็นที่มีขอบเขตน้อยกว่า ? วิธีนี้เราจะต้องติดตามขอบเขตโทเค็นเท่านั้น ข้อเสียของสิ่งนี้คือทีมของเราจะต้องสร้างกลไกการเข้าถึงที่ปรับแต่งในแอปพลิเคชันภายในของเรา ด้วยวิธีคิดนี้บริการไมโครและระบบการอนุญาตไม่ควรใส่ใจกับความต้องการของลูกค้าเพราะพวกเขาเป็นเพียงผู้บริโภคและไม่ได้เป็นส่วนหนึ่งของระบบ (แม้ว่าผู้บริโภคเหล่านั้นจะเป็นแอพภายในของเราเอง)? การมอบหมายนี้เป็นแนวทางที่ดีหรือไม่?

2
ฉันจะป้องกันไม่ให้ไฟล์เอ็กซีคิวต์ของฉันทำงานไม่ถูกต้องหรือไวรัสได้อย่างไร?
ฉันกำลังสร้างซอฟต์แวร์ชิ้นหนึ่งซึ่งจะทำงานบน windows และจะทำหน้าที่เหมือนตัวเรียกใช้สำหรับเกมเพื่อใช้เป็นตัวอัปเดตอัตโนมัติและตัวตรวจสอบไฟล์ในพีซีฝั่งไคลเอ็นต์ สิ่งหนึ่งที่ฉันไม่เข้าใจว่าทำไมซอฟต์แวร์ป้องกันไวรัสของฉัน (Avast) กำลังพิจารณาว่าไฟล์ exe ของฉันเป็นสิ่งที่อันตรายและจะไม่เริ่มต้นโดยไม่ขอให้ใส่ลงในแซนด์บ็อกซ์เพื่อการใช้งานอย่างปลอดภัย มีกฎใดบ้างที่ซอฟต์แวร์ของฉันควรปฏิบัติตามได้รับการปฏิบัติที่ดีหรือฉันควรจ่ายเงินหลายร้อยดอลลาร์สำหรับการเซ็นชื่อแบบดิจิทัลและสิ่งอื่น ๆ ฉันใช้ C # กับ MS Visual Studio 2010 รายงาน VirusTotal ไม่มีการฉีด DLL ทำงานเป็นเครื่องมือดาวน์โหลดไฟล์ระยะไกลโดยใช้คลาส WebClient () มันไม่เหมือนที่มันเตือนเกี่ยวกับไวรัส แต่มัน "แนะนำ" เพื่อ sandbox มัน ดูภาพหน้าจอ:

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

2
ฉันควรเก็บที่อยู่อีเมลไว้เป็นข้อความธรรมดาในฐานข้อมูลหรือไม่
เป็นที่ชัดเจนสำหรับทุกคน ( ฉันหวังว่า ) การจัดเก็บรหัสผ่านโดยที่อย่างน้อยก็ไม่ต้องขาย / ใส่รหัสพวกเขาเป็นความคิดที่แย่มาก แล้วอีเมลล่ะ สมมติว่าคุณใช้ที่อยู่อีเมลการสมัครสมาชิกหากคุณเข้ารหัสอย่างถูกต้องอาจไม่สามารถใช้ส่งอีเมลไปยังผู้ใช้ได้ ในทางกลับกันหากคุณไม่เข้ารหัสและฐานข้อมูลถูกขโมยผู้ใช้ของคุณทุกคนเสี่ยงต่อสแปมที่อาจเกิดขึ้น คำถามนี้ไม่เกี่ยวกับปัญหาเฉพาะทางกฎหมาย (ถึงแม้ว่าจะได้รับ แต่เกี่ยวข้องกับประเทศ) หรือเกี่ยวกับการเข้ารหัสฐานข้อมูลเอง

12
ใบรับรอง SSL มีความสำคัญต่อเว็บไซต์เพียงใด
ฉันกำลังเริ่มต้นโครงการของตัวเองมีพื้นที่ลงทะเบียน / เข้าสู่ระบบ (ผ่านการประดิษฐ์ด้วย RoR, แฮชอย่างถูกต้องและเค็มแน่นอน) ขณะที่ฉันใช้โดเมนย่อยและฉันจำเป็นต้องเข้าถึงพวกเขาด้วย iframes (มันเป็นธรรมจริง ๆ !) ฉันต้องการใบรับรองราคาแพงที่ครอบคลุมโดเมนย่อย เมื่อฉันทำสิ่งนี้ด้วยเวลาและเงินของตัวเองดังนั้นฉันลังเลที่จะทิ้งใบรับรองสองสามร้อยใบรวมถึงสองสามชั่วโมงในการค้นหาสิ่งที่ฉันไม่เคยลองมาก่อน ฉันไม่ได้จัดเก็บข้อมูลที่ละเอียดอ่อนใด ๆ นอกเหนือจากที่อยู่อีเมลและรหัสผ่าน เท่าที่ฉันเข้าใจช่องโหว่เดียวเท่านั้นที่เกิดขึ้นเมื่อผู้ใช้ล็อกหรือลงทะเบียนจากเครือข่ายที่ไม่ได้เข้ารหัส (เช่นร้านกาแฟ) และมีคนกำลังฟังเครือข่าย ฉันถูกหรือไม่ นี่คือสิ่งที่ฉันควรแก้ไขก่อนที่จะปล่อยสู่ป่า ฉันน่าจะพูดถึงฉันมีผู้ใช้ 25,000 คนที่ลงทะเบียนเพื่อรับการแจ้งเตือนเมื่อฉันเปิดตัวดังนั้นฉันกังวลเกี่ยวกับมัน
14 security  ssl 

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

4
ควรแบ่งปันรหัสภายในกับผู้ที่ไม่ใช่นักพัฒนาในองค์กรหรือไม่
ที่ที่ฉันทำงานอยู่เรามีนักพัฒนาจำนวนมากและมีรหัสมากมายที่น่ากลัวที่ใช้แอปพลิเคชันที่เป็นกรรมสิทธิ์ของเราที่ใช้โดยพนักงานและลูกค้า นอกจากนี้เรายังมีเจ้าหน้าที่สนับสนุนที่ชาญฉลาดจำนวนมากที่ต้องการทำความเข้าใจการทำงานภายในของระบบของเราเพื่อสนับสนุนลูกค้าของเราได้ดียิ่งขึ้นและอาจส่งแพทช์เป็นครั้งคราว เราควรเปิดรหัสของเราเพื่อให้พนักงานที่ไม่ใช่นักพัฒนาของเราอ่านได้หรือไม่? เราควรคำนึงถึงปัจจัยใดบ้างเมื่อทำการตัดสินใจครั้งนี้ ฉันเจอข้อโต้แย้งและข้อโต้แย้งหลายทางและต้องการตัดสินใจโดยอาศัยประสบการณ์ของผู้อื่นรวมถึงความเสี่ยงที่เข้าใจกันดี บางคนโต้แย้ง: รหัสผ่านใน VCS นั้นถูกเปิดเผย (วิธีแก้ปัญหา: กำจัดรหัสผ่าน - พวกเขาไม่ควรเริ่มด้วย) รหัสนี้เปิดให้มีการโจมตีเพื่อความปลอดภัยในกล่องขาว (โต้เถียง: สิ่งนี้จะป้องกันผู้โจมตีที่ซื่อสัตย์ / ขี้เกียจเท่านั้น) เจ้าหน้าที่ให้ความช่วยเหลือสามารถถามนักพัฒนาว่า "ทำงานอย่างไร" สิ่งต่าง ๆ (เคาน์เตอร์: สอนคนตกปลา ฯลฯ ) ไม่มีใครเปิดรหัสของพวกเขาให้กับพนักงานในองค์กร มันทำให้เกิดปัญหาใด ๆ ?

3
มันเป็นวิธีปฏิบัติที่ดีตั้งค่าสตริงการเชื่อมต่อในการตั้งค่าเว็บ?
เมื่อเร็ว ๆ นี้ฉันได้พูดคุยกับเพื่อนร่วมงานบางคนในที่ทำงานของฉันเพราะพวกเขาบอกว่าควรมีการเข้ารหัสการเชื่อมต่อสตริงที่ดีกว่า และฉันบอกว่าทำไมไม่ใช้การเชื่อมต่อสตริงที่กำหนดไว้ใน web.config เข้ารหัส? มันเหมือนกันและดีกว่าเพราะเอนทิตี้ของเฟรมเวิร์กตัวอย่างเช่นค้นหาชื่อของการเชื่อมต่อในเว็บ config ของแอพพลิเคชั่นตอนนี้ฉันอยากรู้จากจุดรักษาความปลอดภัยว่าอะไรดีกว่า

5
ทำไมเราต้องการความปลอดภัยระดับวิธี?
ในโลกแห่งความจริงทำไมเราต้องใช้การรักษาความปลอดภัยระดับวิธีการ? เรามีเว็บแอปพลิเคชันหรือแอปพลิเคชันเดสก์ท็อปที่ผู้ใช้เข้าถึงส่วนต่อประสานผู้ใช้ (และไม่สามารถเข้าถึงวิธีการได้โดยตรง) ดังนั้นการเข้าถึงวิธีที่เข้ามาในรูปภาพโดยตรงที่นี่? แก้ไข: ฉันถามคำถามนี้เพราะฉันกำลังทดสอบความปลอดภัยของฤดูใบไม้ผลิและฉันเห็นผู้ใช้อนุญาตให้เข้าถึงวิธีการ สิ่งที่ต้องการ : @ROLE_ADMIN public void update() { //update }
14 security 

1
microservices ควรเป็นผู้ใช้หรือไม่
เรากำลังพยายามหาวิธีที่ดีที่สุดในการอนุญาตผู้ใช้ในสถาปัตยกรรม microservice ในขณะที่มั่นใจว่า microservices มีสิทธิ์ จำกัด สถาปัตยกรรมของเราใช้บริการการอนุญาตจากส่วนกลางเพื่อจัดการการออกโทเค็น JWT เรามีข้อกำหนดดังต่อไปนี้: ผู้ใช้ควรถูก จำกัด ให้ดำเนินบทบาทบางอย่าง เช่นผู้ใช้ควรสามารถสร้าง / แก้ไข / อ่านเนื้อหาที่เขาเป็นเจ้าของได้เท่านั้น Microservices ควร จำกัด เฉพาะการอนุญาตที่จำเป็นเท่านั้น เช่นบริการไมโครเว็บที่เพียงต้องการอ่านข้อมูลจากบริการอื่นควรถูกห้ามอย่างชัดเจนจากการเขียนข้อมูลไปยังบริการนั้น ตัวอย่างเช่นสมมติว่าเรามีระบบที่ผู้ใช้สามารถอัปโหลดรูปภาพไปยังบริการเก็บรูปภาพ เรามีบริการติดแท็กที่ติดแท็กรูปภาพด้วยตำแหน่งโดยอัตโนมัติ ผู้ใช้สามารถ CRUD ภาพของตัวเอง บริการติดแท็กสามารถอ่านภาพใด ๆ จากบริการเก็บรูปภาพอย่างไรก็ตามไม่ควรแก้ไข / ลบ เป็นวิธีที่ดีในการบรรลุเป้าหมายข้างต้นโดยใช้โทเค็น JWT คืออะไร? วิธีแก้ปัญหาบางอย่างที่เรากล่าวถึงคือ: บริการเก็บรูปภาพแสดง 2 APIs หนึ่งที่พร้อมใช้งานภายนอก (ให้สิทธิ์การเข้าถึง CRUD ผู้ใช้) และอีกหนึ่งที่พร้อมใช้งานภายใน (ให้การเข้าถึงแบบอ่านอย่างเดียวภายใน) ดูเหมือนว่าไม่ยืดหยุ่น - จะเกิดอะไรขึ้นถ้าบริการภายในอื่นต้องการการเข้าถึงเพื่ออ่าน / เขียนภาพทั้งหมด …

4
ต้องทำอย่างไรเมื่อ บริษัท ของคุณไม่ได้เข้ารหัสรหัสผ่าน
พื้นหลัง ฉันได้รับสัญญาเพื่อช่วย บริษัท ดูแลเซิร์ฟเวอร์ของพวกเขา ฉันทำงานกับโปรเจค PHP บางตัว แต่ก็ยังดูปัญหาด้านประสิทธิภาพและเมื่อเร็ว ๆ นี้สแกนบันทึกการแฮ็กเกอร์ พวกเหล่านี้ใช้เซิร์ฟเวอร์มาระยะหนึ่งและมีสิ่งที่ฉันจะเรียกว่าแอปพลิเคชันรุ่นเก่าที่ขาสุดท้าย มันใช้คำพูดเวทมนต์ตัวแปรทั่วโลก (ซึ่งอนุญาตให้$idเขียนทับโดย$_GET['id']) ใช้. htaccess เป็นความปลอดภัยเพียงอย่างเดียวในบางกรณีคุณตั้งชื่อมัน ฝันร้ายด้านความปลอดภัยและการเขียนโปรแกรม เราเคยถูกแฮ็กในอดีตโดยส่วนใหญ่ใช้ SQL injections ซึ่งจะรันSLEEP(99999999)คำสั่งและทำหน้าที่เหมือนโจมตี DOS โชคดีที่พวกเขาไม่ได้เรียกใช้ "โต๊ะบ๊อบบี้น้อย" XKCD: http://xkcd.com/327/ ดังนั้นฉันจึงเขียนคำสั่ง SQL ที่มีช่องโหว่จากmysql_query()(ไม่ใช่ mysqli) ไปยังธุรกรรม PDO ฉันยังวิเคราะห์การค้นหาSLEEPและUNIONที่เราไม่ได้ใช้ แต่การฉีดมี จนถึงตอนนี้ดีมาก ฉบับล่าสุด เมื่อเร็ว ๆ นี้เราได้รับการบอกว่ามีการเปลี่ยนแปลงบันทึกในฐานข้อมูลสำหรับผู้ใช้เช่นที่อยู่อีเมลของพวกเขาไปเป็นข้อมูลที่ผู้ส่งอีเมลขยะทำ ฉันสังเกตเห็นคอลัมน์ของพวกเขาไม่มีlast_modifiedคอลัมน์ดังนั้นเราจึงไม่สามารถรู้ได้ว่าเมื่อใดที่มีการเปลี่ยนแปลง ฉันเพิ่มคอลัมน์นั้น แต่มันแทบจะไม่เป็นขั้นตอนแรก เมื่อฉันดูตารางนี้ฉันสังเกตว่ารหัสผ่านไม่ได้ถูกใส่เกลือหรือถูกแฮชเพียงบันทึกเป็นข้อความธรรมดา การสื่อสารลูกค้า ฉันจะเข้าใกล้พวกเขาเกี่ยวกับสถานการณ์ทั้งหมดในฐานะผู้รับเหมาโดยไม่ล้มแขนของฉันเหมือนคนบ้าได้อย่างไร คำแนะนำใด ๆ? ฉันกำลังคิดวิธีสงบ ปัญหา # …
13 php  apache  security  mysql 

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