Category: Security

Shell In A Box ลองใช้กันดู

สวัสดีครับ ห่างหายกันไปนานกับการเขียน blog เรื่อง linux วันนี้มาเขียนเรื่อง shell in a box ครับ
พอดีได้รู้จักเจ้า Package ตัวนี้โดยบังเอิญเพราะลองติดตั้ง Zimbra Turnkey Linux แล้วสะดุดใจกับ Web Shell ของมันที่มี Port 12320 ว่ามันคืออะไรก็เลยลองเปิด Browser ไปที่ http://zimbrahost:12320 ดูก็เลยรู้ว่ามันเป็น Web Shell อย่างที่ชื่อมันบอกจริงๆ คือมีหน้าจอให้เรา Login Shell ผ่านหน้า Browser กันเลย แล้วผมก็ลอง netstate ดูใน Terminal ก็พบว่า Port 12320 เป็นของ Service ที่มีชื่อว่า shellinabox

root@zimbra:~# netstat -pant Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:12320 0.0.0.0:* LISTEN 11602/shellinaboxd tcp 0 0 0.0.0.0:12321 0.0.0.0:* LISTEN 11631/perl tcp 0 0 0.0.0.0:7780 0.0.0.0:* LISTEN 13272/httpd tcp 0 0 127.0.0.1:389 0.0.0.0:* LISTEN 11752/slapd tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 13153/amavisd (mast tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN 13973/master tcp 0 0 127.0.0.1:7306 0.0.0.0:* LISTEN 12440/mysqld tcp 0 0 127.0.0.1:7307 0.0.0.0:* LISTEN 12171/mysqld tcp 0 0 0.0.0.0:3310 0.0.0.0:* LISTEN 13214/clamd tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 13973/master tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 13973/master tcp 0 0 127.0.0.1:7306 127.0.0.1:56248 ESTABLISHED 12440/mysqld

การตามหา Shell In A Box ยังไม่เสร็จสิ้นหลังจากทราบข้อมูลเบื้องต้นมาแล้วก็เลยเข้าไปหาข้อมูลเพิ่มเติมใน Google ก็ได้ทราบว่า Shell In A Box อยู่ใน Google Code : http://code.google.com/p/shellinabox/ รายละเอียดเข้าไปดูกันได้ครับ ผมเลยลองโหลดตัว shell in a box ที่เป็น .deb มาลองติดตั้งบน Ubuntu Desktop ของผมดู

mrgill@mrgill-laptop:~$ dpkg -i shellinabox_2.10-1_amd64.deb

ติดตั้งเสร็จก็สามารถเรียกใช้งานได้เลยครับที่ Port 4200 ผลการทดสอบก็ได้ผลดังนี้ครับ

Shell In A Box

สำหรับใครที่ต้องการเปลี่ยน Port 4200 เป็น Port อื่นก็สามารถเข้าไปแก้ไขได้ที่ /etc/default/shellinabox ครับ

root@mrgill-laptop:/etc/default# cat shellinabox # Should shellinaboxd start automatically SHELLINABOX_DAEMON_START=1 # TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200 # Parameters that are managed by the system and usually should not need # changing: # SHELLINABOX_DATADIR=/var/lib/shellinabox # SHELLINABOX_USER=shellinabox # SHELLINABOX_GROUP=shellinabox # Any optional arguments (e.g. extra service definitions) # We disable beeps, as there have been reports of the VLC plugin crashing # Firefox on Linux/x86_64. SHELLINABOX_ARGS=--no-beep

อยากเปลี่ยนเป็น Port อะไรก็ตามใจชอบกันเลยครับ
สำหรับ Production Server ก็ต้องคิดกันหนักหน่อยนะครับว่าจะอนุญาตในระดับไหน ยิ่งเราเปิดช่องทางให้ Remote เข้าไปถึง Server เยอะเท่าไหร่ความเสี่ยงด้านความปลอดภัยก็ยิ่งเพิ่มมากขึ้นตามไปด้วย

Leave a Comment March 11, 2011

วิธีลบ iptables rules ออกทั้งหมด

สืบเนื่องจากที่ผมเขียนเรื่อง NAT ในวันก่อนวันนี้ก็เลยเอาเรื่องการ Flush rules ของ iptables มาฝากครับ

ตามนี้เลย

iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT

จะรันทีละบรรทัด หรือจะเอาไปทำเป็น Script ก็ได้ครับ

แหล่งข้อมูล : http://www.cyberciti.biz/tips/linux-iptables-how-to-flush-all-rules.html

Leave a Comment January 28, 2011

Factory Reset บน Fortigate 100A ทำไง

ขั้นตอนมีดังนี้ครับ

1. ต่อสาย Console ที่ Fortigate และต่อเข้า PC หรือ Notebook ของเราให้เรียบร้อย แล้วเปิด Hyperterminal รอไว้เลย
2. เสียบปลั๊ก
3. เมื่อ Boot เสร็จมันจะ Prompt ให้เรากรอก Login ก็ให้กรอกไปดังนี้

Login : maintainer
password : bcpbFG100A1111111111

ให้เปลี่ยน 1111111111 เป็น Serial ของเครื่องซึ่งสังเกตุได้จาก Prompt ตอน Login นั้นแหละครับ ไม่ก็หงายดูด้านล้างเครื่องมันก็ได้ (มีเวลาให้คุณ login 30 วิเท่านั้น)

4. เมื่อ login ได้แล้วก็ใช้คำสั่ง

execute factoryreset

5. Fortigate 100A ของเราก็พร้อมใช้งานตามมาตรฐานโรงงานแล้วครับ

คำเตือน : วิธีการข้างต้นเป็นการทำ factory reset ดังนั้น Configuration ของคุณจะหายไปหมด
สำหรับใครที่ต้องการจะเปลี่ยนแค่รหัสผ่าน เมื่อเข้า maintainer mode ได้แล้วก็อาจเปลี่ยนแค่รหัสผ่านของ admin ก็พอ
ดังนั้น ใช้อย่างระมัดระวังนะครับ

Leave a Comment January 26, 2011

วิธีทำ NAT แชร์เน็ตแบบรีบๆ บน Ubuntu

ตามนี้เลยครับ สำหรับใครที่ต้องการแชร์เน็ตแบบทันใจ

โดยให้ eth0 เป็นขาที่ต่อเน็ต และขา eth1 เป็นขา local ที่ต้องการจะแชร์เน็ต มาดูวิธีกัน

กำหนด IP ของ eth1 ของเครื่องแม่ที่ต้องแชร์เน็ตให้เป็น 192.168.1.1/24

กำหนด IP เครื่อง Client ที่ต้องการจะแชร์เน็ตให้เป็น 192.168.1.xxx/24 ในที่นี้ผมกำหนดเป็น 192.168.1.10/24 และชี้ Gateway มาที่เครื่อง 192.168.1.1 ส่วน DNS ก็ชี้ไปที่ไหนก็ได้ครับ ผมขอชี้ไปที่ 8.8.8.8 ของ Google ละกัน

มาถึงส่วน Script กันบ้าง

สร้างไฟล์ nat.sh จากนั้น Copy Script ด้านล้างไปวางแล้ว Save

#!/bin/bash #Express NAT Shell Script echo "1" > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -j DROP

จากนั้นกำหนดสิทธิ์ให้สามารถรันได้โดย

sudo chmod +x nat.sh

แล้วก็รันกันได้เลย

sudo ./nat.sh

ทดลองเล่นเน็ตจากเครื่อง Client กันได้เลยจ้า

1 Comment January 24, 2011

Solaris 10 error : Not on system console, root logon rejected

วันนี้มีงานด่วนเข้ามาคือติดตั้งต้อง login Solaris 10 จาก Xmanager ให้ได้ แต่ตอน Login มันดันมี error “Not on system console, root logon rejected” ทำยังไงละทีนี้ ค้นไปค้นมาก็เจอคำตอบใน http://www.computing.net/answers/solaris/solaris-xmanager-root-logon/2163.html

ขั้นตอนเค้ามีอยู่ว่า
1. login เข้าระบบผ่าน console หรือ ssh เข้าไปก็ได้
2. เข้าไปแก้ไขไฟล์ /etc/default/login โดยให้ comment บรรทัด CONSOLE=/dev/console ซะเป็น (หากบันทึกไม่ได้ให้ chmod 644 /etc/default/login ก่อน)

#CONSOLE=/dev/console

3. ลอง login อีกทีสิ อิอิ

Leave a Comment July 17, 2010

Apache กำลังจะหยุดพัฒนาเวอร์ชัน 1.3, 2.0 Release

Apache HTTP Server เป็นโปรเจ็คที่ประสบความสำเร็จและได้รับความนิยมมากที่สุดของ Apache Software Foundation (ASF) ซึ่งตอนนี้มีข่าวมาว่า ASF จะหยุดพัฒนาไมเนอร์เวอร์ชันของ 1.3 กับ 2.0 และจะมุ่งไปพัฒนาเวอร์ชัน 2.2  โดย Colm MacCárthaigh หนึ่งในสมาชิก ASF ให้ความเห็นไว้ว่า

“How about we formally deprecate the 1.3.x branch? Make one more release, but attach a notice to the effect that it will be the final release, and that in future we’ll be distributing security updates by other means,”

ข่าวจาก : techworld

Leave a Comment January 13, 2010

Shell Script แจ้งเตือน SMS เมื่อ Hard Disk ใกล้เต็มแบบฟรีๆ

สวัสดีครับต่อยอดจากเรื่อง Server Down รู้ได้ทันทีผ่าน SMS แถมฟรี ที่เขียนไว้วันก่อน วันนี้เอามาประยุกต์ให้ script เช็คสถานะของ hard disk ครับโดยให้ส่ง sms เตือนเมื่อมีการใช้งาน partition ใดๆ เกิน 90%
มาดูตัว code ของ script กันครับ

#!/bin/sh # Simple SHELL script for Linux and UNIX system monitoring with # df command # ------------------------------------------------------------------------- # Copyright (c) 2009 mrGilL # This script is licensed under GNU GPL version 2.0 or above # ------------------------------------------------------------------------- # Setup SMS User below # See URL for more info: # http://imrgill.com/2009/12/13/monitor-server-with-sms-alert-shell-script/ # ------------------------------------------------------------------------- # Hard type (hdx,sdx,scx) HDD_TYPE="sd" # Partition lists PLIST=`df -h | grep $HDD_TYPE | awk '{ print $1 }' | sed -e 's/\/dev\///g'` # Setting SMS User (Gmail) GCUSER="user@gmail.com" GCPASSWD="gmail-passwd" for p in $PLIST do disk=$(df -h | grep $p | awk '{ print $5 }' | sed -e 's/\%//g') pname=$(df -h | grep $p | awk '{ print $6 }') if [ $disk -ge 90 ]; then # disk less than 90% wget --force-html --recursive --no-check-certificate -nd --delete-after "https://imrgill.com/google_sms/gsms.php?username=$GCUSER&password=$GCPASSWD&title=$(hostname) partition $pname < 90%" fi done

วิธีนำไปใช้

1. แก้ไข HDD_TYPE เป็นประเภท hard disk ที่คุณใช้ ดูได้จากคำสั่ง fdisk -l หรือ df ผลลัพธ์ที่ได้จะประมาณ /dev/sda ตัวอย่างผมได้ sda ให้ใส่เป็น HDD_TYPE=”sd”

[mrgill@Webserver ~]$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 59515556 1260296 55183232 3% / /dev/sda8 11710104 2895576 8210084 27% /usr /dev/sda7 1019208 37992 928608 4% /tmp /dev/sda6 109109796 9092520 94385292 9% /var /dev/sda5 287660612 11604092 261208448 5% /home /dev/sda1 101086 33812 62055 36% /boot tmpfs 517284 0 517284 0% /dev/shm

*เหตุผลที่ไม่ใส่ sda ไปตรงๆ เลยก็เพราะ กรณีมี hard disk หลายลูกเช่น sda, sdb ทำให้ script ไม่สามารถตรวจสอบ hard disk ที่เป็น sdb ได้

2. แก้ไข GCUSER และ GCPASSWD เป็น user gmail ของเรา

3. กำหนดสิทธิ์ให้สามารถรันได้

[root@Webserver ~]$ chmod +x observman_disk.sh

4. นำ script ไปใส่ /etc/cron.daily/ เพื่อให้ script ทำงานทุกวัน

[root@Webserver ~]$ cp observman_disk.sh /etc/cron.daily/

หรือใครจะนำไปใส่ใน crontab ก็ไม่ว่ากัน

[root@Webserver ~]$ crontab -e
# m h dom mon dow command @daily /root/observman_disk.sh > /dev/null

หวังว่าบทความนี้คงเป็นประโยชน์ต่อผู้อ่าน

4 Comments December 13, 2009

Server Down รู้ได้ทันทีผ่าน SMS แถมฟรีด้วย

ก่อนอื่นขอหาวยาวๆ ก่อนกล่าวสวัสดีท่านผู้อ่านทุกท่าน  เมื่อคืนบ้าพลังอะไรไม่รู้อยากเขียน script ส่ง sms เตือนเมื่อ server down ที่จริงชาวบ้านเค้าก็ทำขายกันเยอะแยะ แต่หลังจากที่ผมได้ใช้ Google Calendar แล้วให้มันส่ง sms เตือนแถมฟรีอีก ก็เลยคิดอยากใช้ประโยชน์จากมันเพิ่มเติมก็ค้นๆ  Google อีกเช่นเคยครับ ไปเจอบทความใน ThaiAdmin เรื่อง google calendar sms ที่ท่าน smartsoft เขียนไว้ก็เลยลองโหลด Libraries Google Calendar SMS มาเล่นดูบ้าง ซึ่งเมื่อลองดูแล้วก็ถือว่าใช้งานง่ายทีเดียวเลยเอามาโมต่อ โดยให้ Shell Script เป็นตัว Submit form แทน

ความสามารถของ Script

1. ส่ง sms แจ้งเตือนเมื่อ ping ไม่เจอ server
2. เก็บ log ในตัว เพราะทุกครั้งที่มันส่ง sms มันจะไปเพิ่ม Event ใน Google Calendar ทำให้เราเข้าไปตรวจสอบย้อนหลังได้
3. ไม่ต้องเสียเงินค่าส่ง SMS แม้แต่น้อย (พี่ Google เค้าใจดี)

มาดูขั้นตอนการทำกัน

ก่อนอื่นเราก็ต้องไป Verify เบอร์มือถือใน Google Calendar ก่อนครับ ขออนุญาตท่าน smartsoft ทำรูปใหม่นะครับ
1. ขั้นแรก ล็อกอินเข้า Google Calendar http://www.google.com/calendar ก็ใช้ User ของ Gmail นั้นแหละครับ
ล็อกอินแล้วคลิกที่ Settings เพื่อไปปรับเมนูให้เป็นภาษาไทย (หากใครเป็นภาษาไทยอยู่แล้วข้ามไปขั้นตอนต่อไปได้เลย)

คลิก Settings

2. เลือก Language ให้เป็น ภาษาไทย แล้วกด Save

เลือก ภาษาไทย

(more…)

61 Comments December 11, 2009

Google Public DNS บน Ubuntu

ไม่นานมานี้ Google เปิดให้บริการใหม่นั้นคือ Google Public DNS ซึ่งเป็นบริการสอบถามชื่อและไอพีฟรีของ Google ซึ่งสิ่งที่คุณจะได้จากบริการนี้คือ

1. ความเร็วในการใช้งานบราวเซอร์
2. ความปลอดภัยที่ดีกว่า
3. ได้ผลลัพธิ์ทันทีโดยไม่ต้อง Redirect

มาดูกันว่าเราจะใช้ Google Public DNS บน Ubuntu ได้ยังไง

สำหรับใครที่ใช้ Ubuntu Desktop หรือ Linux Server ที่ Fix IP ก็สามารถเข้าไปแก้ไขไฟล์ /etc/resolv.conf ได้โดยตรง

ตัวอย่าง

root@mrgill-laptop:~# nano /etc/resolv.conf

จากนั้นแก้ไขข้อมูลในไฟล์ /etc/resolv.conf ให้เป็น

nameserver 8.8.8.8 nameserver 8.8.4.4

และสำหรับใครที่ใช้ Ubuntu Desktop แล้วรับ DHCP มาทุกครั้งที่ renew ip เราจะได้ dns ที่ dhcp แจกมาให้ซึ่งวิธีแก้ไขนี้ทำได้โดย
(more…)

Leave a Comment December 8, 2009

20 ขั้นตอนการทำ Hardening Linux Server

การ Hardening เป็นการทำให้เครื่องเซิร์ฟเวอร์มีความปลอดภัยมากยิ่งขึ้น ซึ่งสามารถแยกออกเป็นการทำ Hardening OS และ Hardening Application ในส่วนของ Application เราคงไม่พูดถึงในส่วนนี้

ที่จะพูดถึงในวันนี้คือการ Hardening OS ครับซึ่งสามารถเข้าไปอ่านขั้นตอนการทำ Hardengin Linux Server ได้ที่

http://www.cyberciti.biz/tips/linux-security.html

Leave a Comment November 2, 2009


Chat

Recent Entries

Random Posts

Social Network

Tag Cloud

Calendar

February 2012
S M T W T F S
« Dec    
 1234
567891011
12131415161718
19202122232425
26272829  

Twitter: imrgill

RSS LinuxToday

RSS HowToForge

RSS UbuntuClub

RSS Blognone

RSS PowerWindowsBlog

Tag

Categories

Archives

Blogroll

Meta

Get Adobe Flash playerPlugin by wpburn.com wordpress themes