Friday, December 27, 2013
Sunday, November 24, 2013
Thay đổi port SSH trong RHEL 6
Thường chúng ta không cần thay đổi điều này, có nhiều cách để remote tới server linux trong đó ssh là hay dùng nhất.
chúng ta thử change port ssh với lệnh:
vi /etc/ssh/sshd_config
Port 1255 # thay đổi port 22 --> 1255
tuy vậy nếu chúng ta sưa vậy gặp lỗi ngay.
chúng ta xem lại đã aad thành công chưa:
restart dịh vụ với lệnh :
chúng ta thử change port ssh với lệnh:
vi /etc/ssh/sshd_config
Port 1255 # thay đổi port 22 --> 1255
tuy vậy nếu chúng ta sưa vậy gặp lỗi ngay.
mặc định port 22
semanage port -l | grep ssh
ssh_port_t tcp 22
add port 1255 trong ssh
# semanage port -a -t ssh_port_t -p tcp 1255
chúng ta xem lại đã aad thành công chưa:
# semanage port -l | grep ssh
restart dịh vụ với lệnh :
/sbin/service sshd reload
kiểm tra lại vơi lệnh
netstat -tulpn | grep 1255
Monday, November 18, 2013
Cấu hình NFS server trên centos lý thuyêt chuẩn
đang public .........
Sunday, November 3, 2013
HA cho web server
Muc tiêu xây dựng mô hình mạng High availible cho web server apache :
cần chuẩn bị kiến thức:
1. HA proxy( load balacing )
2. Rsync (đồng bộ hóa suorce code)
3. DRDB (replication database MySQL)
cần chuẩn bị kiến thức:
1. HA proxy( load balacing )
2. Rsync (đồng bộ hóa suorce code)
3. DRDB (replication database MySQL)
Thursday, October 31, 2013
cài đặt mod_security for apache2.2.x
máy yếu Ram nên bị đen :D
Giới thiệu sơ qua về mod_security
Mở đầu:
1. Mob_security
là gì: là một firewall dành riêng cho lớp
ứng dụng Web (WAF) nó bảo vệ và ngăn cản các cuộc tấn công nhằm vào ứng dụng
web như:
2.
Mob_apache hoạt đọng như thế nào:
Các gói http request
khi gửi đến httpd phải thông qua Mod_security, Mob_security có nhiệm vụ
cản lọc các gói tin không hợp lệ giúp bảo vệ server web chúng ta tốt hơn. Cũng
giống như snort các rule thương mại được viết sẳn chúng ta phải trả phí. Chúng
ta tiến hành cài đặt Mod_security
Yum các gói
hổ trợ:
Cài đặt epel
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@web ~]# rpm -Uvh epel-release-6-8.noarch.rpm
cài đặt gói
hổ trợ:
yum
install gcc make libxml2 libxml2-devel httpd-devel pcre-devel curl-devel -y
mkdir /tmp/mod;cd /tmp/mod
download
mod_security:
[root@web mod]# wget
https://www.modsecurity.org/tarball/2.7.5/modsecurity-apache_2.7.5.tar.gz
giải nén
file vừa download:
[root@web
modsecurity-apache_2.7.5]# tar xzvf modsecurity-apache_2.7.5.tar.gz
[root@web mod]# cd modsecurity-apache_2.7.5
[root@web
modsecurity-apache_2.7.5]# ./configure
[root@web modsecurity-apache_2.7.5]# make install
[root@web modsecurity-apache_2.7.5]# cp
modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
Mod_security
yêu cầu phải có OWASP (Open Web Application Security Project) để tạo rule cấu hình
cơ bản
[root@web
/]# cd /etc/httpd
[root@web
httpd]# wget http://pkgs.fedoraproject.org/repo/pkgs/mod_security_crs/owasp-modsecurity-crs-2.2.8.tar.gz/fdee278c02d41a1377dc20a616b2f327/owasp-modsecurity-crs-2.2.8.tar.gz
[root@web
httpd]# mv owasp-modsecurity-crs-2.2.8 modsecurity-crs
[root@web
httpd]# cd modsecurity-crs/
[root@web
modsecurity-crs]# cp modsecurity_crs_10_setup.conf.example
modsecurity_crs_10_setup.conf
Tiếp theo
quay lại cấu hình http.conf
Add line:
LoadModule security2_module modules/mod_security2.so
And add
after line:
<IfModule security2_module>
Include modsecurity-crs/modsecurity_crs_10_setup.conf
Include modsecurity-crs/base_rules/*.conf
</IfModule>
Kiểm tra lại
với :
Httpd –v
Tail –f
/var/log/httpd/error_log
Saturday, October 26, 2013
Xây dựng web apache(bảo mật web )
·
Thư
mục đường dẫn nơi lưu trữ trang web :
/var/www/html hoặc /var/www
·
Cấu
hình chính apache tại /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora) and/etc/apache/apache2.conf (Debian/Ubuntu).
- Default HTTP Port: 80 TCP
- Default HTTPS
Port: 443 TCP
·
Xem file log của apache tại 2 file
1.
Xem
file log truy cập tại /var/log/httpd/access_log
2. Xem
file log lỗi tại /var/log/httpd/error_log
Tiếp theo ngoài việc xây dựng hệ thống web với
apache chạy tốt, một điều kiện cũng khá bắt buộc đó là bảo mật hệ thống web
server apache.Dưới đây là một trong những bước giúp hoàn thiện cho hệ thống web
apache.
1.
Không hiển thị các lỗi show version của apache
và hệ điều hành khi truy cập bị lỗi.
-
Theo đường
dẫn /etc/httpd/conf/httpd.conf ta sửa
lại các default như sau
“ServerSignature“(line
536) mặc đinh nó là On chúng ta sữa lại Off và chỉnh
sửa “ServerTokens Prod” (line 44)nó
dấu version cho chúng ta
2.
Disable chức năng hiển thị danh sách trong các
thư mục
Mặc định apache hiển
thị hết tất cả các file có trông thư mục root như bên dưới.
Chúng ta có thể disable
chức năng này bằng cách cấu hình trong
đường dẫn đặc biệt mà không muốn show các file trong đó bằng cách:
<Directory /var/www/html>
Options -Indexes
</Directory>
3. Dữ apache luôn được update bản mới nhất
Muốn xem version
hiện tại của apache chúng ta đánh lệnh như sau:
Httpd –v
# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Aug 13 2013 17:29:28
Muốn update apache
chúng ta đánh lệnh sau
Yum update apache
4. Disable những module không cần thiết
Để
hạn chế rủi ro cho web server chúng ta nên loại bỏ bớt một số module không cần
thiết.
Lệnh
sau giúp chúng ta xem các module ta đang có:
grep LoadModule /etc/httpd/conf/httpd.conf
chúng
ta có thể loại bớt một phần module, hầu
như chúng ta không dùng đến, trong đó chúng ta chú ý tới các module thường
chúng ta không cần đến. mod_imap,mod_include, mod_info, mod_userdir, mod_autoindex
chỉ
việc thêm dấu # trước mỗi module chúng
ta cần bỏ
5.
Disable tính năng Symboliclinks
Mặc định apache
cho phép tính năng symbolic chúng ta có thể tắc tính nắng FollowSymLinks với Options
directive. Chúng ta cấu hình chúng trong file httpd.conf
Options -FollowSymLinks
Nếu có User hay website
nào cần sử dụng chức năng FollowSymLinks . chúng ta đơn giản viết 1 rule trong file
.htaccess từ web site đó
# Enable symbolic links
Options +FollowSymLinks
Chú ý: ta enable
chứng năng Rewrite thì chúng ta cấu hình trong file httpd.conf là “AllowOverride All”
6. Tắt chức năng server side include và CGI execution
Chúng ta cũng tắt
các chức năng server side include (mod_include) and CGI execution
trong thư mục gốc
Options -Includes
Options -ExecCGI
Trong
các trang web con chúng ta cũng cấu hính
tương tự
<Directory "/var/www/html/web1">
Options -Includes -ExecCGI
</Directory>
7. Giới hạn kích thước REQUEST
Mặc định apache không giới hạn kích
thướt request HTTP , khi chúng ta không giới hạn có thẻ trở thành nạn nhân của
tấn công DDOS. Chúng ta cần giới hạn kích
thước thư mục “LimitRequestBody”
.
Chúng ta có thể giới hạn gia trị từ 0 (
không giới hạn) tới 2147483647 (2GB) cho
phép request body . Bạn có thể thiết lập giới hạn này theo nhu cầu trang web của bạn, Giả sử bạn có một trang
web mà bạn cho phép cập nhật
và bạn muốn giới hạn kích thước tải lên một thư mục cụ
thể.
Đây trong ví dụ này,
user_uploads là một thư mục có chứa các tập tin tải
lên bởi người sử dụng. Chúng tôi
đang đặt một giới hạn của 500K cho việc này.
<Directory
"/var/www/myweb1/user_uploads">
LimitRequestBody 512000
</Directory>
8. Bảo vệ tấn công DDOS
Chúng ta không thể bảo vệ chống lại
tấn công DDOS hoàn toàn mà chỉ hạn chế 1 phần nào đó thôi,
·
TimeOut : thời gian máy chủ chờ một kết nối, mặc định
300 giây, tốt hơn nên để giá trị này nhỏ
để hạn chế tấn công DDOS
·
MaxClients : giới
hạn số lượng kết nối phục vụ cùng lúc,
quá số lượng này sẽ phải sếp hàng đợi
·
KeepAliveTimeout: thời gian đợi đóng một kết nối, mặc định là 5 giây
·
LimitRequestFields: giới hạn số
lượng HTTP Request header đượ chấp nhận bởi client, mặc định là 100 , chúng ta nên để giá
tri thấp hơn
·
LimitRequestFieldSize: giới hạn kích thước của HTTP request header
9.
Enable
log web server .
Apache cho phép
chúng ta xem 2 file log như trên, nhưng nếu host có nhiều site thì chúng ta phải
có file log riêng cho từng site để tránh nhầm lẫn.
<VirtualHost
*:80>
DocumentRoot
/var/www/html/example.com/
ServerName
www.example.com
DirectoryIndex
index.htm index.html index.php
ServerAlias
example.com
ErrorDocument
404 /story.php
ErrorLog
/var/log/httpd/example.com_error_log
CustomLog
/var/log/httpd/example.com_access_log combined
</VirtualHost>
10.
Cài đặt thêm mod.
Cài thêm các mod để
gia tăng sự bảo mật, Mod không thể thiếu là mod_security. Bài tiếp theo có TUT về mod này
Wednesday, October 2, 2013
Squid làm proxy phần 2(by dienhuynhit)
phần này giơi thiệu sơ qua về chứng thực user LDAP:
Squid hổ trợ chúng ta chứng thực với Server LDAP qua file squid_ldap_auth. Điều này có nghĩa là chúng ta có thể sử dụng user & password để chứng thực cho giao thức HTTP. File này nằm trong đường dẫn: Đầu tiên chúng ta có thể kiểm tra máy đã kết nối với LDAP server chưa ( ở đây là PDC đã xây dựng từ bài trước). Sử dụng lệnh:
/usr/lib/squid/squid_ldap_auth -b "dc=tencongty,dc=com" -f "uid=%s" ldap.tencongty.com
Khi nhấn Enter thì nó yêu cầu ta nhập UID & password: nếu có thể kết nồi với mấy LDAP PDC là ok
Tiếp theo config file : # vi /etc/squid/squid.conf
Add thêm 1 số code:
auth_param basic program /usr/lib64/squid/squid_ldap_auth -b "dc=tencongty,dc=com" -f "uid=%s" -h ldap.tencongty.com
acl ldapauth proxy_auth REQUIRED
http_access allow ldapauth
http_access deny all
chú ý : thư mục đường dẫn sữa lại cho phù hợp phiên bản mới hơn có thể sử dụng : usr/lib/squid/ldap_auth -b “dc=mydc” -D cn=admin,dc=mydc -w passwd -H ldap://ldapserver -v 3 -f “uid=%s”
----------------------------------------------------------------------------------------------------------
bài tập cơ bản về SQUID PROXY
1. cam truy cap web
acl allowip src "/etc/squid/allowip.txt"
acl denywebsite dstdom_regex "/etc/squid/denywebsite.txt"
http_access deny denywebsite
http_access allow allowip
2. Han che truy theo thoi gian
acl home_network src 192.168.1.0/24
acl allow_hours time M T W H F 9:00-17:00
http_access allow home_network allow_hours
3. Han che truy cap theo dinh dang File
acl home_network src 192.168.1.0/24
acl denyfiletypes url_regex -i .mp3$ .mpg$ .mpeg$ .mp2$ .avi$ .wmv$ .wma$ .exe$
acl magic_words2 url_regex -i ftp .mp3$ .mpg$ .mpeg$ .mp2$ .avi$ .wmv$ .wma$ .exe$
http_access deny denyfiletypes
http_access allow home_network
4. Chan IP
acl RestrictedHost src 192.168.1.200
http_access deny RestrictedHost
5. Chan File Download
acl blockfiles urlpath_regex “/etc/squid/blocks.files.acl”
http_access deny blockfiles
#vi /etc/squid/blocks.files.acl
\.[Ee][Xx][Ee]$
\.[Aa][Vv][Ii]$
\.[Mm][Pp][Gg]$
\.[Mm][Pp][Ee][Gg]$
\.[Mm][Pp]3$
\.[Rr][Pp][Mm]$
Squid hổ trợ chúng ta chứng thực với Server LDAP qua file squid_ldap_auth. Điều này có nghĩa là chúng ta có thể sử dụng user & password để chứng thực cho giao thức HTTP. File này nằm trong đường dẫn: Đầu tiên chúng ta có thể kiểm tra máy đã kết nối với LDAP server chưa ( ở đây là PDC đã xây dựng từ bài trước). Sử dụng lệnh:
/usr/lib/squid/squid_ldap_auth -b "dc=tencongty,dc=com" -f "uid=%s" ldap.tencongty.com
Khi nhấn Enter thì nó yêu cầu ta nhập UID & password: nếu có thể kết nồi với mấy LDAP PDC là ok
Tiếp theo config file : # vi /etc/squid/squid.conf
Add thêm 1 số code:
auth_param basic program /usr/lib64/squid/squid_ldap_auth -b "dc=tencongty,dc=com" -f "uid=%s" -h ldap.tencongty.com
acl ldapauth proxy_auth REQUIRED
http_access allow ldapauth
http_access deny all
chú ý : thư mục đường dẫn sữa lại cho phù hợp phiên bản mới hơn có thể sử dụng : usr/lib/squid/ldap_auth -b “dc=mydc” -D cn=admin,dc=mydc -w passwd -H ldap://ldapserver -v 3 -f “uid=%s”
----------------------------------------------------------------------------------------------------------
bài tập cơ bản về SQUID PROXY
1. cam truy cap web
acl allowip src "/etc/squid/allowip.txt"
acl denywebsite dstdom_regex "/etc/squid/denywebsite.txt"
http_access deny denywebsite
http_access allow allowip
2. Han che truy theo thoi gian
acl home_network src 192.168.1.0/24
acl allow_hours time M T W H F 9:00-17:00
http_access allow home_network allow_hours
3. Han che truy cap theo dinh dang File
acl home_network src 192.168.1.0/24
acl denyfiletypes url_regex -i .mp3$ .mpg$ .mpeg$ .mp2$ .avi$ .wmv$ .wma$ .exe$
acl magic_words2 url_regex -i ftp .mp3$ .mpg$ .mpeg$ .mp2$ .avi$ .wmv$ .wma$ .exe$
http_access deny denyfiletypes
http_access allow home_network
4. Chan IP
acl RestrictedHost src 192.168.1.200
http_access deny RestrictedHost
5. Chan File Download
acl blockfiles urlpath_regex “/etc/squid/blocks.files.acl”
http_access deny blockfiles
#vi /etc/squid/blocks.files.acl
\.[Ee][Xx][Ee]$
\.[Aa][Vv][Ii]$
\.[Mm][Pp][Gg]$
\.[Mm][Pp][Ee][Gg]$
\.[Mm][Pp]3$
\.[Rr][Pp][Mm]$
Monday, September 16, 2013
cấu hình Squid làm proxy gateway (by dienhuynhit) phần 1
mô hình
--------------Internet
---------------
|
| (eth1)
DHCP client
gateway
proxy
| (eth0) 10.0.0.1/8
|
Local
I .CÀI ĐẶT
Change hostname
Vi /etc/sysconfig/network
HOSTNAME=gateway.tencongty.com
Shutdown –r now #restart lại
computer
After restart computer command follow:
Hostname #enter
HOSTNAME=gateway.tencongty.com
Yum –y install squid
II .CẤU HÌNH:
1. Khai báo ACL
Vi /etc/sysconfig/squid.conf
acl
localnet src 10.0.0.0/8 # default đã có
nếu không có chúng ta tự khai báo ACL cho local net của chúng ta
line 57:
http_access
allow localnet # cho phép local net ra internet
bằng http
note: khi khai báo cho phép hay
cấm 1 ACL chúng ta thường có các bước sau
step1: khai báo tên cho ACL áp dụng
cho cái gì ( cho 1 lớp ip, cho thời gian, danh sách domain bị cấm vvv..)
step2: khai báo action của ACL
allow or deny
example1: -
acl webdeny dstdomain www.tuoitre.vn
-
http_access deny
webdeny # dĩ nhiên lúc này tuổi trẻ bị cấm
bài tập: Yêu cầu tạo 1 rule ACL cấm truy cập 1
list danh sách(google.com, yahoo.com từ 10hà18:00 từ thứ 2 à6 trong tuần)
solve
solution
Vi /etc/squid/block.acl
Google.com.vn
Yahoo.com
acl
localnet src 10.0.0.0/8
acl
office_time time MTWHF 10:00-18:00
acl bad
url_regex "/etc/squid/block.acl" # tạo
http_access deny localnet bad office_time
2.proxy port
line65:
http_port 3128 # port defaul proxy chung ta có thể thay đổi tùy thích
chúng ta sữa thành:
http_port 3128
transparent (tự động chuyển proxy )
hết phần 1:
author: dienhuynhit
Subscribe to:
Posts (Atom)