Posts

Showing posts from December, 2009

Virtual Server With Proftpd

Lần trước có nói đến virtual user trong Proftpd. Sử dụng chức năng này giúp ta an toàn hơn vì đây là user ảo, ko phải user hệ thống.
Hn ta xét tiếp đến Virtual Hosting. Với chức năng này của proftpd ta có thể cấu hình lắng nghe trên nhiều cổng ( Multi Server). Cấu hình đơn giản lắm:
Trong /etc/proftpd thêm:

<virtualhost 1.2.3.4="">
...
</virtualhost>


hoặc:

<virtualhost ftp.mydomain.com>
... </virtualhost>

Trong tab này, ta sẽ thêm các tham số như:
Port : chỉ định port lắng nghe, không trùng với default server
Sử dụng tab:

<directory /path/to/dir;>
</directory>

Trong đó kẹp thêm tab: limit
Ngòai ra còn những tham số như bind ip hoặc allowuser để tùy chọn cho các private server. Nếu làm các các public server có thể dùng section Anonymousm, chú ý set user và group phù hợp :|

Nói về Virtual User, các bạn có inclue quota, mình chỉ bình luận về phần permision của virtual user đó. Khi bạn insert user đó và database, lưu ý tham số uid và gid, đây …

Virtual User With Proftpd And MySQL on CentOS

Xây dựng FTP server với proftpd sử dụng MySQL

Phiên bản sử dụng hiện tại là 1.3.2 stable, download tại http://proftpd.org/
Giải nén
tar xjf proftpd-1.3.2.tar.bz2
cd proftpd-1.3.2/ Ta sẽ sử dụng mySql để lưu thông tin người dùng. Do đó bạn cần đảm bảo máy bạn đã có mysql
mysql_config --help
Options:
        --cflags         [-I/usr/include/mysql  -g -pipe -DUNIV_LINUX]
        --include        [-I/usr/include/mysql]
        --libs           [-rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc]
        --libs_r         [-rdynamic -L/usr/lib/mysql -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -lmygcc]
        --plugindir      [/usr/lib/mysql/plugin]
        --socket         [/var/lib/mysql/mysql.sock]
        --port           [0]
        --version        [5.1.41]
        --libmysqld-libs [-rdynamic -L/usr/lib/mysql -lmysqld -ldl -lz -lpthread -lcrypt -lnsl -lm -lpthread -lrt -lmygcc] để ý tham số include và lib
Configure cho proftpd integate mysql:
 ./confi…

DNS - Master and Slave

Nhớ 2k3 có cái kiểu này, mày mò làm theo :D
Thấy nó đúng là đơn giản thật :-j
Đầu tiên là cấu hình master zone trên máy master như bình thường.
zone "hbn.com" IN
{
        type master;
        file "hbn.db";
}; Trên máy slave cấu hình còn dễ hơn :(
zone "hbn.com" {
        type slave;
        file "bak.hbn.com";
        masters {192.168.153.100;};
}; Restart lại service
Dec  6 23:51:59 localhost named[1792]: client 192.168.153.101#47372: transfer of 'hbn.com/IN': AXFR started
Dec  6 23:51:59 localhost named[1792]: client 192.168.153.101#47372: transfer of 'hbn.com/IN': AXFR ended Xong.
Bonus video :D
http://www.mediafire.com/?yq34jfdokyj
---------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------
All my Lab:
Linux Lab -- window and Cisco Lab
to be continued - I will update more.

DNS - Triển khai Internal và External network

Trong thực tế, khi triển khai DNS, ta cần thiết lập DNS phân giải riêng cho mạng nội bộ.
VD như domain hbn.com. Trên mạng có sẵn tên miền này rồi, bây giờ ta muốn mạng nội bộ (10.0.0.0/16) của ta sẽ trỏ sang 192.168.1.100 ( server mạng nội bộ). Tuy nhiên, khi máy ngòai mạng yêu cầu, lại trỏ tới hbn.com thực sự trên mạng.
Ta triển khai như sau:
Trong file named.conf, thiết lập internal
acl internal { 10.0.0.0/16; localhost; }; Bây giờ ta tiến hành cấu hình thêm vào:
view "internal-view" {
      match-clients { internal; };
      zone "test123.com" IN
    {
            type master;
            file "internal.test123.db";
      };
    zone "." IN
    {
            type hint;
            file "named.root";
    };
    zone "0.0.127.in-addr.arpa" IN
    {
            type master;
            file "named.local";
    };
    zone "hbn.com" IN
    {
        type master;
        file "hbn.db";
    }…

DNS - Hide Version

Để tránh scan phiên bản bind, thêm dòng sau vào file cấu hình
version "YOUR Message"; Sample
options { query-source port 53; query-source-v6 port 53; listen-on { 174.ttt.xx.yy; }; directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; dnssec-enable yes; recursion no; allow-notify { 174.zzz.yy.zz; 172.xx.yy.zz; }; version "BIND"; }; Bonus:
Để xem ver của bind, dùng command sau:
$ dig @ -c CH -t txt version.bind ---------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------
All my Lab:
Linux Lab -- window and Cisco Lab
to be continued - I will update more.

DNS - Configure to Listen on Interface

IPv4:
Listen trên 1 ip đặc biệt:
listen-on { 202.54.1.2; }; Listen tất cả:
listen-on { any; }; tương tự với IPv6
listen-on-v6 { any; }; listen-on-v6 { ipv-6-address; }; Sample
options { //listen-on-v6 { any; }; listen-on { 202.54.1.2; }; directory "/var/named"; // the default dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; dnssec-enable yes; recursion no; allow-notify { 202.54.1.3; 202.54.1.4; }; version "go away"; };
---------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------
All my Lab:
Linux Lab -- window and Cisco Lab
to be continued - I will update more.

Bind - DNS server

DNS - Bind đc coi là vấn đề đơn giản nhất trong cấu hình Server Linux. Tất nhiên là DNS primary standard alone, dùng text file nhé. Thực ra với yêu cầu < 1000 record thì thế vẫn đc coi là ổn, ít ra là hơn Windows DNS service.
Về vấn đề cài bind. Có thể cài từ source rồi chroot cho nó. Đây là yêu cầu cần thiết để đảm bảo an tòan cho hệ thống. Sau khi jain, named sẽ chạy với tư cách root (chroot) , tuy nhiên, vì đã jain, nên dù bị hack, hacker vẫn sẽ bị nhốt trong thư mục /var/named.
http://www.linuxsecurity.com/docs/LDP/Chroot-BIND-HOWTO.html
Hướng dẫn khá chi tiết. nếu làm về FreeBSD nên đọc cái này
Trên CentOS, vấn đề đơn giản hơn :))
yum install bind-chroot Sau đó, thực hiện các cấu hình sau:
 chmod 755 -R /var/named/
 cp /usr/share/doc/bind-9.3.3/sample/var/named/named.local /var/named/chroot/var/named/
 cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/
 touch /var/named/chroot/etc/named.conf
  chkconfig --level 35 named on
  service named star…

Samba - Cần nhớ

Hôm nay làm Samba, mắc lỗi, mãi cuối A.Tùng phát hiện ra. Viết vào để nhớ
- Dùng rpm, cài soure lằng nhằng.
- Lệnh: yum install samba*. Cài all.
- Cài xong nên install Swat, mặc dù pro ko mấy khi dùng cái này. Cài cái này cần lưu ý 2 tham số:
+ disable = no
+ network = 192.168.1.0/24 ; mạng muốn cho truy cập
+ đăng nhập bằng root mới quản trị đc =))
- Add user: add user hệ thống: useradd
rồi add vào smb: smbpassword -a
- Trong file cấu hình, ko cấu hình là default, mà default = gì thì mở swat ra coi.
Phân quyền:
Quyền truy cập vào là giao của quuyền truy cập hệ thống và quyền truy cập cho samba. thực ra là samba đọc nó trước rồi mới trao quyền truy cập cho bạn
tóm lại là bạn cần gán quyền truy cập cho thư mục đó ( thường là 777 cho dễ), rồi gán quyền writelist cho user đó. Nhân tiện @ = nhóm :d
Quyền write list chỉ thực hiện đc khi mà read only = Yes. Để gán quyền cho nhóm dùng thêm @ ( như trên) và phân quyền cho nhóm đó ( chuyển quyền).
Mở rộng ra có thể kết hợp với setacl - geta…