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

การรับรองความถูกต้องเป็นกระบวนการของการตรวจสอบตัวตน

4
ดำเนินการพิสูจน์ตัวตนผู้ใช้ใน Java EE / JSF โดยใช้ j_security_check
ฉันสงสัยว่าวิธีการปัจจุบันเกี่ยวกับการรับรองความถูกต้องของผู้ใช้สำหรับเว็บแอปพลิเคชันที่ใช้ JSF 2.0 (และหากมีส่วนประกอบใด ๆ อยู่) และกลไกหลัก Java EE 6 (เข้าสู่ระบบ / ตรวจสอบสิทธิ์ / ล็อกเอาท์) ด้วยข้อมูลผู้ใช้ เอกลักษณ์ การสอน Oracle Java EE ค่อนข้างกระจัดกระจายในเรื่องนี้ นี่คือโดยไม่ทำให้การใช้กรอบอื่น ๆ ทั้งหมดเช่นฤดูใบไม้ผลิรักษาความปลอดภัย (Acegi) หรือตะเข็บ แต่พยายามที่จะติดหวังกับ Java EE 6 แพลตฟอร์ม (รายละเอียดเว็บ) ใหม่ถ้าเป็นไปได้

3
passport.js รับรองความถูกต้องสงบ
มีวิธีจัดการกับการรับรองความถูกต้อง (ตัวอย่างเช่นภายในและ Facebook) โดยใช้ passport.js ผ่าน RESTful API แทนที่จะใช้ผ่านเว็บอินเตอร์เฟส ข้อกังวลเฉพาะเจาะจงคือการจัดการการส่งผ่านข้อมูลจากการเรียกกลับไปยังการตอบกลับแบบสงบ (JSON) กับการใช้ res.send ทั่วไป ({data: req.data}), การตั้งค่าจุดเริ่มต้น / การล็อกอินที่เปลี่ยนเส้นทางไปยัง Facebook (/ ล็อกอินไม่สามารถ เข้าถึงได้ผ่าน AJAX เนื่องจากไม่ใช่การตอบสนอง JSON - เป็นการเปลี่ยนเส้นทางไปยัง Facebook ด้วยการโทรกลับ) ฉันพบhttps://github.com/halrobertson/test-restify-passport-facebookแต่ฉันมีปัญหาในการทำความเข้าใจ นอกจากนี้ passport.js จะจัดเก็บข้อมูลรับรองความถูกต้องอย่างไร เซิร์ฟเวอร์ (หรือบริการเป็นบริการนี้) ได้รับการสนับสนุนโดย MongoDB และฉันคาดหวังว่าข้อมูลประจำตัว (ล็อกอินและแฮชของ pw) จะถูกเก็บไว้ที่นั่น แต่ฉันไม่ทราบว่า passport.js มีความสามารถประเภทนี้หรือไม่

10
วิธีที่ดีที่สุดสำหรับการใช้งาน 'ลืมรหัสผ่าน'? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังมองหาวิธีที่ดีที่สุดในการใช้งานคุณสมบัติ "ลืมรหัสผ่าน" ฉันออกมาพร้อมกับ 2 แนวคิด: เมื่อผู้ใช้คลิกที่ลืมรหัสผ่านผู้ใช้จะต้องป้อนชื่อผู้ใช้อีเมลและวันเดือนปีเกิดหรือนามสกุล จากนั้นอีเมลที่มีรหัสผ่านชั่วคราวจะถูกส่งไปยังบัญชีอีเมลผู้ใช้ ผู้ใช้ใช้รหัสผ่านชั่วคราวเพื่อเข้าสู่ระบบและรีเซ็ตรหัสผ่านของเขา คล้ายกัน แต่อีเมลจะมีลิงค์สำหรับให้ผู้ใช้รีเซ็ตรหัสผ่านของเขา หรือใครก็ตามสามารถแนะนำฉันได้ดีกว่าและปลอดภัยกว่า? ฉันกำลังคิดที่จะส่งรหัสผ่านชั่วคราวหรือลิงก์บังคับให้ผู้ใช้รีเซ็ตรหัสผ่านภายใน 24 ชั่วโมงมิฉะนั้นรหัสผ่านหรือลิงก์ชั่วคราวจะไม่สามารถใช้งานได้ ทำอย่างไร

8
การเข้าถึงรูทของ MySQL จากโฮสต์ทั้งหมด
ฉันติดตั้งเซิร์ฟเวอร์ MySQL บนเครื่อง Ubuntu ระยะไกลแล้ว rootผู้ใช้จะถูกกำหนดไว้ในmysql.userตารางด้วยวิธีนี้: mysql> SELECT host, user, password FROM user WHERE user = 'root'; +------------------+------+-------------------------------------------+ | host | user | password | +------------------+------+-------------------------------------------+ | localhost | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | | ip-10-48-110-188 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | | 127.0.0.1 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | | ::1 | …

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

16
การตอบโต้ของ Brute Force ที่ดีที่สุดคืออะไร
ข้อแรกพื้นหลังเล็กน้อย: มันไม่มีความลับที่ฉันใช้ระบบ auth + auth สำหรับ CodeIgniter และจนถึงตอนนี้ฉันก็ชนะ (ดังนั้นพูด) แต่ผมเคยทำงานเป็นความท้าทายที่สวยไม่น่ารำคาญ (หนึ่งที่มากที่สุดห้องสมุดรับรองความถูกต้องพลาดทั้งหมด แต่ผมยืนยันในการจัดการอย่างถูกต้อง): วิธีการจัดการอย่างชาญฉลาดที่มีขนาดใหญ่กระจายตัวแปรชื่อผู้โจมตีแรงเดรัจฉาน ฉันรู้ทุกเทคนิคปกติ: การ จำกัด จำนวน # ของความพยายามที่ล้มเหลวต่อ IP / โฮสต์และปฏิเสธการเข้าถึงผู้กระทำผิด (เช่น Fail2Ban) - ซึ่งไม่ทำงานอีกต่อไปเนื่องจาก botnets เติบโตอย่างชาญฉลาด การรวมรายการด้านบนกับบัญชีดำของ IP / โฮสต์ที่รู้จัก 'ไม่ดี' (เช่น DenyHosts) - ซึ่งขึ้นอยู่กับ botnets ที่ล้มลงในอันดับที่ 1 ซึ่งพวกเขาไม่ทำมากขึ้น รายการ IP / โฮสต์ที่รวมกับการรับรองความถูกต้องแบบดั้งเดิม (ไร้ประโยชน์เศร้ากับผู้ใช้ IP แบบไดนามิกและปั่นป่วนสูงในเว็บไซต์ส่วนใหญ่) การตั้งค่าจำกัด sitewideในจำนวน …

8
การพิสูจน์ตัวตนโทเค็นกับคุกกี้
อะไรคือความแตกต่างระหว่างการพิสูจน์ตัวตนโทเค็นและการพิสูจน์ตัวตนโดยใช้คุกกี้? ฉันกำลังพยายามใช้งานEmber Auth Rails Demoแต่ฉันไม่เข้าใจเหตุผลเบื้องหลังการใช้การตรวจสอบความถูกต้องโทเค็นตามที่อธิบายไว้ในคำถามที่พบบ่อยของEmber Authสำหรับคำถาม "ทำไมต้องมีการตรวจสอบความถูกต้องโทเค็น"

2
วิธีใช้ Python เพื่อเข้าสู่หน้าเว็บและเรียกใช้คุกกี้เพื่อใช้ในภายหลัง
ฉันต้องการดาวน์โหลดและแยกวิเคราะห์เว็บเพจโดยใช้ไพ ธ อน แต่เพื่อเข้าใช้ฉันต้องการชุดคุกกี้สองชุด ดังนั้นฉันต้องลงชื่อเข้าใช้ผ่าน https ไปยังหน้าเว็บก่อน ช่วงเวลาการเข้าสู่ระบบเกี่ยวข้องกับการส่งสอง POST params (ชื่อผู้ใช้รหัสผ่าน) เพื่อ /login.php ในระหว่างคำขอเข้าสู่ระบบฉันต้องการดึงคุกกี้จากส่วนหัวการตอบสนองและเก็บไว้เพื่อให้ฉันสามารถใช้พวกเขาในคำขอเพื่อดาวน์โหลดหน้าเว็บ /data.php ฉันจะทำสิ่งนี้ในไพ ธ อน (ยิ่งกว่า 2.6) ได้อย่างไร ถ้าเป็นไปได้ฉันต้องการใช้โมดูลในตัวเท่านั้น


3
กลยุทธ์การตรวจสอบความถูกต้องของ Microservice
ฉันมีปัญหาในการเลือกกลยุทธ์การตรวจสอบสิทธิ์ที่เหมาะสม / ปลอดภัยสำหรับสถาปัตยกรรมไมโครเซอร์วิส โพสต์ SO เดียวที่ฉันพบในหัวข้อนี้คือSingle Sign-On ใน Microservice Architecture ความคิดของฉันที่นี่คือการมีในแต่ละบริการ (เช่นการรับรองความถูกต้องการส่งข้อความการแจ้งเตือนโปรไฟล์ ฯลฯ ) การอ้างอิงที่ไม่ซ้ำกันสำหรับผู้ใช้แต่ละคน (ค่อนข้างมีเหตุผลแล้วของเขาuser_id) และความเป็นไปได้ที่จะรับผู้ใช้ปัจจุบันidหากเข้าสู่ระบบ จากการวิจัยของฉันฉันเห็นว่ามีสองกลยุทธ์ที่เป็นไปได้: 1. สถาปัตยกรรมที่ใช้ร่วมกัน ในกลยุทธ์นี้แอปตรวจสอบความถูกต้องเป็นหนึ่งในบริการอื่น ๆ แต่แต่ละบริการต้องสามารถทำการแปลงsession_id=> ได้user_idดังนั้นจึงต้องตายง่ายๆ นั่นเป็นเหตุผลที่ฉันนึกถึง Redis ซึ่งจะเก็บคีย์: ค่าsession_id:user_idไว้ 2. สถาปัตยกรรมไฟร์วอลล์ ในกลยุทธ์นี้การจัดเก็บเซสชันไม่ได้มีความสำคัญมากนักเนื่องจากได้รับการจัดการโดยแอปตรวจสอบสิทธิ์เท่านั้น จากนั้นuser_idสามารถส่งต่อไปยังบริการอื่น ๆ ฉันนึกถึง Rails + Devise (+ Redis หรือ mem-cached หรือที่เก็บคุกกี้ ฯลฯ ) แต่มีความเป็นไปได้มากมาย สิ่งเดียวที่สำคัญคือ Service X ไม่จำเป็นต้องตรวจสอบสิทธิ์ผู้ใช้ วิธีการแก้ปัญหาทั้งสองนี้เปรียบเทียบกันอย่างไรในแง่ของ: …

9
HttpWebRequest โดยใช้การรับรองความถูกต้องเบื้องต้น
ฉันพยายามที่จะผ่านการร้องขอการรับรองความถูกต้องที่เลียนแบบ "การรับรองความถูกต้องขั้นพื้นฐาน" เราเคยเห็นเมื่อตั้งค่า IIS สำหรับพฤติกรรมนี้ URL คือ: https://telematicoprova.agenziadogane.it/TelematicoServiziDiUtilitaWeb/ServiziDiUtilitaAutServlet?UC=22&SC=1&ST=2 (คำเตือน: https!) เซิร์ฟเวอร์นี้ทำงานภายใต้ UNIX และ Java เป็นแอปพลิเคชันเซิร์ฟเวอร์ นี่คือรหัสที่ฉันใช้เชื่อมต่อกับเซิร์ฟเวอร์นี้: CookieContainer myContainer = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://telematicoprova.agenziadogane.it/TelematicoServiziDiUtilitaWeb/ServiziDiUtilitaAutServlet?UC=22&SC=1&ST=2"); request.Credentials = new NetworkCredential(xxx,xxx); request.CookieContainer = myContainer; request.PreAuthenticate = true; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); (ฉันคัดลอกสิ่งนี้จากโพสต์อื่นในเว็บไซต์นี้) แต่ฉันได้รับคำตอบจากเซิร์ฟเวอร์: การเชื่อมต่อพื้นฐานถูกปิด: มีข้อผิดพลาดที่ไม่คาดคิดเกิดขึ้นในการส่ง ฉันคิดว่าฉันพยายามทุกอย่างที่เป็นไปได้ที่ความรู้ของฉันใน C # จะต้องเสนอให้ฉัน แต่ไม่มีอะไร ...

3
Spring Security Filter Chain ทำงานอย่างไร
ฉันตระหนักดีว่าการรักษาความปลอดภัยของ Spring สร้างขึ้นจากชุดตัวกรองซึ่งจะสกัดกั้นคำขอตรวจจับ (ไม่มี) การตรวจสอบสิทธิ์เปลี่ยนเส้นทางไปยังจุดเข้าใช้งานการตรวจสอบสิทธิ์หรือส่งคำขอไปยังบริการอนุญาตและในที่สุดก็ปล่อยให้คำขอเข้าสู่ servlet หรือโยนข้อยกเว้นด้านความปลอดภัย (ไม่ได้รับการพิสูจน์ตัวตนหรือไม่ได้รับอนุญาต) DelegatingFitlerProxyจะรวมตัวกรองเหล่านี้เข้าด้วยกัน ในการดำเนินงานของพวกเขาเหล่านี้เข้าถึงบริการกรองเช่นUserDetailsServiceและAuthenticationManager ตัวกรองหลักในห่วงโซ่คือ (ตามลำดับ) SecurityContextPersistenceFilter (กู้คืนการพิสูจน์ตัวตนจาก JSESSIONID) UsernamePasswordAuthenticationFilter (ดำเนินการตรวจสอบสิทธิ์) ExceptionTranslationFilter (จับข้อยกเว้นด้านความปลอดภัยจาก FilterSecurityInterceptor) FilterSecurityInterceptor (อาจมีข้อยกเว้นในการพิสูจน์ตัวตนและการอนุญาต) ฉันสับสนว่าตัวกรองเหล่านี้ใช้อย่างไร สำหรับการเข้าสู่ระบบแบบฟอร์มที่มีให้ในฤดูใบไม้ผลิUsernamePasswordAuthenticationFilterจะใช้สำหรับ/ loginเท่านั้นและตัวกรองหลังไม่ได้ใช่หรือไม่? ที่ไม่ใช้แบบฟอร์มการเข้าสู่ระบบองค์ประกอบ namespace อัตโนมัติกำหนดค่าตัวกรองเหล่านี้หรือไม่ ทุกคำขอ (รับรองความถูกต้องหรือไม่) เข้าถึงFilterSecurityInterceptorสำหรับ URL ที่ไม่เข้าสู่ระบบหรือไม่ จะเกิดอะไรขึ้นถ้าฉันต้องการรักษาความปลอดภัย REST API ด้วยJWT-tokenซึ่งดึงมาจากการเข้าสู่ระบบ? ฉันต้องกำหนดค่าhttpแท็กคอนฟิกูเรชันเนมสเปซสองแท็กสิทธิ์? หนึ่งสำหรับการเข้าสู่ระบบ /ด้วยUsernamePasswordAuthenticationFilterและอีกคนหนึ่งสำหรับส่วนที่เหลือของ URL JwtAuthenticationFilterกับที่กำหนดเอง การกำหนดค่าสองhttpองค์ประกอบสร้างสองspringSecurityFitlerChainsหรือไม่ ถูกUsernamePasswordAuthenticationFilterปิดโดยปริยายจนผมประกาศform-login? ฉันจะแทนที่SecurityContextPersistenceFilterด้วยตัวกรองซึ่งจะได้รับAuthenticationจากที่มีอยู่JWT-tokenแทนที่จะเป็นJSESSIONIDอย่างไร

5
Git Clone จาก GitHub ผ่าน https ด้วยการรับรองความถูกต้องด้วยสองปัจจัย
ฉันเพิ่งเริ่มใช้การรับรองความถูกต้องด้วยสองปัจจัยบน GitHub และตอนนี้ฉันไม่สามารถใช้ git ผ่าน https บน repos ส่วนตัวได้ตามปกติ: peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo Cloning into 'MyPrivateRepo'... Username for 'https://github.com': [...] Password for 'https://[...]@github.com': remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/[...]/MyPrivateRepo/' หากฉันปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยฉันสามารถใช้งานได้เหมือนเดิม: peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo Cloning into 'MyPrivateRepo'... Username for 'https://github.com': [...] Password for 'https://[...]@github.com': remote: Counting …

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

2
CSRF Token จำเป็นเมื่อใช้ Stateless (= Sessionless) Authentication?
จำเป็นหรือไม่ที่จะต้องใช้การป้องกัน CSRF เมื่อแอปพลิเคชันต้องอาศัยการพิสูจน์ตัวตนแบบไร้สัญชาติ (โดยใช้บางอย่างเช่น HMAC) ตัวอย่าง: เรามีแอพหน้าเดียว (มิฉะนั้นเราต้องต่อท้ายโทเค็นในแต่ละลิงค์: <a href="...?token=xyz">...</a>. POST /authผู้ใช้จะตรวจสอบตัวเองใช้ ในการตรวจสอบสิทธิ์สำเร็จเซิร์ฟเวอร์จะส่งคืนโทเค็นบางส่วน โทเค็นจะถูกจัดเก็บผ่าน JavaScript ในตัวแปรบางตัวภายในแอพหน้าเดียว โทเค็นนี้จะใช้ในการ จำกัด การเข้าถึง URL /adminที่ชอบ โทเค็นจะถูกส่งภายใน HTTP Headers เสมอ ไม่มีเซสชัน Http และไม่มีคุกกี้ เท่าที่ฉันเข้าใจมี (?!) ไม่ควรใช้การโจมตีข้ามไซต์เนื่องจากเบราว์เซอร์จะไม่เก็บโทเค็นและด้วยเหตุนี้จึงไม่สามารถส่งไปยังเซิร์ฟเวอร์โดยอัตโนมัติได้ (นั่นคือสิ่งที่จะเกิดขึ้นเมื่อใช้คุกกี้ / เซสชั่น) ฉันพลาดอะไรไปรึเปล่า?

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