แสดงบทความที่มีป้ายกำกับ password policy แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ password policy แสดงบทความทั้งหมด

วันจันทร์ที่ 16 ธันวาคม พ.ศ. 2556

เรื่องที่ Zimbra Admin ทุกคนควรจะ(ต้อง)อ่าน

ช่วงหลังๆ ผมพบว่า มีท่านผู้อ่าน สอบถามปัญหาเกี่ยวกับปัญหาที่ Zimbra โดน hack  กันอยู่เรื่อยๆ บางคนโดน hack  Zimbra account บางคนหนักๆ โดน hack root ของเครื่อง Linux เลย บางคนไม่โดน hack แต่ setup ไม่ดี  สุดท้ายทำให้ Zimbra Server ของเรา กลาย เครื่องส่ง spam ไปก็เห็นกันบ่อย

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

ผมจึงอยากจะขอรวบรวมเรื่องที่สำคัญ ที่ Zimbra Admin ควรจะทราบที่เกี่ยวข้องกับการ hack ระบบของ zimbra และช่วยแฟน Thai Zimbra ที่ได้กด like fan page นี้ที่หลัง ได้ทราบถึงสิ่งที่ควรทำ ในการป้องกัน  Zimbra Server ของเรา

ตามนี้ครับ

1)  เกี่ยวกับเรื่องที่ว่าทำไม hacker ชอบ hack ระบบ Mail server  เค้า hack แล้ว ได้อะไร
http://thaizimbra.blogspot.com/2013/03/hack-email-account-part-i.html
http://thaizimbra.blogspot.com/2013/04/hacking-email-account-part-ii.html

2) วิธีป้องกันไม่ให้ hack root เข้ามาทาง ssh
http://thaizimbra.blogspot.com/2013/11/linux-hack-ssh.html

โดยปกติ hacker จะเดาชื่อ user และ password โดย user ที่จะโดนเป็นอันดับแรก  คือ root เพราะไม่ต้องเดาชื่อ user มีทุกเครื่อง และ root เป็น user บน Linux ที่ใหญ่ที่สุด ทำได้ทุกอย่าง root โดน hack ก็เป็นอันจบกันครับ เหมือนตั้งเครื่องให้คนอื่นเค้าใช้งานดีๆนี่เอง

และอย่างชล่าใจว่า password root เราตั้งยากแล้ว จะไม่โดน hack นะครับ hacker เค้าไม่ได้นั่งเดา password และลองที่ละตัวนะครับ เค้ามีโปรแกรมทีสร้าง list ของ  password โดยเอาอักขระมาผสมกัน ส่วนการ login เค้าก็ใชเโปรแกรมเช่นกันครับ ทำได้วินาทีละหลายๆครั้ง บางคนใช้คำว่าโดน ยิง ซึ่งดูเหมือนจะเหมาะกว่า  รอดยากครับ

หมายเหตุ การ setup Linux ให้มีความปลอดภัย (Linux Hardening) มีกระบวนการอยู่มากมายครับ  เรื่องนี้เป็นแค่เรื่องเดียวเท่านั้น

3) วิธีการกำหนดให้ user ของ Zimbra ต้องตั้ง password ให้เดาได้ยากๆ
http://thaizimbra.blogspot.com/2013/03/zimbra-tip-and-technique-8-password.html
http://thaizimbra.blogspot.com/2013/03/zimbra-tips-and-technique-9-password.html

เรื่องนี้สำคัญมากครับ admin หลายคนรู้ พยายามจะให้ user ใช้  แต่ user ไม่ยอม อยากได้ password แบบตั้งง่ายๆ จะได้จำง่ายๆ
อันนี้คงขึ้นกับฝีมือ หรือฝีปากของ Admin (หรือหัวหน้าแผนก IT) ในการโน้มน้าว user ซึ่งส่วนใหญ่คนที่มีปัญหามักจะเป็นระดับผู้บริหารหรือคนเก่าคนแก่ขององค์กรขนาดกลางหรือเล็ก  ส่วนบริษัทขนาดใหญ่ ไม่ค่อยเจอครับ

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

คำแนะนำของผมก็คือ คุยตกลงกันให้เรียบร้อยก่อนจะขึ้นระบบ  Zimbra อธิบายถึงข้อเสียว่าจะเกิดอะไรขึ้นบ้าง (อ่านได้จากในข้อ 1)  และเริ่มกำหนดรูปแบบของ password ให้เดายากๆ ตั้งแต่ต้นเลย ถ้าให้ user ใช้งานไปก่อน แล้วค่อยมากกำหนดเรื่องนี้ที่หลัง มีแนวโน้มที่จะเจอ user ไม่เข้าใจ หรืององแง เป็นไปได้สูงมากครับ

4) วิธีกำหนดให้ Zimbra จัดการกับ account ที่ถูก login ผิดๆ ติดๆกัน หลายๆครั้ง ในช่วงเวลาไม่กี่วินาที
http://thaizimbra.blogspot.com/2013/04/zimbra-tip-and-technique-10-failed.html

สำหรับเรื่องนี้ ต่อเนื่องจากข้อ 3)  ครับ ถึงแม้ เราจะตั้ง password ให้เดาได้ยาก แต่เนื่องจาก hacker เค้า login โดยใช้โปรแกรม ซึ่งวิธีนี้ เดาไปเรื่อยๆ ก็มีสิทธิที่จะเดา password ได้ถูกเหมือนกันครับ วิธีป้องกันคือ ต้องล็อก account ซะ ถ้ามีการ login ผิดติดๆกัน ถี่ๆ ผิดวิสัยของคนปกติ  ซึ่งอาจจะทำเป็นการชั่วคราว หรือวิธีที่ล็อกแล้วต้องรอให้ admin มาปลดล้อกให้ก็ได้ครับ

ผมอยากจะบอกว่า

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

อาจฟังดูแรงไป แต่ผมก็หมายความอย่างนั้นจริงๆ ครับ เพราะถ้าคุณตั้ง Zimbra แบบไม่ป้องกันการ hack ตามหัวข้อต่อไปนี้ ผมว่ามันก็ไม่แตกต่างกับกับการตั้ง Zimbra ให้เค้ามา hack ให้เสียชื่อปล่าวๆ

และอย่าคิดว่าการมี Firewall ราคาแพงๆ อยู่แล้วจะช่วยได้ วิธีการ hack พวกนี้ เค้าเค้ามาทางช่องทางที่คุณเปิดให้คนข้างนอกเข้ามาใช้งาน จะปิดก็ทำให้ระบบใช้งานไม่ได้ ในกรณีนี้ firewall ไม่ใช่ประเด็นครับ  ประเด็นอยู่ที่การ setup เครื่อง server มากกว่า

หัวข้อพวกนี้ ไม่ได้จำกัดอยู่แค่ Zimbra เท่านั้น แต่หลายเรื่องสามารถนับไปปรับใช้ กับ  Mail Server อื่นทั้งที่ทำงานอยู่บน Linux หรือไม่ได้ทำงานอยู่บน Linux ด้วย แชร์หรือบอกกล่าวให้คนอื่นๆ ได้ทราบกัน จะเป็นบุญอย่างยิ่งครับ

อีกอย่าง ทำตามที่ผมบอก ไม่ได้หมายความว่าจะปลอดภัย 100% นะครับ แต่เรื่องพวกนี้ เป็นเรื่องแค่พื้นฐานที่เราต้องทำ
ยังมีอีกหลายเรื่องเกียวกับความปลอดภัย ที่ผมยังไม่ได้เขียนถึงครับ ไว้มีโอกาส จะค่อยๆเล่าไปทีละเรื่องละกัน

ขอให้ระบบ Zimbra ทีคุณดูแล ปลอดภัยจากเหล่า hacker ที่ชั่วร้ายนะครับ



วันอังคารที่ 7 พฤษภาคม พ.ศ. 2556

Zimbra Tip and Technique #10 : Failed Login Policy


อาทิตย์ก่อน ผมได้พูดถึงเรื่องการ hack email account ซึ่ง zimbra สามารถป้องกัน หรือ ทำให้โอกาสเกิดขึ้นได้น้อยลงมาก โดยการกำหนด password policy
Photo: Zimbra Tip & Technique #10 : Failed Login Policy

อาทิตย์ก่อน ผมได้พูดถึงเรื่องการ hack email account ซึ่ง zimbra 
สามารถป้องกัน หรือ ทำให้โอกาสเกิดขึ้นได้น้อยลงมาก โดยการกำหนด password 
policy 
อีกสิ่งหนึ่งที่ทำได้ คือการกำหนด Failed login policy 
ซึ่งเป็นการกำหนดพฤติกรรมให้กับ zimbra ว่า ถ้า user คนหนึ่งมีการ login 
ผิด ว่าระบบจะใช้อะไรตัดสิน และจะทำอย่างไรกับ account ที่ login ผิด 

ซึ่งมีค่าที่เซตได้ดังนี้

Enable failed login lockout :  เป็นการ enable feature ว่า ถ้ามีการ login
 ผิดตามรายละเอียดที่ set ไว้ ระบบจะทำการ lock user ไม่ให้ login ได้

Number of consecutive failed login allowed : 
เป็นค่าจำนวนครั้งที่อนุญาติให้ user มีการ login ผิด ติดต่อกัน

Time window in which failed login must occure to lock the account : 
เป็นการระบุว่า การ login ผิดติดต่อกัน ตามค่าที่กำหนด 
ต้องเกิดขึ้นภายในระยะเวลาเท่าไหร่ ระบบถึงจะ lock account นั้นๆ 

Time to lockout the account : เวลาที่ระบบจะ lock user  ไม่ให้ login 
ถ้ามีการ login ผิดติดต่อกัน ตาม จำนวนครั้ง และภายในเวลาที่กำหนด 


วิธีนี้สามารถแก้ปัญหาที่ hacker รู้ account และพยายาม เดา password 
ได้ในระดังหนึ่ง คือเดาได้แค่เท่ากับจำนวนครั้งที่เรากำหนดไว้ หลังจากนั้น 
ถึงแม้เดาถูก แต่  account ถูก lock ก็ login ไม่ได้

 และในขณะเดียวกัน จะทำให้ zimbra admin ทราบได้ว่ามีคนพยายามจะ hack 
account โดยสังเกตุได้จากมี user หลายๆ คน ถูก lock account เนี่องจาก 
failed login ด้วยครัยอีกสิ่งหนึ่งที่ทำได้ คือการกำหนด Failed login policy ซึ่งเป็นการกำหนดพฤติกรรมให้กับ zimbra ว่า ถ้า user คนหนึ่งมีการ login ผิด ว่าระบบจะใช้อะไรตัดสิน และจะทำอย่างไรกับ account ที่ login ผิด

ซึ่งมีค่าที่เซตได้ดังนี้

Enable failed login lockout : เป็นการ enable feature ว่า ถ้ามีการ login ผิดตามรายละเอียดที่ set ไว้ ระบบจะทำการ lock user ไม่ให้ login ได้

Number of consecutive failed login allowed : เป็นค่าจำนวนครั้งที่อนุญาติให้ user มีการ login ผิด ติดต่อกัน

Time window in which failed login must occure to lock the account : เป็นการระบุว่า การ login ผิดติดต่อกัน ตามค่าที่กำหนด ต้องเกิดขึ้นภายในระยะเวลาเท่าไหร่ ระบบถึงจะ lock account นั้นๆ

Time to lockout the account : เวลาที่ระบบจะ lock user ไม่ให้ login ถ้ามีการ login ผิดติดต่อกัน ตาม จำนวนครั้ง และภายในเวลาที่กำหนด


วิธีนี้สามารถแก้ปัญหาที่ hacker รู้ account และพยายาม เดา password ได้ในระดังหนึ่ง คือเดาได้แค่เท่ากับจำนวนครั้งที่เรากำหนดไว้ หลังจากนั้น ถึงแม้เดาถูก แต่ account ถูก lock ก็ login ไม่ได้

และในขณะเดียวกัน จะทำให้ zimbra admin ทราบได้ว่ามีคนพยายามจะ hack account โดยสังเกตุได้จากมี user หลายๆ คน ถูก lock account เนี่องจาก failed login ด้วยครับ

วันจันทร์ที่ 8 เมษายน พ.ศ. 2556

Zimbra Tip and Technique #8, Password Policy Part II

มาต่อด้วยเรื่อง password policy กันนะครับ
zimbra สามารถ set password policy ได้ หลายรูปแบบ ถ้า user กำหนด password ไม่ตรงตาม policy ที่กำหนดไว้ ระบบจะไม่ยอมรับ password ครับ

password policy กลุ่มแรก เป็นรูปแบบของ password มีดังนี้ครับ

- Minimum password length : กำหนดความยาวของ password ที่สั้นที่สุดที่ระบบยอมรับได้
- Maximum password length : กำหนดความยาวสูงสุดของ password
- Minimum upper case characters : กำหนดจำนวนต่ำสุดของตัวอักษรภาษาอังกฤษตัวใหญ่ (ABCD....) ที่ต้องมีใน password
- Minimum lower case characters: กำหนดจำนวนต่ำสุดของตัวอักษรภาษาอังกฤษตัวเล็ก (abcd....) ที่ต้องมีใน password
- Minimum punctuation symbols: กำหนดจำนวนต่ำสุดของตัวอักษรสัญลักษณ์ (ทีไม่ใช้ตัวอักษรและตัวเลข เช่น !@#$%^....) ที่ต้องมีใน password
- Minimum numeric characters: กำหนดจำนวนต่ำสุดของตัวเลข ที่ต้องมีใน password

password policy ที่เรากำหนดได้ ยังมีอีกนะครับ โปรดติดตามตอนต่อไป


ครั้งที่แล้ว : Password Policy, Part I

ตอนต่อไป : Password Policy, Part III

Hack Email Account, Part I

พวกเราหลายๆคน ที่ทำหน้าที่ admin ระบบ email คงเคยต้องรบกับผู้ใช้ระบบเมล์ ว่า ทำไมต้องกำหนด password policy ให้ยากหรือซับซ้อนจัง

ตัวอย่างเช่น ต้องมีตัวเลขหนึ่งตัว ตัวอักษรตัวใหญ่หนึ่งตัว ความยาวตัวอักษรอย่างน้อยต้องแปดตัว เปลี่ยนทุกสามเดือน ห้ามซ้ำกับของเดิมอย่างน้อย 4 ตัว และอื่นๆ (เอาแค่เบาะๆ ก่อนละกัน)

หลายๆคน ก็เลี่ยงๆตอบว่า เป็นนโยบายบริษัทบ้าง เจ้านายสั่งบ้าง

บางคนหรือหลายๆ บริษัทคิดว่าไม่สำคัญ กว่าจะรู้ตัว (หรือไม่รู้ตัว) ก็ถูก hack ไปแล้ว

ที่ต้องทำให้ยาก เพื่อไม่ให้ hacker สามารถเดา password ได้นะสิครับ 

บางคนคิดว่าข้อมูลบริษัทเรา ไม่มีอะไรสำคัญ เอาไปก็ไม่ได้อะไร  ....
ถูกครับ hacker พวกนี้เค้าไม่เอาข้อมูลไปหรอก แต่เค้าจะ

1) เอา list รายชื่อ email ของคนที่คุณเคยคุยด้วยไป เอาไปทำหยัง เอาไว้ส่ง spam กับไว้เจาะ ระบบเมล์ต่อสิครับ
2) เอา account ของคุณไว้ส่ง spam

หลายคนคงเคยเจอ หรือเคยได้ยิน อยู่ดีๆ เมล์ของบางบริษัท(หรือทั้งบริษัท) ติด black list ส่งเข้า google หรือ hotmail ไม่ได้ โดยให้สาเหตุว่า email ของคุณส่ง spam ออกมา ก็เพราะสาเหตุข้อ 2) นี้แหละ

ธุรกิจเสียหาย ไปเท่าไหร่ ไม่รู้ คิดเอาเอง ภาพพจน์อีกต่างหาก คิดดูสิ เกิดลูกค้าเจอ spam mail ถูกส่งจาก email address ของบริษัทคุณ เค้าจะคิดยังไง


จบดื้อๆ ตรงนี้เลยละกันนะครับ เดี๋ยวไว้ต่อ ภาคสอง ว่า hacker ได้ list ของ email แล้ว เอาไป hack ต่อได้ไง แล้วมันเกิดอะไรขึ้น

สวัสดีครับ

Hacking Email Account, Part II

วันจันทร์ที่ 1 เมษายน พ.ศ. 2556

Hacking Email Account , Part II

ผมเคยเขียนถึงเรื่องการ Hack email account ไปแล้วว่า hacker ทำไปเพื่อเอารายชื่อ email address ที่เราเคยติดต่อ เก็บไว้เพื่อใช้ส่ง spam

บังเอิญผมได้ยินกรณีที่น่ากลัวกว่านั้น คือ hacker เอา account เราไว้ส่ง email หลอกลวง เพื่อให้โอนเงิน

ปกติที่เราเคยได้ยินว่ากรณีนี้จะ เกิดกับ account ส่วนตัวบน hotmail, yahoo,google แต่ถ้าเป็นกรณีที่เป็น account ของบริษัทหละ แล้วถ้าเกิด email ที่ถูก hack เป็นของ... sales แล้ว เจ้า hacker ดันจับเรื่องที่ sale กำลังคุยกับลูกค้าได้ แล้วดันปลอม email บอกให้ลูกค้าโอนเงินเข้าบัญชีหลอกๆ ที่ hacker เปิดไว้หละ คิดดูก็แล้วกัน และถ้าลูกค้ารู้ว่า email account ของบริษัทเราถูก hack ความน่าเชื่อถือกับลูกค้าเจ้านั้น คงหมดกัน

เพราะฉะนั้น เราควรดูแล email account อย่าให้ถูก hack ได้นะครับ
วิธีป้องกันอย่างนึง คือการ set password policy ที่ผมเคยเขียนไปแล้ว ลองหาอ่านดูกันนะครับ



Hacking Email Account, Part I 
Setting Password Policy, Part I
Setting Password Policy, Part II

วันอาทิตย์ที่ 31 มีนาคม พ.ศ. 2556

Zimbra Tips and Technique #9, Password Policy Part III (ภาคจบ)

มาต่อกันอีกครั้ง เรื่อง password policy ของ zimbra ครับ เหลืออีก 3 ค่าที่ admin zimbra สามารถกำหนดนโยบายการตั้ง password ของผู้ใช้ได้

Minimum password age : กำหนดอายุขั้นต่ำของ password หรืออีกนัยหนึ่งคือ ห้ามเปลี่ยน password บ่อยกว่าระยะเวลาที่กำหนด (เป็นวัน)

Maximum password age: เป็นการกำหนดอายุของ password ระบบจะบังคับให้ผู้ใช้เปลี่ยน password ใหม่ ถ้า password เดิมถุกใช้งานนานเกิดกว่าระยะเวลาที่กำหนดนี้

Minimum number of unique password history: เป็นการกำหนดว่าจะให้ระบบเก็บ password เก่าของ user แต่ละคนย้อนหลังไปกี่ครั้ง โดยระบบจะตรวจ password ใหม่ด้วยว่า ต้องไม่ซ้ำกับ password เก่าที่ถูกเก็บไว้


ตอนที่แล้ว : Password Policy, Part I 
ตอนที่แล้ว : Password Policy, Part II

วันจันทร์ที่ 25 มีนาคม พ.ศ. 2556

Zimbra Tips and Technique #7 Password Policy Part I

เราสามารถกำหนดคุณสมบัติของ password (password policy)ที่กำหนดให้ password ของ user เป็นไปตามที่เราต้องการได้
ใน zimbra เราจะกำหนดที่ class of service (COS)

วิธีการคือ
login ที่ admin console (https://your_site:7071)
1) ที่คอลัมน์ด้านซ้าย ใต้เมนู class of service เลือก cos มาสักอัน เช่น default
2)ไปที่หน้าจอด้านขวา เลือก advance tab
3) ใน advance tab scroll ลงมาหากลุ่มของ config ที่ชื่อ password

ครั้งต่อไป เราจะพูดถึง password policy แต่ละอันว่า ถ้า set แล้ว จะเกิดอะไรขึ้นนะครับ


ตอนต่อไป : Password Policy, Part II