Tag Archives: linux

SSH Brute-Force Attack Still

จริงๆ เหตุการณ์ SSH brute-force/password guessing/dictionary attack นี่เกิดมา 2 ปีเห็นจะได้แล้วล่ะ ทุกวันนี้ก็ยังไม่มีทีท่าว่าจะลดลง คาดว่าใครที่ดูแลระบบยูนิกซ์และลินุกซ์ที่ใช้ SSH คงเจอกันถ้วนหน้า .. จริงๆ แล้วคงมีโอกาสไม่มากเท่าไหร่ที่จะโดนแจ๊คพ็อตเดารหัสผ่านถูก แต่ประมาทไม่ได้เหมือนกัน เจอ failed password for root ซัก 1-2000 ครั้งในวันเดียวมันก็ไม่ค่อยสบายใจเท่าไหร่ จะว่าไปแล้ว ส่วนใหญ่จะประสาทกินไปกับรายงาน failed password นี่แหละ (- -‘) .. อย่างไรก็ตาม มันก็พอจะมีวิธีปิดช่องในการโจมตี หรือลดโอกาสในการโจมตีได้หลายแบบ

  • วิธีที่ใช้อยู่เวลานี้คือใส่ AllowUsers หรือ AllowGroups ใน /etc/ssh/sshd_config บังคับให้ login ได้เฉพาะ user ที่อนุญาต .. ก็โชคดีที่เครื่องที่ดูแลทั้งหมดมี user ไม่เยอะ เครื่องที่มีเยอะก็ group ไว้ค่อยข้างดี .. สบายไป
  • อีกวิธี คือ ยกเลิกการใช้ password และ challenge-response authentication หันไปใช้ public-key authentication แทน โดยแก้ที่ /etc/ssh/sshd_config เหมือนกัน .. วิธีนี้วางใจได้แน่นอน แต่ไม่ค่อยสะดวกสำหรับผู้ใช้เท่าไหร่
  • อีกวิธีที่นิยมใช้กันก็คือติดตั้ง DenyHost ซึ่งจะตรวจสอบ log ถ้ามี login failed จาก IP เดิมๆ มันจะเอา IP ไปใส่ใน host.deny อัตโนมัติ

ชอบแบบไหนก็เลือกเอาได้ .. ถ้าไม่ชอบซักวิธีก็กูเกิ้ลหาวิธีอื่นเอาละกัน :)

mrxvt

หา X terminal emulator ที่ตรงใจมานานแล้ว ในที่สุดก็เจอเสียที – mrxvt มีอะไรเจ๋งๆ หลายอย่าง

small footprint .. ps aux ดู ..

Terminal Emulator VSS RSZ
gnome-terminal 31592 12836
xterm 9548 3484
mrxvt 5880 3220

แสดงผลเร็วมาก .. ลอง time ls -la /usr/bin ..

Terminal Emulator Real User Sys
gnome-terminal 0m1.016s 0m0.064s 0m0.068s
xterm 0m3.055s 0m0.084s 0m0.044s
mrxvt 0m0.297s 0m0.108s 0m0.040s
  • tabbed terminal เหมือนกับ gnome-terminal ใช้ ctrl+shift+t เปิดแท็บใหม่ ใช้ alt+1, 2, 3, … เลือกแท็บ หรือจะใช้คีย์อื่นก็คอนฟิกได้
  • option เหมือนกับ xterm เกือบจะเป๊ะ ปกติใช้ xterm -ls -fg gray -bg black ก็ยก args มาใช้กับ mrxvt ได้เลย :D
  • option เด็ดๆ อีกหลายอย่าง เช่น translucent (ใช้กับ Xorg 6.8) มี -thai ด้วย .. และถ้ายอมตัดฟีเจอร์บางอย่าง (e.g., mouse scrolling, translucent) mrxvt-mini จะมี footprint เล็กกว่า mrxvt ธรรมดาอีกราวๆ 2 MB แต่ขนาดตัดฟีเจอร์แล้วก็ยังเยอะกว่า xterm อยู่ดี

apt-get install mrxvt หรือ mrxvt-mini ได้เน้อะ :D

The Cross-Platform Virus

เมื่อวานนี้มีรายงานข่าวของ NewsForge รายงานเรื่อง proof-of-concept Windows/Linux cross-platform virus ว่าบนลินุกซ์บางทีก็ติด บางทีก็ไม่ติด .. NewsForge เขาเลยลองทดสอบแล้วก็ได้ความว่ามันขึ้นกับว่าใช้เคอร์เนลรุ่นไหน บางรุ่นจะติดไวรัส และบางรุ่นก็จะไม่ติด เขาก็รายงานมาว่าไวรัสทำงานบน 2.6.16 ไม่ได้ .. จบข่าว

วันนี้มี ข่าวต่อเนื่อง จากข่าวไวรัสเมื่อวาน ว่า ลินุส ทอร์วาล์ด มีโอกาสได้ตรวจสอบไวรัสที่ว่าแล้ว พบว่าที่เคอร์เนล 2.6.16 ไม่ติดไวรัสเพราะมีบั๊กตัวนึงของ GCC ทำให้การจัดการ register ใน syscall ตัวหนึ่งทำงานไม่ถูกต้อง ไวรัสก็เลยไม่ทำงาน .. ได้ความดังนั้น ลินุส ก็เลยเขียน patch สำหรับเคอร์เนลล่าสุดเพื่อแก้บั๊กที่ว่า (จริงๆ แล้วน่าจะแก้ที่ GCC มากกว่า ?) .. ผลก็คือ ระบบที่ใช้เคอร์เนล 2.6.16 ถ้า apply patch ของลินุสด้วย ก็จะติดไวรัสได้สมใจ .. ผู้ใช้พากันงงๆ อยู่เหมือนกัน ว่าปล่อยไว้เฉยๆ ไวรัสก็ไม่ทำงานแล้วจะไปแก้ทำไม ? แต่เรื่องของเรื่องก็คงเป็นเพราะแนวคิดว่า ถ้าเป็นบั๊ก ยังไงก็ต้องแก้ แม้ว่าแก้แล้วจะทำให้ไวรัสทำงานได้ก็ตาม (- -‘) .. สมแล้วที่เป็น geek ..

ชาว /. ทิ้งสโลแกนฮาๆ ฝากไว้ว่า “Linux: So secure we have to patch it to make viruses run.” .. ก๊าก

Linux Kernel 2.6.16

ออกมาสักพักใหญ่ๆ แล้ว (ตอนนี้ 2.6.16.1 แล้ว) รู้สึกว่าราบรื่นกว่า 2.6.15 ใช้กับ udev เก่าๆ หน่อยก็ยังใช้งานได้ดี อย่างไรก็ตาม มีรายงานเหมือนกันว่า up เป็น 2.6.16 แล้วเครื่อง crash มั่ง ไม่ boot มั่ง … so YMMV

  • สนับสนุน Geode GX/LX (MGEODE_LX) ของ AMD
  • Virtual Memory Split แยก address ระหว่าง low กับ high memory แนะนำว่าใช้ default
  • Network packet debugging (NETDEBUG) สำหรับ debug packets โดยเฉพาะที่ส่งเข้ามาโจมตี
  • Netfilter Xtables (NETFILTER_XTABLES) {ip|ip6|arp}_tables ต้องใช้
  • TIPC Protocol (TIPC) Transparent IPC ออกแบบไว้สำหรับ inter-cluster communication ออกแบบโดย บ. Ericsson ใช้งานจริงกันมาพอสมควรแล้ว
  • สนับสนุน QLogic QLA2XXX Fibre Channel (SCSI_QLA_FC) FC interface ที่ใช้ชิพของ QLogic QLA2XXX
  • สนับสนุน SysKonnect Yukon2 (SKY2) Gigabit Ethernet ชิปของ Marvell Yukon 2 เห็นหลายบอร์ดใช้กัน
  • ระบุจำนวน 8250/16550 serial port (SERIAL_8250_RUNTIME_UARTS) ปกติก็ 4 พอร์ต
  • สนับสนุน AMD CS5535/CS5536 GPIO (CS5535_GPIO)
  • สนับสนุน Serial Peripheral Interface (SPI) ส่วนใหญ่ใช้กับ microcontroller สำหรับอ่านข้อมูลจาก sensor หรืออ่าน/เขียนลง flash memory, etc.
  • สนับสนุน hardware monitoring ของ Fintek F71805F/FG (SENSORS_F71805F)
  • ดีบัก V4L Video (VIDEO_ADV_DEBUG)
  • สนับสนุน ALSA dynamic device allocation (SND_DYNAMIC_MINORS)
  • สนับสนุน ALSA API

Google Earth on Linux

ในที่สุด Google Earth ก็เริ่มใช้งานบนลินุกซ์ได้แล้วเอาตัวที่ใช้งานบนวินโดว์สนั่นแหละมาติดตั้ง หลังจากดู howto ของหลายๆ สำนักมาลองผิดลองถูกบน Ubuntu 5.10 Breezy Badger .. ได้วิธีที่ง่ายสุดคือลง WINE 0.9.8 จาก WINE HQ ที่

deb http://wine.sourceforge.net/apt binary/

เซ็ต WINE เป็น Windows XP แล้วก็ติดตั้ง Google Earth โดยสั่ง

wine GoogleEarth.exe

ตัวติดตั้งอาจจะบ่นอะไรบ้าง กด OKๆ ไปก็แล้วกัน … เสร็จแล้วก็สั่งรันได้ละ

WINEDLLOVERRIDES="ole32,usp10,msvcrt=n" wine /path/to/GoogleEarth.exe

อาจจะมีเพี้ยนๆ บ้าง (ก็มันไม่ใช่ Windows จริงๆ นี่หว่า) .. ปัญหาเรื่องฟอนต์ยังหาทางแก้ไม่ได้ ส่วนพาเนล/เนวิเกเตอร์ผลุบๆ โผล่ๆ สั่งปิดไปเลยก็ได้โดยเลือกจากเมนู หรือไม่ก็ Ctrl+1, Ctrl+2 เอา

Synaptics Touchpad and Linux Kernel >= 2.6.15

ตั้งแต่ใช้ Linux Kernel 2.6.15 มา เจอปัญหานิดหน่อยกับ Synaptics Touchpad ตรงที่มันทำงานได้แค่ pointer กับคลิ้ก พวกฟีเจอร์ drag หรือ scroll ใช้ไม่ได้ซะงั้น .. ลองไล่เช็คดูก็พบว่า Xorg มันไม่โหลดไดรเวอร์ synaptics เพราะว่ามันหา device ไม่เจอ เช็คชื่อ device จาก /proc/bus/input/devices แล้วก็ตามไปดูใน /dev/input มันก็ไม่มีจริงๆ .. ก็เลย mknod ขึ้นมา

# mknod /dev/input/mouse0 c 13 32
# mknod /dev/input/event1 c 13 65
# chmod 660 /dev/input/mouse0
# chmod 660 /dev/input/event1

แล้วลอง restart X11 ดู .. ก็ยังไม่ได้ เช็คจาก Xorg.0.log มันบอกว่าไม่ได้ใช้ SHMconfig .. เลยไปโหลดไดรเวอร์ synaptics touchpad ตัวใหม่มาคอมไพล์ติดตั้งเข้าไป แล้วก็แก้ /etc/X11/xorg.conf นิดหน่อย

....
Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "AlwaysCore"
        Option          "Device"     "/dev/input/mice"
        Option          "Protocol"   "auto-dev"
        Option          "SHMConfig"  "on"
EndSection
...

… restart X11….

ใช้ได้ ! โหะๆ เดาจริงๆ :D … ได้ตามนั้นแล้วก็เก็บกวาดอีกนิดหน่อย เอาคำสั่ง mknod ใส่ลง rc.local บูตคราวหน้าก็จะได้ใช้งานได้เลย :D

News News

ข่าววันนี้ จาก /. Oracle เทคโอเวอร์ Sleepycat ที่ทำ Berkeley DB ไปอีกหนึ่งราย .. หลังจากเมื่อปลายปีที่แล้วก็เทคโอเวอร์ Innobase ไป และเพิ่งจะลอยแพพนักงานไป 2000 ตำแหน่ง … Oracle กำลังจะทำอะไรอยู่ ? นึกหน้า Larry Ellison แล้ว คิดอะไรในแง่ดีๆ ไม่ค่อยออก (- -‘)

Google จะเอา Picasa ลง Linux แต่ไม่ได้เป็น native .. จะใช้ Picasa บน Win มาใส่บน (modified version of) WINE (- -‘)

ควันหลง St. Valentine’s Day:

“I am not a smart man, but I know what love is”
– – Forrest Gump :)