ก๊วนซอฟท์แวร์ </softganz> SoftGang (Gang Software)

Web &amp; Software Developer Gang.

611 items|« First « Prev 31 32 (33/62) 34 35 Next » Last »|
โดย Little Bear on 3 เม.ย. 55 17:07

อันนี้ copy มาล้วน ๆ ครับ ยังไม่มีความสามารถพอที่จะเขียนอย่างนี้ได้

เอามาจาก www.thaihosttalk.com ตามนี้นะครับ

นี่เป็นเกร็ดเล็กๆน้อยๆเบื้องต้นสำหรับมือใหม่ที่จะช่วยปรับแต่งให้เครื่อง Linux มีความปลอดภัยมากยิ่งขึ้นครับ โดยตัวอย่างที่ให้เป็นคำสั่งบนเครื่อง debian ถ้าใครใช้ distro อื่นๆก็อาจจะมีรายละเอียดปลีกย่อยแตกต่างกันไป (ส่วนใหญ่จะคล้ายๆกันแต่ต่างกันที่สถานที่เก็บ config ไฟล์ต่างๆ) ผิดพลาดประการใดก็ขออภัยด้วยครับ

แบ่งขั้นตอนคร่าวๆได้ดังนี้

  1. สร้าง user ขึ้นมาใหม่ - เพื่อที่จะได้ไม่ต้องเข้าเป็น root ตลอดเวลา ช่วยทั้งเรื่องความปลอดภัยและป้องกันความซุ่มซ่ามของตัวเองทำเครื่องพังจากการใช้คำสั่งอย่างไม่ระมัดระวัง
  2. เปลี่ยน root password - โดยเฉพาะคนที่ได้ root password มาจากคนอื่น (แต่ถ้าเราเปลี่ยนแล้ว คนๆนั้นก็จะเข้า root ไม่ได้นะครับ เว้นแต่ว่าจะให้สิทธิ์ใน sudoers ไว้ตามข้างล่าง)
  3. ปิด service ต่างๆที่ไม่ได้ใช้ - เพื่อลดจำนวนช่องโหว่ลง
  4. ลง sudo - จะได้ไม่ต้อง login เข้า root ตามข้อ (1) ข้างบน
  5. ตั้งค่า SSH - ไม่ให้ login โดยใช้ root และทำ public key authentication (ถ้าต้องการ)
  6. ตั้งค่า iptables - เพื่อเปิดใช้เฉพาะ port ที่จำเป็นจริงๆ

มาเริ่มกันเลยดีกว่า..

1. สร้าง user โดยใช้คำสั่ง adduser

$ adduser username
$ passwd username

2. เปลี่ยน root password

$ passwd

3. ปิด service ต่าง ๆ ที่ไม่ได้ใช้

ปกติผมจะไปเพิ่มหรือลบ symbolic link ตาม /etc/rcX.d/ เอาด้วยความเคยชิน แต่เดี๋ยวนี้ใช้สคริปต์ update-rc.d ได้ครับ (สำหรับ debian) หรือ 'service' สำหรับ Centos

$ update-rc.d -f service_name remove

4. ลง sudo

$ apt-get install sudo

หรือใครใช้ Centos ก็ให้ใช้ yum เอา

จากนั้นก็ให้ใช้ visudo เพื่อแก้ไฟล์ sudoers อยากให้ใครใช้คำสั่งที่ต้องใช้ root privilege ได้ก็ใส่บรรทัดนี้เข้าไป

username ALL=(ALL)

5. ตั้งค่า SSH

อันดับแรกที่ผมทำเลยคือปิด root login ครับ ให้เข้ามาเป็น user ธรรมดาแล้วมา sudo เอา เปิดไฟล์ /etc/ssh/sshd_config โดยใช้ editor ที่ถนัด แล้วมองหาบรรทัด PermitRootLogin yes แล้วเปลี่ยนเป็น PermitRootLogin no แทน

จากนั้นก็เช็คว่าให้ใช้ SSH version 2 เท่านั้น โดยดูในไฟล์เดิมแล้วหาบรรทัด Protocol 2,1 แล้วเปลี่ยนเป็น Protocol 2 แทน ถ้าเป็น Protocol 2 อยู่แล้วก็ไม่ต้องไปยุ่งอะไรมันครับ

ถ้าอยากจะเปลี่ยน port SSH ด้วยก็ทำได้ครับ หาบรรทัด Port 22 แล้วเปลี่ยนเลข 22 เป็น port อื่นที่เราต้องการ

สำหรับคนที่โรคจิตวิตกจริตอย่างผมก็อาจจะอยากใช้ public key authentication แทน ก็ทำได้ครับ ก่อนอื่นก็สร้าง public/private key บนเครื่องตัวเองก่อน

$ ssh-keygen -t rsa

และควรจะใส่ password ให้กับ key นี้ด้วยเพื่อเพิ่มความปลอดภัย (ไม่งั้นถ้า private key โดนขโมย คนที่ขโมยก็จะสามารถเข้าเครื่องเราได้ทันที)

จากนั้นก็ upload public key ขึ้นไปบน server

$ scp id_rsa.pub username@server:id_rsa.pub

แล้ว log เข้าไปที่ server เพื่อตั้งให้ใช้ key นี้สำหรับ login

$ cd (ไปที่ home ของ user ที่ต้องการ)
$ mkdir .ssh
$ chmod 700 .ssh
$ cat id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

แล้วเปิดไฟล์ /etc/ssh/sshd_config ขึ้นมาอีกครั้งเพื่อตั้งให้ใช้ public key เท่านั้น

หาบรรทัด PasswordAuthentication yes แล้วเปลี่ยนเป็น PasswordAuthentication no

หาบรรทัด UsePAM yes แล้วเปลี่ยนเป็น UsePAM no

ถ้ามั่นใจว่าไม่ได้ทำอะไรผิดก็ทำการ restart sshd

$ /etc/init.d/ssh restart

*** ควรจะทำที่หน้าจอหรือผ่าน iKVM เพราะถ้า config พลาดอาจจะทำให้เข้าเครื่องไม่ได้ (เตือนแล้วนะครับ) หรือถ้าจำเป็นจริงๆที่ต้องทำจากข้างนอกก็ต้องไม่ปิด session ssh ปัจจุบันจนกว่าจะมั่นใจว่าสามารถเข้า session ใหม่ผ่าน public key ได้ ***

6. ตั้งค่า iptables

โดยปกติผมจะปิดทุก port ยกเว้นแต่ port ที่ต้องใช้จริงๆ ขั้นตอนต่อไปจะทำในไฟล์หรือใส่ command เข้าไปเลยก็ได้ ถ้าสร้างไฟล์ก็ให้เริ่มไฟล์ด้วย *filter เพื่อบอกว่าเรากำลังแก้ filter table อยู่ ดังนี้

$ vi /etc/iptables.test.rules
*filter
-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
-A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
-A OUTPUT -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

อธิบาย rules ต่างๆ

  1. อนุญาต traffic จาก loopback interface
  2. ถ้ามี traffic มาที่ 127.0.0.0/8 ต้องมาจาก loopback interface เท่านั้น
  3. อนุญาต incoming traffic ที่เริ่มจากเครื่องนี้
  4. อนุญาต outgoing traffic ทั้งหมด
  5. อนุญาต tcp traffic ที่มาที่ port 80
  6. อนุญาต tcp traffic ที่มาที่ port 22 (SSH)
  7. อนุญาต ping
  8. เก็บ log traffic ที่ไม่ได้รับอนุญาต
  9. drop incoming traffic อื่นๆ
  10. drop traffic อื่นๆ ที่จะต้องถูก forward

เสร็จแล้วก็ load เข้า iptables โดยคำสั่ง

$ iptables-restore < /etc/iptables.test.rules

หรือถ้าไม่ทำใส่ไฟล์ก็ให้ใช้คำสั่ง iptables นำหน้าแทนครับ เช่น

$ iptables -A INPUT -i lo -j ACCEPT

แล้วใส่เข้าไปทีละบรรทัด

จากนั้นก็ดูความเรียบร้อย

$ iptables -L

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

$ iptables-save > /etc/iptables.up.rules

แล้วสร้าง script ขึ้นมาเพื่อโหลด rules ตอน boot

$vi /etc/network/if-pre-up.d/iptables
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

save ไฟล์แล้วเปลี่ยน permission ให้เป็น executable

$ chmod +x /etc/network/if-pre-up.d/iptables

เป็นอันเสร็จเรียบร้อย

(ลอกมาจาก blog ตัวเอง + update นิดหน่อย) original ที่นี่ http://just-another-...ลอดภัยให้-debi/

ที่มา www.thaihosttalk.com

โดย Little Bear on 3 เม.ย. 55 16:57
<?php
function smsnotify($mobile_no,$msg,$sender) {
    $user_id    = "gatewayusername";
    $passwd = "gatewaypassword";
    $host       = "api.smsgateway.com";<br />
    $port       = "80";<br />
    $path   = "/api_sms.jsp";

    $data="user_id=$user_id&passwd=$passwd&sender=$sender&mobile_no=$mobile_no&msg=$msg";
    $fp=@fsockopen($host,80);
    
    if ( $fp) {
        fputs($fp,"POST $path HTTP/1.1\r\n");
        fputs($fp,"Host: $host\r\n");
        fputs($fp,"Content-type: application/x-www-form-urlencoded\r\n");
        fputs($fp,"Content-length: ".strlen($data)."\r\n");
        fputs($fp,"Connection: close\r\n\r\n");
        fputs($fp,$data);
        while(!feof($fp)) {
            $buffer=fgets($fp,128);
        }
        fclose($fp);
    }
}
$phonno='00000000';
$msg='This is a SMS message';
smsnotify($phonno,$msg,"SenderName");
?>

ปล. ยังไม่ได้ทดสอบนะจ๊ะ

ที่มา www.thaihosttalk.com

โดย Little Bear on 3 เม.ย. 55 16:21

การติดตั้ง DirectAdmin บน CentOS 6 minimal ซึ่ง CentOS 6 minimal ไม่มี library พื้นฐานบางตัวมาให้โดยเฉพาะ mysql หลังจากลง CentOS เรียบร้อย ให้สั่ง update และติดตั้ง package เพิ่มเติม

yum update
rpm -Uvh http://mirrors.thzhost.com/epel/6/x86_64/epel-release-6-5.noarch.rpm
yum install gcc-c++ make patch screen wget quota ncftp bind bind-utils caching-nameserver which bison flex webalizer patch openssl-devel.x86_64 curl-devel.x86_64 e2fsprogs-devel.x86_64 perl-DBI ntp tcpdump iptables telnet traceroute rsync openssh-clients perl-Term-ReadKey autoconf rpm-build vim-enhanced nginx automake libaio libcurl-devel

หลังจากนั้นให้ติดตั้ง DirectAdmin ตามปกติ

คู่มือติดตั้ง CentOS 6

ที่มา www.thaihosttalk.com

โดย Little Bear on 3 เม.ย. 55 11:20

บริการใหม่จาก AIS คือ Airnet ส่งสัญญาณอินเตอร์เน็ตผ่าน GSM มาถึงบ้านเราเลย แถมความเร็ว Upload/Download 7/7 mbps เสียด้วย

ลองดูแพคเกจและบริการ

แถมพื้นที่ให้บริการก็ครอบคลุมถึงบ้านผมเสียด้วย

ลองอ่านจากรีวิวนะครับ

โดย Little Bear on 31 มี.ค. 55 15:16

ซื้อ Nook Touch มา 2 เดือนแล้ว วันนี้เลยลองเล่นเสียหน่อย หวาดเสียวอยู่เหมือนกันว่ามันจะ brick

ขั้นที่ 1 Backup current Nook Touch firmware ตามขั้นตอน Backup/Restore N2E

อ้างอิง

โดย Little Bear on 31 มี.ค. 55 09:14

เคยมีปัญหาเครื่อง Lenovo Z470 หา Wifi access point (ของข้าพเจ้าเอง) ไม่เจออยู่หลายครั้งเหมือนกัน ในขณะ(เดียวกัน)ที่เครื่องอื่น ๆ กลับหา access point นั้นเจอ และใช้งานได้ตามปกติ แต่เจ้าของ access point กลับหาไม่เจอ

เง็ง ๆๆๆ มาก ๆๆๆ

ก็เลยเอาสาย LAN ไปเสียบ แล้วเข้าไป config ใหม่ ที่ลองแก้อยู่มี 2 จุด คือ Encryption เปลี่ยนเป็น TKIP/AES กับอีกจุดคือ เปลี่ยน Channel จาก Auto ไปเป็น 1-13 (อะไรก็ได้)

ซึ่งก็สามารถแก้ไขปัญหาไปได้ ก็เคยคิดอยู่เหมือนกันว่า ช่วงคลื่นของ Wifi ที่ access point ของเรา อาจจะชนกับ access point ของเครื่องอื่น ๆ ในบริเวณนั้น ๆ

วันนี้ ได้ไปอ่านบทความชิ้นหนึ่ง IETF ไปประชุมที่ฝรั่งเศส พร้อมปรับปรุง Wi-Fi ให้โรงแรม จึงได้ถึงบางอ้อ และทึ่งกับวิธีการจัดการแก้ปัญหาของทีมวิศวกรเครือข่าย (คือตัวเองไม่ได้เป็นวิศวกรเครือข่าย สมัยเรียน Wifi ยังไม่เกิด แม้แต่ Cellular ก็เพิ่งเริ่มมีได้ไม่นาน แต่ก็พอรู้มาบ้าง) ที่แก้ปัญหาจากความเข้าใจหลักการทำงานพื้นฐานและดัดแปลง ปรับแต่งศักยภาพของอุปกรณ์ที่มีอยู่ทั้งหมดให้สามารถทำงานร่วมกันได้โดยไม่ต้องลงทุนเพิ่มเติม นี่แหละสุดยอด!!!!!

บทความนั้นมีรายละเอียดตามนี้

เรื่องราวแปลกประหลาดบางทีก็เกิดขึ้นได้ในโลกไอทีเมื่อทีม IETF หรือ Internet Engineering Task Force (ที่ไมโครซอฟท์เพิ่งส่งมาตรฐาน HTTP 2.0 ให้พิจารณา) ได้ไปประชุมกันที่โรงแรม Concorde Lafayette ในปารีส และพบว่าอินเทอร์เน็ตใช้งานแทบไม่ได้ แพ็กเก็ตสูญหายไปถึง 30% และเวลา latency ของเครือข่ายนั้นสูงถึง 5-6 วินาที

เหตุผลของเรื่องนี้คือผู้เข้าประชุมกับ IETF นั้นล้วนใช้อินเทอร์เน็ตกันทุกคน พอคนใช้มากๆ เข้าช่องความถี่วิทยุของ Wi-Fi ก็เต็มจนใช้งานไม่ได้

แต่ในเมื่อวิศวกรที่ออกแบบอินเทอร์เน็ตมารวมกันจนเต็มโรงแรม จะมีอะไรต้องกลัวอีก?

หนึ่งในนั้น คือ Chris Elliott อดีตวิศวกรของซิสโก้ ได้เข้าตรวจสอบเครือข่าย และพบว่าการคอนฟิก Access Point (AP), การวางแผนคลื่นความถี่, ตลอดจนการเลือกจุดวาง AP ของโรงแรมนั้นทำได้ไม่ดี

Elliott ตรวจสอบการเชื่อมต่อของ MAC, IP ว่ามาจากพอร์ดใดบ้างด้วย netdisco แล้วจึงมอนิเตอร์คอนฟิกที่เขาแก้ไปด้วย rancid ที่จะล็อกอินเข้าไปยังอุปกรณ์เพื่อเก็บความเปลี่ยนแปลงของคอนฟิกมาลง CVS เป็นระยะ

หลังจากนั้นทีมวิศวกรของ IETF เริ่มเปลี่ยนแปลงค่าต่างๆ เริ่มด้วยการปรับค่าความไวต่อสัญญาณฝั่ง "รับ" ของ AP ให้ต่ำลง, เพิ่มความเร็วต่ำสุดจาก 1Mbps เป็น 2Mbps ทำให้อุปกรณ์ต้องต่อเข้ากับ AP ที่ใกล้ตัวเองมากกว่า, ลดความแรงสัญญาณส่งลงเหลือ 10dBm จาก 20dBm, สุดท้ายคือการเพิ่มช่องสัญญาณจาก 3 ช่องปรกติ ที่มักใช้ 1, 6, 11 เป็น 1, 5, 9 ,13 แม้จะมีปัญหาการกวนกันระหว่างช่องสัญญาณบ้างและอุปกรณ์บางตัวไม่สามารถเชื่อมต่อที่ช่อง 13 ได้ แต่ก็ทำให้การจัดการทำได้ดีขึ้น จากนั้นทีมงานจึงเลือกเปลี่ยนโหมดการทำงานของ AP บางตัวให้เป็น 5GHz แทน

ทีมเน็ตเวิร์คทีมนี้คงหาจ้างไม่ได้ที่ไหนในโลก

ที่มา - NetworkWorld

ที่มา www.blognone.com

โดย Little Bear on 30 มี.ค. 55 01:23
  • ส่งไป yahoo.com ได้
  • ส่งไป hotmail.com ได้บ้าง ไม่ได้บ้าง ตีกลับบ้าง
  • ส่งไป gmail.com ไม่ได้เลย ตีกลับตลอด

ข้อความตีกลับมา ก็ประมาณนี้ :

This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: xxx@gmail.com     SMTP error from remote mail server after end of data:
    host gmail-smtp-in.l.google.com [209.85.225.27]:
    550-5.7.1 [202.129.16.49] The IP you're using to send mail is not authorized to
    550-5.7.1 send email directly to our servers. Please use the SMTP relay at your
    550-5.7.1 service provider instead. Learn more at
    550 5.7.1 http://support.google.com/mail/bin/answer.py?answer=10336 pa2si6663151igc.55 ------ This is a copy of the message, including all the headers. ------ Return-path:
Received: from localhost ([127.0.0.1] helo=www.napradu.go.th)
by s1.myhost.com with esmtpa (Exim 4.73)
(envelope-from )
id 1SDI7B-0006cP-5q
for xxx@gmail.com; Thu, 29 Mar 2012 23:22:21 +0700
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
format=flowed
Content-Transfer-Encoding: 7bit
Date: Thu, 29 Mar 2012 23:22:20 +0700
From: xxx@xxx.go.th
To:
Subject: =?UTF-8?Q?=E0=B8=97=E0=B8=94=E0=B8=AA=E0=B8=AD=E0=B8=9A=E0=B8=88?= =?UTF-8?Q?=E0=B8=B2=E0=B8=81=20softganz?=
Message-ID: <7f8a6ee0134f08296fbcd88e7b9deb7a@napradu.go.th>
X-Sender: xxx@xxx.go.th
User-Agent: Roundcube Webmail/0.7.2 Test

เท่าที่คาดไว้ สาเหตุ

  1. CAT เปลี่ยนอะไรบางอย่าง ทำให้ต้องกำหนดค่า Reverse DNS (จากเดิมที่เคยส่งเมล์ได้เป็นปกติ) ก็เลยติดต่อไปทาง CAT แจ้งข้อมูลไป แล้วก็คอยอีก 2-3 วัน ได้ทราบว่ามีการกำหนดให้แล้ว ลองตรวจดูกับ www.mxtoolbox.com ปรากฏว่าเรียบร้อย แต่ก็ยังส่งไม่ผ่านอยู่ดี

  2. อาจจะติด Black list เลยตรวจดูกับ ip-blacklist.e-dns.org ปรากฏว่าติดอยู่ 4 ที่ คือ Software Group Blackholes , APEWS Level 2 , Spamhaus PBL Policy Block List , Spamhaus ZEN Combined Block List ตัวที่คาดว่าอาจจะมีปัญหาคือ Spamhaus PBL Policy Block List

  3. ลองเข้าไปตรวจสอบดูที่ Spamhaus PBL Policy Block List อ่านได้ความประมาณว่า IP เราเป็น IP Dynamic ซึ่งเป็น IP ที่ไม่สามารถส่งเมล์ออกได้ เลยทำการขอลบ IP ออก แล้วคอยอีกประมาณ 1 ชั่วโมง

  4. ก็เริ่มจะส่งได้ hotmail.com ไปเข้า junk mail , gmail.com ไปเข้า junk mail ก็ยังดีที่ไม่โดน reject

โดย Little Bear on 23 มี.ค. 55 21:55

ขั้นตอนการติดตั้ง

ดาวน์โหลด และติดตั้ง Eclipse

sudo apt-get install eclipse-jdt

หรือเปิด Ubuntu Software Center แล้วค้นหา eclipse-jdt แล้วก็ติดตั้งเสีย

ติดตั้ง ADT Plugin for Eclipse

  1. Go to Help->Install Software
  2. Click on "Available Software Sites"
  3. Set "check" on check box - http://download.eclipse.org/releases/helios (for helios - Eclipse 3.6 )
  4. Click Add, in the top-right corner. In the Add Repository dialog that appears, enter "ADT Plugin" for the Name and the following URL for the Location:

    https://dl-ssl.google.com/android/eclipse/

    Click OK

    บันทึก : หากมีปัญหาในการติดตั้ง ให้ลองเปลี่ยนเป็น http แทน https หากยังไม่ได้อีก ให้เข้าไปดาวน์โหลด ADT-17.0.0.zip (ไม่ต้องแตกไฟล์) แล้วเลือก Location เป็นไฟล์นี้แทน

  5. In the Available Software dialog, select the checkbox next to Developer Tools and click Next.

  6. In the next window, you'll see a list of the tools to be downloaded. Click Next. Read and accept the license agreements, then click Finish.

    Note: If you get a security warning saying that the authenticity or validity of the software can't be established, click OK.

  7. When the installation completes, restart Eclipse.

แต่ที่เจ๋งกว่านั้นคือ AIDE - Android Java IDE

โดย Little Bear on 23 มี.ค. 55 15:56

เมื่อวานไปซื้อ sim ของ CAT พร้อม package My Click 590.- บาท (ไม่รวม VAT) แต่โทรศัพท์มือถือไม่รองรับคลื่น 850MHz เลยเอามาใช้งานกับ WellCom A800 (สามารถทำ Tethering ได้) เลยเอามาทดสอบ speedtest เสียหน่อย

ผลพบว่า อยู่ในเกณฑ์ที่น่าพอใจเชียวนะ

ปล. ก่อนใช้งาน ให้เซ็ต APN ก่อนนะเอ้อ ป้อนค่าให้เป็น internet เสียด้วย

โดย Little Bear on 10 มี.ค. 55 21:35

Kloxo admin password login:ง่าย ๆ คือ

sh /script/resetpassword master {newpassword}

หรือ ยาก ๆ

How to reset a Kloxo or LxAdmin password from SSH

When your VPS is installed by us with lxadmin the password will be the same as what you asked for on setup.

If not try "admin"

Note: if you reinstall yourself it will also be "admin"

If you still can't login:

Login via SSH

cd /usr/local/lxlabs/lxadmin/httpdocs

/usr/bin/lphp.exe  ../bin/common/resetpassword.php master

Now try your password again.

If you still can't get it to work, create a support ticket.

ที่มา LxCenter , ZanyHost Ltd

611 items|« First « Prev 31 32 (33/62) 34 35 Next » Last »|