banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: lion1102  XML
Profile for lion1102 Messages posted by lion1102 [ number of posts not being displayed on this page: 0 ]
 
Bạn nên tính toán và lập kế hoạch cho cẩn thận, càng chi tiết càng tốt. Ví dụ:

- Số người cùng làm với bạn (chịu trách nhiệm marketing dịch vụ, lo về kỹ thuật, kế toán ....)
- Vốn ngắn hạn, dài hạn rồi còn phải lo giấy tờ kinh doanh, hoá đơn đỏ (nếu có đối tượng khách hàng là doanh nghiệp)
- Đội ngũ lo về kỹ thuật: có bao nhiêu người, khả năng hỗ trợ về dịch vụ cho khách hàng, quản trị server, bảo mật cho server, thời gian hỗ trợ phải 24/7, hỗ trọ càng nhanh, giải đáp thắc mắc chính xác cho khách hàng càng tốt
- 1 công ty cung cấp web hosting ở Việt Nam thường có cả cung cấp dịch vụ thiết kế website cho khách hàng (nếu có nhu cầu).

Nếu làm 1 mình, mình e bạn không kham nổi hết mọi việc đâu.
Theo mình hiện nay ở VN có khá nhiều các công ty cung cấp dịch vụ này, miếng bánh đã bị chi nhỏ khá nhiều, không còn màu mỡ như trước đây nữa.

xlove wrote:


Mô hình mình hiểu như thế này. Đường cáp quang của mình sẽ cắm vào modem. Từ modem sẽ cắm vào 1 card mạng của Server( trên server sẽ cài ISA). Card mạng còn lại sẽ cắm vào Switch. Từ Switch sẽ chia cho các máy PC ?


Như vậy trên server của mình cần cài ISA? Cấu hình ra sao để chặn và kiểm soát được các máy vào những website không mong muốn.

 

Bác làm theo mô hình sau:
Code:
LAN (switch)<-----------------> ISA <-----------------> modem <------------> Internet


Switch nối với card 1 card mạng của ISA và các switch hoặc máy trong mạng Lan, còn 1 card mạng nữa trên máy cài ISA bác nối với modem.

Bác nên kiếm 1 cuốn training kit về ISA mà đọc. Tuy sẽ mất thời gian đọc lúc đầu nhưng sẽ dễ cho bác sau này

xlove wrote:


Mô hình mình hiểu như thế này. Đường cáp quang của mình sẽ cắm vào modem. Từ modem sẽ cắm vào 1 card mạng của Server( trên server sẽ cài ISA). Card mạng còn lại sẽ cắm vào Switch. Từ Switch sẽ chia cho các máy PC ?


Như vậy trên server của mình cần cài ISA? Cấu hình ra sao để chặn và kiểm soát được các máy vào những website không mong muốn.

 

Bác làm theo mô hình sau:
Code:
LAN (switch)<-----------------> ISA <-----------------> modem <------------> Internet


Switch nối với card 1 card mạng của ISA và các switch hoặc máy trong mạng Lan, còn 1 card mạng nữa trên máy cài ISA bác nối với modem.

Bác nên kiếm 1 cuốn training kit về ISA mà đọc. Tuy sẽ mất thời gian đọc lúc đầu nhưng sẽ dễ cho bác sau này

blinkinkin wrote:
Ý em là muốn hỏi các anh quản trị web server kinh nghiệm thì phải cấu hình những rules cơ bản gì cho web server chạy 1 site, ví dụ: policy cho các chain để là gì?, open port 80, allow ssh v.v... cấu hình nên tạo file sh hay là gõ từng rules? còn kho sách của hva link là gì ạ? 


- Bạn không đọc bài mình viết sao? Nên viết thành 1 file shell script để sau này tiện chỉnh sửa lại

- Policy cho các chain nên để mặc định là DROP. Mở port để ssh vào server, mở port cho web service (tuỳ webserver bạn chạy ở port nào), mở port cho phép FTP (nếu bạn sử dụng FTP server). Bạn tham khảo thêm /hvaonline/readingRoom/item/539.html

Còn để bảo mật hơn thì bạn nên tham khảo loạt bài "Ký sự DDOS đến HVA" để đúc kết kinh nghiệm của các bác đầy kinh nghiệm

- Kho sách HVA: /book/ Lần sau nên để ý kĩ trước khi hỏi bạn nhé
Bạn tìm hiểu config các rules cho server chạy ứng dụng web như thế nào? Có thể nói cụ thể hơn không?

Khi viết rule iptables thì nên viết vào 1 file dạng shell script, sau này sửa đổi, thay thế sẽ dễ dàng hơn. Bạn nên tìm đọc cuốn Building Internet Firewalls trên kho ebook HVA có đấy và cuốn Designing and Implementing Linux Firewall & QoS

xlove wrote:

zinxu wrote:
Theo tôi, ISA Server sẽ đáp ứng được yêu cầu của bạn.

Các máy tính trong công ty sẽ truy cập internet theo sơ đồ: PCs -> [ISA Server] -> MODEM -> Internet.

Bạn sẽ cần thêm: 01 Windows Server 2003 & Phần mềm ISA Server 2006 http://www.microsoft.com/en-us/download/details.aspx?id=15244#overview)

Tại ISA Server, bạn sẽ xây dựng các Rule (luật truy cập) để thực hiện các yêu cầu chặn ở trên.
Tham khảo ví dụ: http://www.youtube.com/watch?v=yF1st4mhZ2g 


Cảm ơn bác. Bác cho em hỏi thêm
Mạng của em bây giờ đang là mạng ngang hàng. tất cả các máy cắm dây mạng vào modem. Nếu kết nối mô hình Server như vậy. Có cần thêm thiết bị nào không. Xây dựng như thế nào ? 


Bác có thể sử dụng phần mềm ISA 200x hoặc mới nhất là ForeFront 2010 của Microsoft cài trên 1 máy windows có 2 card mạng theo sơ đồ như bác zinxu đã viết hoặc sử dụng Linux cài Squid lên cũng được (do chi phí đầu tư bên bác và kĩ năng, thói quen của bác sử dụng Windows hay Linux). Mạng ngang hàng hay mạng sử dụng Domain Controller cũng vậy thôi. Tất cả các máy của bác đều phải đi qua 1 Gateway để ra ngoài Internet.
Hi bác mrro,

Khi em cài redsocks trên máy làm Gateway thì bị báo những warning như này:

Code:
In file included from redsocks.c:36:
libevent-compat.h:7:5: warning: #warning Using hardcoded value for evutil_socket_t as libevent headers do not define it.

Code:
In file included from utils.c:28:
libc-compat.h:11:5: warning: #warning Using hardcoded value for IP_ORIGDSTADDR as libc headers do not define it.
libc-compat.h:16:5: warning: #warning Using hardcoded value for IP_RECVORIGDSTADDR as libc headers do not define it.
libc-compat.h:21:5: warning: #warning Using hardcoded value for IP_TRANSPARENT as libc headers do not define it.

Code:
In file included from redudp.c:35:
libc-compat.h:11:5: warning: #warning Using hardcoded value for IP_ORIGDSTADDR as libc headers do not define it.
libc-compat.h:16:5: warning: #warning Using hardcoded value for IP_RECVORIGDSTADDR as libc headers do not define it.
libc-compat.h:21:5: warning: #warning Using hardcoded value for IP_TRANSPARENT as libc headers do not define it.

Máy em sử dụng làm Gateway cài Centos 5.8, có build lại kernel chọn hết các option Netfilter rồi ạ. Vấn đề này có phải do thiếu thư viện C không ạ? Em không biết là phải cài libc nào cho phù hợp ạ.

Mong bác giúp em với ạ

mrro wrote:
lion1102: nếu iptables đã làm được thì tại sao lại cần có phần mềm này? smilie. bạn đọc kỹ hơn sẽ thấy lý do. cơ bản là nếu bạn dùng -j REDIRECT thì bạn sẽ bị mất cái địa chỉ IP mà bạn muốn kết nối đến. redsocks giúp bạn lấy lại cái địa chỉ đó. bạn không cần phải cấu hình SQUID thành transparent proxy nữa, mà chỉ cần dùng redsocks đứng giữa là đủ, theo sơ đồ này:

client <-> iptables <-> redsocks <-> SQUID <-> server

-m 


Hi bác mrro,

Ý bác là dùng Iptables bình thường không thể điều hướng connection ở port 443 sang Squid hiệu quả được ạ?

Em không dùng -j REDIRECT để điều hướng connection vì máy cài Squid làm proxy em cài riêng, không chạy chung trên Linux Gateway ạ. Máy làm Gateway có 3 interface: 1 interface để nối với mạng LAN, 1 interface để em nối với máy cài Squid, và 1 interface em nối với modem ra Internet ạ.

Đây là đoạn rule em viết để điều hướng connection ở port 443 sang Squid dùng Iptables ạ

Code:
iptables -A FORWARD -i $INTIF -o $DMZIF -s 192.168.1.160 -d $SQUID -p tcp --sport $HI_PORTS --dport 8181 -j ACCEPT
iptables -A FORWARD -i $DMZIF -o $INTIF -s $SQUID -d 192.168.1.160 -p tcp --sport 8181 --dport $HI_PORTS -j ACCEPT
iptables -t nat -A PREROUTING -i $INTIF -s 192.168.1.160 -p tcp --sport $HI_PORTS --dport 443 -j DNAT --to $SQUID:8181
iptables -t nat -A POSTROUTING -o $DMZIF -s 192.168.1.160 -d $SQUID -j SNAT --to $DMZIP
iptables -t nat -A POSTROUTING -o $EXTIF -s $SQUID -d $EXTNET -j SNAT --to $EXTIP


Chú thích:

- $INTIF: là Lan Interface trên Linux Gateway
- $DMZIF: là Interface trên Linux Gateway mà máy cài Squid nối vào
- $SQUID là IP của máy cài Squid
- $HI_PORTS: là dải port từ 1024 - 65355
- $EXTIF là interface pppoe nối ra Internet
- 192.168.1.160 là IP máy em thử điều hướng connection ở port 443 sang Squid

Mà em cũng muốn dùng Squid để thay Client thực hiện kết nối trên port 80 và 443, không phải chỉ có port 443 đâu ạ
Có gì bác góp ý thêm cho em với ạ.

mrro wrote:
Cái tool này có thể giúp bạn: darkk.net.ru/redsocks/. 

Theo em đọc trên trang này thì tool này giúp điều hướng các kết nối trên Linux Gateway sang https proxy, mà cái này thì em đã làm được bằng Iptables rồi ạ. Em đang vướng mắc việc thực thi các request của user sử dụng port 443 trên proxy ạ

tuanksor wrote:

lion1102 wrote:

Code:
acl localnet src 192.168.3.0/29
acl Safe_ports port 80
acl Safe_ports port 443
http_access deny !Safe_ports
acl Working_mor time MTWHFA 08:00-12:00
acl Working_aft time MTWHFA 13:00-18:30
acl BlockSites url_regex "/etc/squid/deny_site.acl"
acl BlockIP dstdom_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
http_access deny localnet BlockSites
http_access deny localnet BlockIP
acl AcceptSites url_regex "/etc/squid/deny_tempo_site.acl"
http_access deny localnet Working_mor AcceptSites
http_access deny localnet Working_aft AcceptSites
http_access allow localnet
http_access allow localhost
http_access deny all
[color=red]http_port 8181 transparent ssl-bump cert=/etc/squid/key/cert.pem key=/etc/squid/key/cert.pem[/color]
always_direct allow all
ssl_bump allow all



http thì cần gì certificate, chỗ ở trên bạn bỏ cái cert đi.
Bạn muốn cache https thì thêm vào https_port [port number] transparent [path/to/cert] 


Em đã sửa thành https_port theo như bác hướng dẫn nhưng thử vào link mail Google Apps của bên công ty thì nó hiện ra warning certificate, accept certificate thì cứ load mãi không vào được bác ạ. Em có thử cả trang mail.yahoo.com cũng không được ạ. Em xem log access.log của squid thì hiện ra lỗi:
Code:
TCP_MISS/000 0 GET http://login.yahoo.com/favicon.ico - DIRECT/login.yahoo.com -
TCP_MISS/000 0 GET http://login.yahoo.com/config/login_verify2? - DIRECT/login.yahoo.com
TCP_MISS/504 3953 GET http://login.yahoo.com/config/login_verify2? - DIRECT/66.163.169.186 text/html


Em thử ngay trên máy cài Squid bằng lệnh Code:
squidclient -p 8181 https://www.mail.google.com
thì bị lỗi:
Code:
client: ERROR: Cannot connect to [::1]:8181: Connection refused


Rule Iptables trên máy cài Squid em đã open port 8181 rồi cũng không được.
Em đang gặp vấn đề với cấu hình Squid làm HTTPS Interception. Bác nào đã làm thì tư vấn, giúp đỡ em với ạ.

Mô hình mạng của em như sau:

Code:
LAN -------------(eth0) Linux Gateway (pppoe) --------------- Internet
(eth1)
|
|
|
|
Squid

Mục đích là: bên em đang sử dụng dịch vụ mail của Google Apps có sử dụng https và muốn chỉ cho phép client trong LAN có thể truy cập đến các trang dịch vụ mail của Google Apps mà không cho truy cập đến gmail cá nhân.

Em đã cấu hình thành công trên Linux GW để định tuyến các request trên port 80, 443 từ LAN đi qua Squid proxy rồi mới ra Internet.

Em cũng đã cấu hình Squid proxy ở chế độ transparent và đã có thể "nghe" và "trả lời" các request trên port 80 từ LAN client để cấm truy cập đến 1 số trang web như youtube ...

Vấn đề em đang gặp phải là cấu hình Squid proxy "nghe" và "trả lời" lại các request trên port 443.
Em đã cấu hình cho cả request trên port 80, 443 đến 1 port trên squid hay làm mỗi port 80 và 443 đến một port riêng biệt trên squid đều không được.

Đây là phần cấu hình Squid của em:
Code:
acl localnet src 192.168.3.0/29
acl Safe_ports port 80
acl Safe_ports port 443
http_access deny !Safe_ports
acl Working_mor time MTWHFA 08:00-12:00
acl Working_aft time MTWHFA 13:00-18:30
acl BlockSites url_regex "/etc/squid/deny_site.acl"
acl BlockIP dstdom_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
http_access deny localnet BlockSites
http_access deny localnet BlockIP
acl AcceptSites url_regex "/etc/squid/deny_tempo_site.acl"
http_access deny localnet Working_mor AcceptSites
http_access deny localnet Working_aft AcceptSites
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 8181 transparent ssl-bump cert=/etc/squid/key/cert.pem key=/etc/squid/key/cert.pem
always_direct allow all
ssl_bump allow all

Nếu để transparent thì không phải thiết lập proxy trên browser của client đến IP của proxy thì chỉ có thể can thiệp vào các request trên port 80 của client, không thể can thiệp vào các request trên port 443 được.

Nếu không để transparent thì thiết lập proxy trên browser của client thì có hiện ra bảng thông báo Certificate như truy cập lần đều các trang sử dụng https nhưng không thể truy cập vào được mail của Google Apps hoặc bất cứ 1 trang web nào sử dụng https mà mình cho phép.

Em cảm ơn ạ!
Bác có thể dùng 2 lệnh:

Code:
IF=`/sbin/route | grep -i 'default' | awk '{print $8}'`
IP=`/sbin/ifconfig $IF | grep "inet addr" | awk -F":" '{print $2}' | awk '{print $1}'`


để xác định card mạng nào đang sử dụng để ra internet & IP của card mạng đó.
Sau đấy viết rule thì thêm biến $IF & $IP.

Bác tham khảo thêm các case về Iptables của bác conmale

myquartz wrote:
Khi một người trong mạng kéo Bittorrent thì băng thông to đến mấy cũng bị nó hút sạch sẽ, không chậm mới là lạ.

QoS thì bạn đọc các hướng dẫn trong quyền Linux Advance Routing and Traffic Control, nhưng việc chống Bit cũng rất khó nếu không áp dụng kiểm soát cả ở mức application. Lý do là ở lớp 4 trở xuống, GW không thể "limit" luồng down (từ Internet về GW), chỉ có thể delay data lại không chuyển cho client và client sẽ không ack và phía nguồn sẽ giảm bớt việc đẩy dữ liệu về. Một số proxy, ví dụ squid, có delay pool và có thể giảm bớt tác hại của torrent (điều kiện là mọi thứ phải qua squid). 


Trong cuốn Designing & Implementing Linux Firewalls & QoS thì có nói việc dùng L7filter. Em cũng đã build lại kernel & iptables để tích hợp với L7filter rồi, em đang tính sử dụng QoS mục đích để giảm lưu lượng download torrent nhưng đang bị rối với các classes của Traffic Control bác ạ.
Em cũng có đọc cuốn Linux Advanced Routing and Traffic Control rồi nhưng đang không biết sử dụng các classes nào của Traffic Control cho hợp lý. Bác có thể ví dụ với từng classes của nó cho em hiểu hơn được không ạ?

Ý bác hướng tất cả các request của client trong mạng LAN trên tất cả các port đến Squid Proxy xử lý ạ? Bác có thể nói rõ hơn ý này cho em được không ạ? Em cũng mới dựng 1 máy chạy Squid Proxy để hướng các request trên port 80 đến máy đấy.

tranhuuphuoc wrote:

lion1102 wrote:
Xin chào mọi người,

Mình có mô hình mạng như sau:


LAN ------------- (eth0) Linux FW (eth1) -------------- Internet


Linux FW này mình xét pppoe lấy IP từ ISP trên interface ppp0, còn interface eth1 thì không set (mình làm theo 1 hướng dẫn ở trên mạng), còn modem ADSL thì mình để ở chế độ Bridge.

LAN có 60 máy tính kết nối ra Internet, có lúc đồng thời cả 60 máy kết nối, có lúc không. Mình đã set rules chặn các port chỉ mở port 80, 443, 5050, 25, 110, 995, 465 ra ngoài Internet. Mọi người truy cập ra vẫn bình thường, thỉnh thoảng có hơi chậm 1 chút và download cực chậm, có lúc voice call qua skype lại bị disconnect, phải connect lại. Chỉ khoảng 20KB/s.
Các dịch vụ mà mình sử dụng: duyệt web, sử dụng Google Apps, Skype, Mail offline.
Mạng mình dùng ADSL gói cao nhất của VNPT là 10Mbps.

Nhờ mọi người giải đáp vài thắc mắc của mình

- Việc mình set như vậy có đúng không? Nếu đúng sao thỉnh thoảng lại vào chậm, và skype thỉnh thoảng bị disconnect?
- Liệu vấn đề này có liên quan gì tới MTU & QoS không? Vì MTU thì trên interface eth0 mình vẫn để mặc định là 1500, trên interface ppp0 thì set tự động là 1492 & QoS mình cũng chưa set (mình biết là nên set QoS nhưng mình đọc tài liệu ở trên trang http://lartc.org/ mà chưa hiểu smilie )
- 1 câu hỏi nữa liên quan đến QoS: mọi người có thể phân tích sự khác nhau của các classes trong iproute2 và các trường hợp khi nào dùng classes nào thì phù hợp được không?

Hơi ngoài lề ở đây 1 chút: thấy bác conmale nói rằng không nên dùng linux làm firewall NAT 2 lần nếu modem đã NAT rồi. Lý do vì sao mà lại không nên NAT 2 lần?

Xin cám ơn vì đã đọc bài và cho mình ý kiến 


Giá trị MTU và QoS đứng dưới góc độ end-user thì không cần quan tâm vì phần này là do ISP cung cấp, thiết lập. Tinh chỉnh, điều chỉnh chúng phụ thuộc vào cổng uplink kết nối đến ISP, xem lại thuật ngữ "thắt nút cổ chai" .
Không nên NAT 2 lần vì như thế giảm thiểu rất rõ rệt tốc độ của đường truyền.  


Em muốn set QoS trong mạng nội bộ để han chế mọi người trong mạng LAN download bittorrent ... bác ạ
Xin chào mọi người,

Mình có mô hình mạng như sau:


LAN ------------- (eth0) Linux FW (eth1) -------------- Internet


Linux FW này mình xét pppoe lấy IP từ ISP trên interface ppp0, còn interface eth1 thì không set (mình làm theo 1 hướng dẫn ở trên mạng), còn modem ADSL thì mình để ở chế độ Bridge.

LAN có 60 máy tính kết nối ra Internet, có lúc đồng thời cả 60 máy kết nối, có lúc không. Mình đã set rules chặn các port chỉ mở port 80, 443, 5050, 25, 110, 995, 465 ra ngoài Internet. Mọi người truy cập ra vẫn bình thường, thỉnh thoảng có hơi chậm 1 chút và download cực chậm, có lúc voice call qua skype lại bị disconnect, phải connect lại. Chỉ khoảng 20KB/s.
Các dịch vụ mà mình sử dụng: duyệt web, sử dụng Google Apps, Skype, Mail offline.
Mạng mình dùng ADSL gói cao nhất của VNPT là 10Mbps.

Nhờ mọi người giải đáp vài thắc mắc của mình

- Việc mình set như vậy có đúng không? Nếu đúng sao thỉnh thoảng lại vào chậm, và skype thỉnh thoảng bị disconnect?
- Liệu vấn đề này có liên quan gì tới MTU & QoS không? Vì MTU thì trên interface eth0 mình vẫn để mặc định là 1500, trên interface ppp0 thì set tự động là 1492 & QoS mình cũng chưa set (mình biết là nên set QoS nhưng mình đọc tài liệu ở trên trang http://lartc.org/ mà chưa hiểu smilie )
- 1 câu hỏi nữa liên quan đến QoS: mọi người có thể phân tích sự khác nhau của các classes trong iproute2 và các trường hợp khi nào dùng classes nào thì phù hợp được không?

Hơi ngoài lề ở đây 1 chút: thấy bác conmale nói rằng không nên dùng linux làm firewall NAT 2 lần nếu modem đã NAT rồi. Lý do vì sao mà lại không nên NAT 2 lần?

Xin cám ơn vì đã đọc bài và cho mình ý kiến
 

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|