Sunday, February 24, 2013

Upgrade Endian Community 2.5.1 เพื่อการจัดเก็บ Log ที่ดีขึ้นด้วย OpenTSA

และแล้ว Endian Firewall Community ก็ได้ปรับปรุงวิธีัจัดเก็บ log ด้วย timestam ที่่ปลอดภัยมากขึ้นด้วย OpenTSA เสียที ซึ่งตามพรบ.คอมพิวเตอร์ของไทย log ที่ใช้เป็นหลักฐานในชั้นศาลนั้น จะต้องไม่ถูกแก้ไข ในเวอร์ชั้นที่ผ่านๆมา เราต้องมาเขียน script เข้ารหัส ให้ยุ่งยากซับซ้อน




เชิญ upgrade จาก 2.5 ไปเป็น 2.5.1 ได้แล้ว ณ บัดนี้

1. อัพเกรดได้เฉพาะ efw ที่ลงทะเบียนกับ community แล้วเท่านั้น ตรวจสอบด้วยคำสั่งต่อไปนี้


smart channel --show | grep devel

ควรจะแสดงผลดังว่านี้นะครับ

baseurl = http://USERNAME:community@updates.endian.org/devel/

2. ถ้าใช่ก็ upgrade ด้วยคำสั่งต่อไปนี้อ่ะครับ

smart update
smart upgrade efw-upgrade
efw-upgrade


3. รอจนกว่ากว่าจะ upgrade เรียบร้อยแล้ว restart

หมายเหตุ : ถ้าเปิด efw ขึ้นมาใหม่ไม่มีอะไรเกิดขึ้น ก็ตัวใครตัวมันหล่ะ ...

Thursday, December 13, 2012

Outlook Connector กับ Endian มีปัญหาต้องหาทางเลี่ยงแบบนี้


คุณผู้อ่าน.. ท่านที่เคารพ


Outlook Connector เมื่อคอนเนคผ่าน Endian Firewall ที่ทำเป็น non-transparent proxy พบว่ามีปัญหาดังนี้

1. Connect เข้า hotmail ไม่ได้
2. จะต้องเอา url ของ hotmail นั้นมาใส่เป็น filter ที่ยกเว้น authenticated กับ endian ทำให้ยุ่งยากมาก เพราะแต่ละครั้งจะคอนเนคกับ hotmail server ไม่ใช่ตัวเดียวกัน

ยังไม่มีวิธีแก้ปัญหาอย่างชัดเจน เพียงแต่มีวิธีเลี่ยงบาลี ดังนี้

เพราะ outlook connector ใช้ proxy configuration เดียวกับ Explorer
เพราะไม่มีวิธีใส่ค่า username+password proxy ให้กับ outlook connector แบบเป็น input value

ฉะนั้นใน Lan Connection ให้ใส่ค่า proxy / port เฉพาะ ช่อง http:
ส่วน protocol ที่เหลือนั้นไม่ต้องใช้ proxy /port

ก็พอกล้อมแกล้มใช้ connector ผ่าน EFW ไปได้

ได้แก้ปัญหาให้กับเพื่อนเก่าแห่งหนึ่งแถวเยาวราช
ผ่านไปได้ด้วยดี....


The reader .. Sirs.


Outlook Connector on connector through Endian Firewall is  non-transparent proxy is as follows.

1. not connect to hotmail.
2. I'll Need to enter the url of hotmail filter is authenticated with the exception of the very tricky endian firewall. because each connector with hotmail server is not the same.

no clear solution. but there are ways around bali.

Outlook connector use with proxy configuration Explorer.
There is no fee to enter username + password proxy for outlook connector for the input value.

therefore, Lan Connection, enter the proxy / port over the http:.
the rest of the protocol that does not require a proxy / port.

the connector is enough to get through EFW.

The solution to one of the old Chinatown.
Goes well ....

Wednesday, July 18, 2012

Set ให้ Endian Firewall รายงาน Event notifications

คุณผู้อ่าน... ท่านที่เคารพ

EFW Community มีดีอีกอย่างหนึ่งคือ Event notifications รายงานให้ admin รับทราบเหตุการณ์ผ่าน E-Mail อย่างฉับพลันทันที ของดี ๆ หาก config ไม่ถูกต้องก็อดได้ใช้เหมือนกัน

มาดูวิธีการ config ในแบบฉบับของผมครับ

1. ต้อง enable SMTP Proxy และกำหนดค่า Activate smarthost for delivery เสียก่อน


Proxy -> SMTP
Advanced -> Activate smarthost for delivery
Smarthost address -> smtp.live.com
Smarthost port -> 587
Smarthost authentication : k.tawich@hotmail.com
Smarthost password :xxxxxxx
Choose authentication method : PLAIN,LOGIN

ในที่นี้ผมใช้ hotmail เป็น Smarthost ท่านอื่นแล้วแต่ถนัด มีเคล็ดลับอยู่ว่า "หากใช้ mail ของ ISP ต้องตรวจสอบว่าเขาเปิด port 25 ให้ด้วยไหม"

2. เปิด Event notification

System -> Event notifications
Settings
Email notifications ->
notify using custom email address
Mail sender address -> ชื่อที่ให้ replay กลับได้
Mail recipient address -> Email ที่คุณอยากให้ notify ประจำ
Mail smarthosts -> 127.0.0.1
เท่านี้ก็ OK ใช้งานได้ครับ ดูรูปภาพประกอบ

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

หากต้องการให้ EFW รายงานสถานะของ application ต่าง ๆ เราก็ประยุกต์ใช้เพิ่มเติมได้อีก โดยใช้ mail command ร่วมกับ script ต่าง ๆ ของโปรแกรมนั้น ๆ ได้ เช่นให้รายงาน access.log ของ squid ทุกวัน เราก็สร้าง script ส่งไฟล์ access.log โดยผ่าน Smarthost ได้ นับได้ว่าได้ใช้ EFW อย่างคุ้มประโยชน์ เหมาะต่อ admin ขั้นเทพอย่างเราๆท่านๆ อย่างยิ่ง....

เอวัง


Tuesday, July 17, 2012

Encryption EFW Log ฉบับ ก๊วยเตี๋ยวแห้ง

คุณผู้อ่าน... ท่านที่เคารพ

วันก่อนได้แนะนำให้ encryption log ของ EFW เพื่อให้มีความน่าเชื่อถือไปแล้ว วันนี้มาดูอีกวิธีหนึ่ง ซึ่งใกล้กับความเป็นจริงในการเก็บ log ของ EFW มากที่สุด

เหตุผลนั้นหรือ?

1. EFW ใช้ logrotae ในการเก็บ log แต่ละวัน
2. Log ถูกบีบอัดด้วย gzip ไว้ที่ /var/log/archives
3. Log ใน archives นี่แหละที่ถูกเรียกมาดูย้อนหลังใน GUI

ดังนั้นเราจะเก็บไฟล์ log.gz ต่าง ๆ ใน /var/log/archives นี่แหละเอาไปเข้ารหัส ทำการ hasing และจัดเก็บไว้ในที่ปลอดภัย

อย่างไร?
ศึกษาและทำความเข้าใจไฟล์เหล่านี้

1. ไฟล์ /etc/logrotate.conf เก็บ grobal option สำหรับ เรียกใช้จาก application ต่าง ๆ
โดยแต่ละ application จะมี option เฉพาะอีกใน /etc/logrotate.d/

2. คำสั่ง logrotate เพื่อใช้งานบางส่วน
- logrotate -d /etc/logrotate.conf
ไว้สำหรับดูรายละเอียดที่กำหนดเป็น option ไว้ใน appliction ต่าง ๆ
- logrotate -f /etc/logrotate.conf
เมื่อกำหนดค่าใหม่ ๆ ให้กับ logrotate ไม่ว่าจะเป็น global option หรือ application option สั่งให้ logrotate ทำงานใหม่

3. Option ที่ควรทำความรู้จักเอาไว้

rotate
daily,weekly,monthly
notifempty
compress
delaycompress
missingok
create
lastaction
endscrip

4. เข้ารหัสไฟล์ gz จะต้องใช้คำสั่ง

$TAR cvzf - $PROXYLOG | $OPENSSL des3 -salt -k keyfile$TODAYDATE | $DD of=$PROXYLOG-des

เมื่อ
$TAR = /bin/tar
$PROXYLOG = /var/log/archives/squid/access.log-$TODAYDATE.gz
$OPENSSL = /usr/bin/openssl
$TODAYDATE=`date +%Y%m%d`
$DD=/bin/dd

5. เขียน script encryption เหล่านี้ใน file squid /etc/logrotate.d/ ระหว่าง lastaction และ endscript
ทางที่ดีในบรรทัดสุดท้ายควรจะเขียนคำสั่งส่งเมล์แจ้ง admin เพื่อทราบด้วยจะดูดีทีเดียว



6. สร้างไดเรกทอรี /var/log90days/logencryption และ /var/log90days/loginfo โดย
- เก็บไฟล์ encryption ไว้ที่ logencryption ให้เก็บใส่ CD 1 แผ่น และ
- เก็บไฟล์ loginfo ไว้ที่ loginfo ให้เก็บใส่ CD 1 แผ่น
ใครได้แผ่นใดแผ่นหนึ่งไป ก็ใช้ไม่ได้ เพราะตอนถอดรหัส มันต้องใช้คุ่กัน ดูซับซ้อน ซ่อนเงื่อนดี (อิอิ)

7. การส่งเมล์ด้วยคำสั่ง mail command ใน EFW มี error บ้างในไฟล์ /var/log/maillog

warning: unable to look up public/puckup
ให้แก้ด้วยคำสั่งนี้ mkfifo /var/spool/postfix/public/pickup

8. ครั้นแล้วก็จะส่งเมล์ไม่ออกอีก ต้องกำหนดค่าให้กับ smart host ใน EFW ตาม mail ISP ที่คุณใช้ หรือจะเลี่ยงไปใช้ relay mail เจ้าอื่นแทนก็ได้


สรุปจากขั้นตอนเหล่านี้จะทำให้เราได้ log ที่น่าเชื่อถือมากที่สุด โดยให้ logrotate เป็นตัวจัดการให้พร้อมกับการจัดเก็บ log ของระบบไปด้วยกันเลย ทั้งยังได้รับ mail บอกสถานะการ backup ในแต่ละวันอีกด้วย
สุดท้ายแล้วจัดเก็บ Log เป็น 2 CD เพื่อใช้ถอดรหัสคู่กัน อีกด้วย ถึงขนาดนี้ถ้ายังมีข้อโต้แย้งอีก... ก็ต้องใช้ขั้นมารกันแล้ว

เป็นไงครับทานก๊วยเตี๊ยวแห้งๆไม่มีน้ำซุป ฝืดคอดีไหม.. เหมือนกับท่านอ่านบทความของผมวันนี้แหละ เอาแต่ "เนื้อ" ไปเลยไม่ต้องมีน้ำ...

คราวหน้าผมจะมาเติมน้ำซุป โดยใส่รายละเอียดวิธีแต่ละข้อให้อีกรอบ

คอยติดตามครับ....

เอวัง......

SMTP Proxy ใน EFW โดยใช้ Relay Hotmail

คุณผู้อ่าน... ท่านที่เคารพ

การส่งเมล์ออกโดยผ่าน EFW นั้นทำได้สองทางคือ ทางหนึ่งผ่าน isp mail ของท่านที่ต่อเชื่อมอยู่ อีกทางหนึ่งนั้นโดยผ่าน mail เจ้าอื่นที่ยอมให้ relay ได้ ซึ่งจะแสดงวิธี setup relay ผ่าน hotmail เป็นตัวอย่าง....

ให้ตรวจเช็คไฟล์ /var/log/maillog ในขณะ setup จะทำให้ได้อรรถรสในการชมมากขึ้น

1. เบื้องต้นเลย EFW จะมี warning : unable to look up public/pickup: No sush file or directory
ให้แก้ไขด้วยคำสั่ง mkfifo /var/spool/postfix/public/pickup

2. ไปที่ Proxy -> SMTP

Advanced : Activate smarthost for delivery
Smarthost address : smtp.live.comSmarthost port : 587
Smarthost authentication : email@hotmail.com
Smarthost password :xxxxxxx
Choose authentication method : PLAIN,LOGIN


3. กลับมา Enable SMTP Proxy
Green : active
RED : inactive




4. ทดสอบส่งเมล์ด้วยคำสั่ง เช่น

mail -s "this testing with Proxy SMTP" tawich.it3@gmail.com < textfile.txt

ไปเปิดเมล์ดูครับ.....

Sunday, July 15, 2012

Encryption Log ของ Endian Firewall เพื่อให้มีความน่าเชื่อถือในชั้นศาล

คุณผู้อ่าน... ท่านที่เคารพ

Log ของ EFW ที่เราเก็บตามพรบ.นั้นเป็น raw log ที่ยังเข้าถึงง่าย และแก้ไขได้ จะเป็นหลักฐานที่ไม่มีความน่าเชื่อถือในชั้นศาล เท่ากับเก็บ log ไม่ถูกต้องมาแต่แรก...

การเก็บ Log จึงควรสร้างความน่าเชื่อถือด้วยการเข้ารหัส (encryption) และตรวจสอบความถูกต้องว่า log นั้นไม่มีการแก้ไขใดๆเมื่อถึงมือศาล (hashing) ใน EFW เราใช้ openssl เข้ารหัสและทำการ hashing

โดยมี concept ดำเนินการดังนี้

1. generate random password เพื่อใช้ประกอบกับ openssl ในการเข้าและถอดรหัส
2. กำหนดตัวแปรวันที่เพื่อใช้เป็น label ให้กับไฟล์ที่จัดเก็บ
3. เข้ารหัสไฟล์ access.log , firewall ติด date label
4. สร้าง file.info ประกอบเพื่อบ่งชี้รหัส hashing กับ พาสเวิร์ดสำหรับการถอดรหัสไฟล์
5. จัดเก็บในสื่อที่เหมาะสม

ตัวอย่างคำสั่ง

กำหนดตัวแปรวันที่เพื่อใช้ประกอบไฟล์

TODAYDAT=`date +%Y-%m-%d-%H%M%S`

Gengerate Random Password

openssl ran -base64 6 -out keyfile$TODAYDAT

ทำการเข้ารหัสไฟล์ log

openssl des3 -in [access.log และ firewall] -out [New Log] -k  keyfile$TODAYDAT

Hasing Code

openssl sha1 $LOGTODAY >> $LOGINFO

เขียนสคิปต์ให้ทำงานทุกวัน
เก็บ log ที่เข้ารหัสแล้วไว้ 90 วันด้วย CD หรือ DVD
เป็นการปิดช่องโหว่ให้ EFW LOG สร้างความน่าเชื่อถือในชั้นศาล

อย่าให้เกิดช่องโหว่ในหลักฐานได้

รำไม่ดี อย่าโทษปี่ โทษเอนเดียน นะครับ

เอวัง....

link ที่น่าสนใจ

http://osxdaily.com/2012/01/30/encrypt-and-decrypt-files-with-openssl/
http://www.madboa.com/geek/openssl/

Tuesday, July 10, 2012

Endian Firewall ใช้ Dyndns ได้เยอะ ไม่ต้องง้อ Dyndns

คุณผู้อ่าน... ท่านที่เคารพ

เมื่อ dyndns.org ไม่ฟรีอีกต่อไป เราก็อย่าง้อมากนัก โดยเฉพาะ EFW มีทางเลือกให้ใช้ Dyndns ตั้งหลายเจ้า ไม่เชื่อลองดูที่ drop down menu หัวข้อ Service -> Dynamic DNS ดูซิครับ

วันนี้ผมจะแนะนำให้ใช้ freedns.afraid.org ด้วยขั้นตอนเสร็จสิ้นภายในถ้วยกาแฟเดียว ลองดูตามนี้

1. สมัคร freedns.afraid.org เสียก่อนโดยกรอกข้อมูลและ activate ผ่าน E-mail
2. สร้าง sub domain

เลือกหัวข้อ Subdomains ที่เมนูด้านซ้ายมือ For Member
คลิก Add เข้าไป

Type: A
Subdomain: <ตั้งชื่อ>
Domain: crabdance.com(public)
Destination : ก็จะเป็นหมายเลขไอพี ADSL ของคุณตอนนี้เอง

เสร็จแล้ว Save

3. เอาชื่อและ  พาสเวิร์ดของคุณมาตั้งใน EFW ตามปกติ

4. ทดสอบ script update

ที่เมนู Dynamic DNS ขวามืออันเดิม
คลิกเลือก Wget Script ที่ sub domain ของคุณ

หน้าตา script จะประมาณนี้เลยครับ

wget -q --read-timeout=0.0 --waitretry=5 --tries=400 --background https://freedns.afraid.org/dynamic/update.php?VC16QUg2MzFVMVVBQUVCbi00RUFBQUEzOjc5Mzc4MzA=

ทดสอบรันคำสั่งดู ถ้า EFW ยังไม่มี wget ก็ไปอ่านบทความย้อนหลังของผมดู มีเขียนไว้แล้ว

เมื่อทุกอย่าง Ok ก็เอา script นี้ไปเขียนเป็น crontab ซะ

อ้าว... กาแฟหมดถ้วยพอดี เลยยังไม่ได้แนะนำ crontab กันเลย

อิอิ





Twitter Delicious Facebook Digg Stumbleupon Favorites More