เทคนิคการแก้ไขไม่ให้ FreePBX/Elastix เช็ค Password Strong

Elastix IP Pbx

Moderator: jubjang

เทคนิคการแก้ไขไม่ให้ FreePBX/Elastix เช็ค Password Strong

โพสต์โดย nuiz » 14 มี.ค. 2013 12:10

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

เวลาที่เราสร้างเบอร์ Extensions ในหน้าเว็บ Elastix หรือ FreePBX เวอร์ชั่นใหม่ๆ รู้สึกรำคาญมั๊ยครับที่เวลาเราเผลอเซ็ตพาสเวอร์ดในช่อง secret มีแต่ตัวเลขอย่างเดียวและ/หรือความยาวไม่ถึง 6 ตัว มันจะฟ้องขึ้นมาว่า

"The secret must be at minimum six characters in length"

ตามรูปเลยครับ

รูปภาพ

ผมมีเทคนิคเล็กๆน้อยๆที่จะทำให้มันไม่ฟ้อง Error ซึ่งก็หมายความว่าเราสามารถตั้ง password ยังไงก็ได้ที่เราอยากตั้ง วิธีการก็มีดังต่อไปนี้ครับ

1. เปิดไฟล์ /var/www/html/admin/common/script.js.php
แล้วค้นหา function weakSecret()

จะได้แบบนี้

โค้ด: เลือกทั้งหมด
function weakSecret()
{

  var password = document.getElementById('devinfo_secret').value;
  var origional_password = document.getElementById('devinfo_secret_origional').value;

  if (password == origional_password)
  {
    return false;
  }

  if (password.length <= 5)
  {
    alert('<?php echo _("The secret must be at minimum six characters in length."); ?>');
    return true;
  }

  if (password.match(/[a-z].*[a-z]/i) == null || password.match(/\d\D*\d/) == null)
  {
    alert('<?php echo _("The secret must contain at least two numbers and two letters."); ?>');
    return true;
  }
  return false;
}


2. ให้เพิ่มบรรทัด return false;
ไว้บนสุดของ function weakSecret แบบนี้ครับ

โค้ด: เลือกทั้งหมด
function weakSecret()
{

  return false;

  var password = document.getElementById('devinfo_secret').value;
  var origional_password = document.getElementById('devinfo_secret_origional').value;

  if (password == origional_password)
  {
    return false;
  }

  if (password.length <= 5)
  {
    alert('<?php echo _("The secret must be at minimum six characters in length."); ?>');
    return true;
  }

  if (password.match(/[a-z].*[a-z]/i) == null || password.match(/\d\D*\d/) == null)
  {
    alert('<?php echo _("The secret must contain at least two numbers and two letters."); ?>');
    return true;
  }
  return false;
}

ซึ่งจะทำให้เมื่อมีการเรียกใช้ฟังก์ชั่นนี้ เข้ามาก็ออกไปเลย รีเทอร์นกลับไปด้วย false ซึ่งแสดงว่า secret ไม่เข้าเงื่อนไขสักกรณี หลอกโปรแกรมว่า secret ของเรามัน strong

3. เซฟไฟล์
4. ล๊อกเอ๊าท์ออกจาก Elastix
5. ลบ Cache ของ Web Browser
ข้อนี้ก็สำคัญครับ ต้องลบ cache ด้วยนะครับ
6. ล๊อกอินเข้า Elastix
7. เทส

ลองดูครับ

หากทำตามแล้วยังเหมือนเดิม ลองเทคนิคต่อไปนี้ครับ
1. สร้างเบอร์ Extension ใน freePBX แทน
http://x.x.x.x/admin

หาก Elastix ฟ้องว่าไม่ให้เข้า ต้อง Enable ใน Elastix ก่อนนะครับ แถบบนสุดคลิ๊กรูปลูกศรชี้ลง เลือก Security คลิ๊ก Advanced Settings
Enable direct access (Non-embedded) to FreePBX = yes
ส่วน 2 ช่องด้านขวามือให้ใส่ Password ที่จะเข้า freePBX ใส่อะไรก็ได้ แต่แนะนำว่าควรใส่พาสเวอร์ดเดียวกับ Elastix ครับ จะได้ไม่ต้องจำเยอะ (ถึงจะไม่ค่อยดีในแง่ความปลอดภัยก็เถอะ)
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: เทคนิคการแก้ไขไม่ให้ FreePBX/Elastix เช็ค Password Strong

โพสต์โดย nuiz » 18 ม.ค. 2015 12:42

ฟีเจอร์นี้ทำได้ง่ายๆเลยครับใน Elastix 2.5 โดยเข้า FreePBX แล้วคลิ๊ก Settings -> Advanced Settings

รูปภาพ

หาบรรทัด Require Strong Secrets

เปลี่ยนให้เป็น False

กดรูปลูกศรในวงกลมสีเขียว
รูปภาพ

แล้วกด Apply Config ด้านบน
รูปภาพ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33


ย้อนกลับไปยัง Elastix - Unified Communications Software

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 0 ท่าน