Tạo router PC với PFSENSE


Spread the love

PFSENSE 

– Ở phần này của chủ đề Pfsense tôi sẽ đánh giá, nhận xét theo cách khách quan nhất về tình trạng sử dụng của Pfsense và những cấu hình đang triển khai trong doanh nghiệp của tôi.

Mô hình hiện tại với khoảng gần 100 User
Những cấu hình đang được triển khai:
1/ NAT outside cho mail server ra ngoài Internet để User có thể nhận và gửi mail khi ở nhà
2/ FailOver trên 2 WAN để đảm User luôn kết nối được với Internet
3/ Cấu hình VPN cho phép User có thể truy xuất vào ERP server khi ở nhả
4/ Proxy server + SquidGuard : cấm một số User đi Internet nhưng chỉ cho họ đi được một trang duy nhất là abc.com còn tất cả những user khác thì truy xuất bình thường và cấm download những file nhạc, phim, .exe
5/ Tất cả các ứng dụng kết nối Internet đều phải được kiểm soát (tối ưu hệ thống)
6/ Thống kê được traffic sử dụng của các User

Ở cấu hình 1, 2 ,3 rất đơn giản tôi đã giới thiệu trong Phần 3.

Cấu hình 4: Để làm được điều này bạn hãy gán tĩnh IP cho những User mà bạn muốn cấm truy xuất đi Internet tại DHCP server và sau đó dùng SquidGuard tạo ra các Target Categories sau đó tạo ra các Group ACL và chỉ việc Allow hoặc Deny các Target Categories đó trên môt Group ACL là đã giải quyết xong vấn đề.

Cấu hình 5: Ở đây tôi tạo Aliases chỉ cho phép một số port có thể kết nối được đến Internet như: HTTP (80), Teamviewer (5938), VPN (500,4500,1723), Secure POP3 và SMTP (995, 465), Yahoo (5050, 5150), Skype (33033)và thêm vào khi tạo Rule

– Không cho phép port 443 bởi vì khi cho phép port 443 User sẽ dùng Ultrasurf để vượt qua Pfsense như vậy thì ở cấu hình 4 sẽ không thành công.
– Đối với các ứng dụng hoặc các website có sử dụng port 443 thì tôi phải tao thêm một Rule khác để cho phép chúng kết nối tới duy nhất các server đó.

– Và khi cấu hình thế này tôi đã kiểm soát được User sử dụng các ứng dụng khác kết nối ra ngoài Internet như các game online…..Tuy hơi cực trong việc add thêm vào một số IP server của các website hay ứng dụng sử dụng HTTPS (cần thiết cho công việc) nhưng với cách này có thể cấm được Ultrasurf và phần lớn các ứng dụng vượt tường lửa khác.

Cấu hình 6: Cài đặt thêm gói ntop để xem được các thống kê.

Nhận xét:
– Được cài đặt trên một máy tính cũ CPU AMD 2,7GHz, Ram 2GB, HDD 160GB (7200rpm) nhưng Pfsense vẫn chạy rất ổn định, chưa thấy xảy ra tình trạng treo hoặc lỗi. Apply các cấu hình mới rất nhanh.
– Giao diện trực quan và rất dễ cấu hình
– Dễ dàng cài thêm vào các Packages

– Tuy nhiên khi triển khai thêm Proxy thì truy xuất website mới đầu rất nhanh vì đã được cache lại vào HDD. Nhưng sau khoảng một thời gian thì thấy chậm đi. Có lẽ với khoảng gần 100 user truy xuất tới thì một HDD bình thường đã không đáp ứng nổi.

Qua bài viết này hy vọng cũng giúp mọi người hiểu 1 phần nào các chức năng của Pfsense cũng như việc chọn nó làm tường lửa trong hệ thống của mình.

Trước tiên vào http://mirror.qubenet.net/mirror/pfsense/downloads/ để tải Pfsense về.


– Nhấn 1. Boot Pfsense [default]

– Nhấn I để bắt đầu quá trình cài đặt


 – Chọn Accept these Setting

– Install Pfsense

– Nhấn enter vài lần và khi thấy giao diện như trên thì chọn Use this Geometry

– Accept and Create

– Accept and install Boot blocks

– Accept and Create và quá trình cài đặt diễn ra

– Sau khi hoàn tất chọn Reboot để khởi động lại.


– Ở đây tôi có 3 card mạng là le0, le1 và le2. Tôi sẽ chọn le0 là Interface LAN và le1, le2 là Interface WAN
– Nhấn N để bỏ qua quá trình cài đặt VLANs


– Trước tiên ta sẽ chon một Interface Wan là le1

– Tiếp đến là Interface LAN le0

– Interface Optional 1 là le2
– Sau đó nhấn Enter để đi đến Proceed

– Nhấn Y và enter để Proceed bắt đầu

– Sau đó chọn 2 để đặt IP cho các Interface

– Ở đây tôi sẽ chọn 2 để đặt IP và Subnet cho Interface LAN

– Nhấn N để bỏ qua quá trình cài đặt DHCP server. Sau này có thể cấu hình được trên giao diện Web GUI


– Nhấn Y để enable giao diện Web trên Interface LAN

– Từ đây chúng ta đã có thể truy cập vào Pfsense với giao diện bằng địa chỉ http://10.10.10.1

2- Load Balancing

Load Balacing phải có tối thiểu 2 WAN. Đầu tiên chúng ta phải tạo ra một Group gồm các WAN mà chúng ta muốn Load Balancing trên đó. 

– Chọn System -> Routing

– Chọn tab Group và nhấn vào biểu tượng dấu + để Create a new group



– Đặt tên Group Name và tại Gateway Priority chọn các WAN. Nếu chọn Never tức là không tham gia vào LoadBalancing– Tier ở đây là mức độ ưu tiên nếu tất cả các đường có Tier bằng nhau thì sẽ thực hiện việc Load Balancing trên các đường này. Và các đường có Tier cao hơn  sẽ FailOver khi một đường có Tier thấp hơn bị down.– Giả sử khi ta Load Balancing 2 đường có cùng Tier nhưng một đường là 50 Mbps và một đường là 10Mbps thì lúc này ta sẽ đặt số Weight cho 2 đường này để traffic sẽ đi trên đường 50Mbps nhiều hơn. Đường 50Mbps sẽ có Weight là 5 và đường 10Mbps sẽ có Weight là 1 (5:1).

– Chọn tab Gateways và chọn edit gateway  WAN1

–  Chọn số Weight là 5 cho WAN 1. Sau đó chọn Save.

–  Tương tự cho WAN 2.

Để sử dụng đường LoadBalacing này chúng ta phải tạo một rule và cho những traffic đi qua đó.

– Firewall -> Rule -> Create Rule và tại phần Advance Feature chọn đường MultiWan tại ô Gateway để LoadBalacing

1/ NAT (Network Address Translation)

 NAT trên Pfsense để cho các user đi được Internet đã được tạo ra một cách tự động. Công việc NAT này là để cho ta NAT một server ra ngoài internet hay còn gọi là NAT outside.

– Firewall -> NAT

– Tại tab Port Forward nhấn + để Create a new NAT based

– Chọn tương tự như hình trên

2/ RULES
Tạo Rules để cho phép ta quản lý traffic đi qua cổng LAN hoặc WAN của PFSENSE. Ta có thể Block, Pass hoặc Reject một traffic khi nó đi qua interface được áp dụng Rules.


– Firewall -> Rules -> Nhấn vào + để Create a new rules

– Do Port Source được chọn ngẫu nhiên từ 1024 nên ta sẽ để any bằng cách giữ nguyên mặc định.

– Rules này sẽ cho phép tất cả các IP trong mạng LAN truy cập Inernet duy nhất qua port 80 bằng TCP

– Ta cũng có thể tạo nhiều Rules khác nhau để áp dụng lên môt cổng

– Phần Advance phía dưới cho phép ta chọn một số các tùy chọn khác như: Gateway, Schedule ….

3/ ALIASES
Aliases là một cách để ta có thể Group nhiều Port hoặc nhiều Network lại với nhau. Lợi ích của Aliases giúp ta có thể làm cho bảng Rule trở nên gọn hơn nhờ việc tạo ít Rule hơn.

Tại Menu Firewall chọn Aliases và chọn Add a new Alias

– Nhập tên cho Alias và chọn Type

–  Ví dụ ta chỉ cho phép User  vào Google nhưng Google có quá nhiều IP thì chúng ta phải tạo rất nhiều Rule mới đáp ứng đủ. Thay vì thế ta tạo một Alias và thêm tất cả Network của Google vào, sau đó khi tạo Rule tại phần Destination ta chỉ cần nhập tên của Alias vào mà không cần phải tạo nhiều Rule cho nhiều địa chỉ.

– Một Proxy server thường làm chức năng tạm giữ những yêu cầu Internet của các client để chúng không giao tiếp trực tiếp Internet và giúp cho các đợt yêu cầu sau của client được truy vấn nhanh hơn. Proxy cũng giúp quản lý các truy cập Internet bằng cách không cho client truy cập vào những trang website bị cấm. 
– Pfsense cho phép ta cài thêm vào những tính năng mà mặc định Pfsense chưa có. Vì thế để thực hiện việc này ta cũng phải cài thêm vào 3 tính năng gồm:Squid: chức năng  làm Proxy ServerSquidGuard: cho phép ta cấu hình để lọc các đối tượng  hay nói cách khác là tạo các Access List cho Proxy để cấm user  truy cập vào website.LightSquid: để tạo các Report.1/ Squid

–   System -> Packages

– Tại tab Available Packages lần lượt cài đặt Squid + SquidGuard + LightSquid


– Sau đó tại tab Installed Packages sẽ có thông tin về 3 gói vừa được cài đặt.


– Services -> Proxy Server để cấu hình proxy

– Chọn Interface  mà sẽ sử dụng Proxy.

– Check vào Allow users on Interface và Transperent Proxy

– Những phần còn lại giữ nguyên như mặc định


– Tại tab Cache Mgmt tùy chỉnh theo như hình trên.

– Tab Access Control trong trường allow subnets nhập vào subnet được phép sử dụng proxy.

– Để kiểm tra xem Transparent Proxy có hoạt động chưa bằng cách vào Control Panel à Internet Options và nhập IP Proxy Server , Port:3128. Nếu truy cập web bình thường thì Proxy Server đã hoạt động.

– Sau khi kiểm tra xong thì bỏ Check vì transparent hoạt động không cần phải cấu hình trên phía client.

2/ SquidGuard


– Tiếp đến để cấu hình SquidGuard chọn Proxy Filter trên thanh Services

– Check vào như hình 2 hình trên để enable SquidGuard

– Blacklists URL chúng sử dụng bộ blacklists có sẵn trên mạng để áp dụng lọc các thể loại website.

– Sau đó nhấn Save


– Tại tab Blacklist chúng ta nhấn vào Download và chờ cho tới khi download được hoàn tất

– Tại tab common ACL: nhấn vào dấu mũi tên màu xanh để show toàn bộ blacklist. Ví dụ chúng ta cấm tất cả các website dạng tin tức thì tại dòng [blk_BL_news] ta chọn deny để cấm.

– Nếu user truy cập vào các trang bị cấm, ta sẽ cho client redirect tới một trang khác hoặc hiển bị dòng thông báo lỗi thì chọn tại trường Redirect mode

– Common ACL này áp dụng cho tất cả các User sử dụng Proxy Server


– Tương tự như Common ACL thì Group ACL cũng có cấu hình tương tự nhưng được áp dụng cho một nhóm các User được chỉ định sẵn.

– Tại trường Client nhập vào dãy IP mà sẽ chịu tác động của Group ACL này.

– Times để xác định khoảng thời gian áp dụng các Target Rules. Nếu muốn sử dụng trường này thì ta phải set thời gian tại tab Times trước


 Target Rule List có 2 cột một áp dụng trong thời gian Times được và một áp dụng khi hết thời gian Times

 Target categories sử dụng để thêm vào các điều kiện lọc.


– Ví dụ nhập vào như  hình trên để lọc tất cả các đối tượng có phần đuôi mở rộng như thế

– Sau đó Save và quay lại Common ACL hoặc Group ACL để tùy chọn cấm hay cho phép các User download các loại file này về.


– Tùy chọn thời gian để set cho Group ACL

3/ LightSquid
–  Chọn Proxy Report từ menu Status
 – Sau đó vào tab Lightsquid Report để xem Report của Proxy về các cache đã được lưu.
– Hình minh họa của Proxy Report được thống kê theo từng ngày

posted Sep 17, 2013, 6:11 AM by Trung Duc   [ updated Sep 18, 2013, 3:47 AM ]

VPN là gì?
VPN là một kiểu kết nối cho phép các máy tính truyền thông với nhau thông qua một môi trường chia sẻ như mạng Internet nhưng vẫn đảm bảo được tính riêng tư và bảo mật dữ liệu. Để cung cấp kết nối giữa các máy tính, các gói thông tin được bao bọc bằng một header có chứa những thông tin định tuyến, cho phép dữ liệu có thể gửi từ máy truyền qua môi trường mạng chia sẻ và đến được máy nhận, như truyền trên các đường ống riêng được gọi là tunnel. Để bảo đảm tính riêng tư và bảo mật trên môi trường chia sẻ này, các gói tin được mã hoá và chỉ có thể giải mã với những khóa thích hợp, ngăn ngừa trường hợp “trộm” gói tin trên đường truyền.

Các kiểu kết nối VPN

Có 2 kiểu kết nối VPN thường gặp đó là: Client to Site và Site to Site

    a/ Client to Site
Đáp ứng nhu cầu truy cập dữ liệu và ứng dụng cho người dùng ở xa, bên ngoài công ty thông qua Internet. Ví dụ khi người dùng muốn truy cập vào cơ sở dữ liệu hay các file server, gửi nhận email từ các mail server nội bộ của công ty.

    b/ Site to site
Áp dụng cho các tổ chức có nhiều văn phòng chi nhánh, giữa các văn phòng cần trao đổi dữ liệu với nhau. Ví dụ một công ty đa quốc gia có nhu cầu chia sẻ thông tin giữa các chi nhánh đặt tại Singapore và Việt Nam, có thể xây dựng một hệ thống VPN Site-to-Site kết nối hai site Việt Nam và Singapore tạo một đường truyền riêng trên mạng Internet phục vụ quá trình truyền thông an toàn, hiệu quả.

Mô hình kết nối VPN client to site và site to site
Mô hình kết nối VPN client to site và site to site

Do không có điều kiện thực tế nên ở bài viết này tôi chỉ giới thiệu về kiểu kết nối client to site trên Pfsense bằng nhiều giao thức khác nhau.

1/ Open VPN

– Trước tiên ta tạo một Certificate bằng cách vào Cert Manager

 Tạo mới một CA

– Điền vào các thông tin cho CA

– Sau đó vào User Manager trong menu System và tạo một user– Tại trường Certificate authority chọn CA vừa mới tạo ra trước đó– Cài thêm vào gói OpenVPN Client Export Utility

– Chọn OpenVPN tại menu VPN– Sau đó chọn tab Wizards và làm trình tự theo các bước

– Chọn Next 

– Chọn CA đã tạo ra

– Chọn Certificate của User

–   Điền vào địa chỉ IP của Local network và IP Tunnel network dùng để cấp cho client khi kết nối VPN
–   Chọn Next để tiếp tục 

– Sau khi hoàn tất, nhấn vào để download OpenVPN về cài đặt cho Client trên Windows
– Sau khi cài đặt hoàn tất, mở OpenVPN lên sẽ có giao diện như trên. Nhập Username và password đã tạo ở trên để connect tới Server

– Sau đó kiểm tra lại bằng lệnh ipconfig, nếu thấy địa chỉ IP được cấp từ Server thì Connect thành công.

2/ PPTP VPN
Cũng là một giao thức dùng để cho phép client kết nối VPN tới local network.

Ưu điểm rất dễ cấu hình, kết nối nhanh nhưng lại không có tính bảo mật.


–  Từ menu VPN chọn PPTP

–  Nhập địa chỉ IP server. Lưu ý rằng IP này khác với dãy IP dành cho client bên dưới.–  Nhập địa chỉ IP đầu tiên sẽ được cấp cho client–  Nhập DNS Server và Save

– Sau đó qua tab Users tạo một user.

– Nhập username và password. Nếu muốn gán tĩnh IP cho client thì điền IP vào trường IP. Nếu muốn cấp động thì có thể bỏ trống– Quá trình cấu hình PPTP VPN đã hoàn tất.– Lưu ý: Mở port UDP 1723 tại Interface Wan để client có thể kết nối được.

–  Sau khi đã cấu hình xong trên Server tại client ta sẽ tạo một kết nối VPN bằng cách vào Control Panel à Network and sharing Center  à Setup a new connection or network

–  Chọn Connect to a workplace  và nhấn Next

– Use my Internet connection(VPN) và Next
\
– Tại trường Internet address điền IP WAN của Server. IP này được cấp bởi ISP (không phải IP Server khi cấu hình VPN PPTP)

– Nhập Username và password đã cấu hình trên Server và nhấn connect.– Sau đó kiểm tra lại bằng lệnh Ipconfig và thấy client đã nhận được IP là 192.168.3.2

3/ L2TP VPN
Bởi vì bảo mật hơn VPN PPTP nên VPN L2TP cấu hình tương đối phức tạp hơn một chút.

– Nhập vào chuỗi Secret trên Server.– Tất cả những phần còn lại tương tự như khi cấu hình PPTP– Cấu hình một username và password tại tab User

–  Sau đó trên Client cũng tạo một kết nối giống như PPTP nhưng sau đó vào Properties. Tại tab Security chọn kiểu VPN là L2TP/IPsec.–  Sau đó chọn Advance Setting

– Nhập vào ô Key chuỗi Secret khi nãy đã cấu hình trên Server.  Hai chuỗi này phải giống nhau thì kết nối VPN mới được thành lập.
– Do PFsense không hỗ trợ L2TP kết hợp với Ipsec nên chúng ta phải disable IPsec bằng cách vào Regedit trên Windows client và đi tới đường dẫn HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters– Sau đó tạo ra một key với Value name: ProhibitIpsec; Type: DWORD; Value: 1– Khởi động lại Windows để Regedit được Apply– Connect tới Server bằng VPN và nhập username, password

4/ IPSEC VPN

Đối với IPSEC VPN chúng ta có thể cấu hình Client to Site hoặc Site to Site
Như đã nói ở trên trong bài viết này chỉ giới thiệu về client to site


– Enable IPsec trên PFsense


– Tại tab Mobile clientsEnable IPSec Mobile Client Support

– Nhập dãy IP cấp cho Client, DNS server và Login Banner hiển thị lời chào khi Connect thành công

– Save


 Apply Changes và sau đó chọn Create a Phase 1


– Chọn Interface cho kết nối VPN, kiểu chứng thực là Mutual PSK và các thuật toán mã hóa


– Tại tab Pre-shared keys tạo một Identifier


  – Có thể nhập IP, mail… và nó phải được giống nhau trên cả client và server

 – Sau đó tải VPN Access Manager tại địa chỉ http://www.shrew.net/download/vpn và Add vào một Connection– Tại Authentication chọn Mutual PSK và nhập Pre-Share Key ở tab Credentials

   – Local Identity nhập vào Identifier đã cấu hình trên Server


– Cipher Algorithm và Hash Algorithm phải cùng loại khi cấu hình Server


– Sau khi đã tạo xong một kết nối, nhấn vào Connect  để kết nối.

– Banner hiện ra khi đã kết nối thành công

Leave a comment

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *