Thứ hai, 31/08/2015 | 00:00 GMT+7

3 cách duyệt Internet an toàn với OpenVPN trên Debian 8

Các lý do để duyệt Internet với nhiều quyền riêng tư hơn cũng khác nhau tùy theo cách để đạt được điều đó.

Trong hướng dẫn này, ta sẽ giải thích chi tiết cách cài đặt mạng riêng ảo (VPN) trên server để nó đảm bảo ba thành phần quan trọng trong trải nghiệm duyệt Internet của bạn:

  • Tư nhân hóa lưu lượng truy cập web của bạn bằng cách đảm bảo lưu lượng truy cập không được mã hóa, ngăn chặn cookie và các trình theo dõi khác, đồng thời che địa chỉ IP của máy tính local của bạn
  • Ngăn ISP local của bạn ghi lại các truy vấn DNS bằng cách gửi chúng từ VPN thẳng đến server DNS của Google
  • Quét và ngăn chặn truy cập vào vi rút và các ứng dụng độc hại

Bằng cách chạy server VPN của bạn thay vì sử dụng server thương mại, bạn cũng có thể tránh ghi log lịch sử duyệt web của bạn (trừ khi bạn chọn làm như vậy). Cuối cùng, bạn phải chọn vị trí thực của nó, vì vậy bạn có thể giảm thiểu độ trễ. Tuy nhiên, sử dụng VPN thường chậm hơn so với sử dụng kết nối Internet trực tiếp.

Ta sẽ thực hiện việc này bằng cách cài đặt và cấu hình các ứng dụng sau trên server Debian 8 của bạn:

  • ClamAV là một công cụ chống vi-rút open-souce để phát hiện trojan, vi-rút, phần mềm độc hại, các mối đe dọa độc hại khác

  • Dnsmasq là một gói phần mềm cung cấp dịch vụ DNS (và một vài dịch vụ khác). Ta sẽ chỉ sử dụng nó làm bộ nhớ cache DNS

  • HAVP HTTP AntiVirus proxy là proxy có bộ lọc chống vi rút. Nó không lưu trữ hoặc lọc nội dung. Nó quét tất cả lưu lượng bằng các công cụ chống vi-rút của bên thứ ba. Trong hướng dẫn này, ta sẽ sử dụng HAVP làm Proxy minh bạch và chuỗi HAVPPrivoxy cùng nhau

  • OpenVPN Community Edition là một server VPN phổ biến. Nó cung cấp một kết nối an toàn đến server tin cậy của bạn và cũng có thể đẩy cài đặt Server DNS cho các client của nó. Trong hướng dẫn này, thuật ngữ OpenVPN sẽ được sử dụng làm dạng rút gọn của tên server VPN

  • Privoxy , từ trang web chính thức, là một proxy web không lưu vào bộ nhớ đệm với khả năng lọc nâng cao để tăng cường quyền riêng tư, sửa đổi dữ liệu trang web và tiêu đề HTTP, kiểm soát quyền truy cập và loại bỏ quảng cáo và các rác Internet đáng ghét khác

Sau khi hoàn thành hướng dẫn này, bạn sẽ có một cổng bảo mật:

  • Đảm bảo kết nối của bạn khi sử dụng các điểm WiFi công cộng
  • Chặn quảng cáo và các tính năng theo dõi từ các trang web
  • Tăng tốc thời gian tải trang web bằng cách lưu vào bộ nhớ đệm các phản hồi DNS phía server
  • Quét các trang bạn truy cập và các file bạn download để tìm vi-rút đã biết

Làm thế nào nó hoạt động

Sơ đồ sau đây hiển thị đường dẫn mà một yêu cầu web theo sau thông qua VPN mà ta sẽ cài đặt trong hướng dẫn này.

Các làn đường có nền màu xanh lá cây là thành phần của server VPN. Các hộp màu xanh lá cây đại diện cho các bước yêu cầu, và các hộp màu xanh và đỏ thể hiện các bước phản hồi.

Biểu đồ stream  yêu cầu web thông qua  server  VPN

Lưu lượng giữa máy tính của bạn và server bảo mật sẽ đi qua một tunnel VPN. Khi bạn mở một trang web trong trình duyệt của bạn , yêu cầu của bạn sẽ được chuyển đến server VPN. Trên server VPN, yêu cầu của bạn sẽ được chuyển hướng đến HAVP và sau đó là Privoxy.

Privoxy sẽ khớp URL với database mẫu của nó. Nếu URL khớp, nó sẽ chặn URL và trả về một phản hồi hợp lệ nhưng trống.

Nếu URL không bị chặn, Privoxy hoạt động như một server proxy không bộ nhớ đệm để truy vấn DNS và truy xuất nội dung của URL. Các truy vấn DNS được xử lý và lưu vào bộ nhớ đệm bởi Dnsmasq.

HAVP nhận nội dung từ Privoxy và thực hiện quét vi rút thông qua ClamAV. Nếu tìm thấy bất kỳ vi rút nào, nó sẽ trả về một trang lỗi.

Yêu cầu

Hãy đảm bảo bạn hoàn thành các yêu cầu sau:

yêu cầu hệ thống

Server mà ta sẽ cấu hình sẽ dễ dàng về CPU, RAM và không gian đĩa. Chọn Server có ít nhất 1GB RAM và cung cấp đủ băng thông để đáp ứng nhu cầu duyệt web của bạn.

Hệ điều hành được lựa chọn cho hướng dẫn này là Debian 8. Nó cũng sẽ hoạt động ít nhiều theo cách tương tự đối với các bản phân phối Linux dựa trên Debian khác như Ubuntu.

Giấy phép

Tất cả phần mềm được sử dụng trong hướng dẫn này đều có sẵn từ kho Debian và tuân theo chính sách Debian .

Bảo vệ

Server này sẽ chặn tất cả các yêu cầu HTTP của bạn. Một người nào đó mất kiểm soát của server này có thể hoạt động như một man-in-the-middle và giám sát tất cả truy cập HTTP của bạn, yêu cầu DNS chuyển hướng, vv Bạn làm cần thiết để bảo đảm server của bạn. Vui lòng tham khảo các hướng dẫn được đề cập ở phần đầu của phần này để cài đặt quyền truy cập sudo và firewall làm mức bảo vệ ban đầu.

Bước 1 - Cài đặt OpenVPN và các yêu cầu khác

Nếu bạn chưa cài đặt OpenVPN, hãy làm như vậy ngay bây giờ.

Bạn có thể làm theo hướng dẫn Cách cài đặt server OpenVPN trên Debian 8 .

Trong các bước sau, ta sẽ cài đặt một vài gói. Để đảm bảo các index gói của bạn được cập nhật, hãy thực hiện lệnh sau.

  • sudo apt-get update

Nếu bạn chưa bật ssh trong cài đặt firewall UFW của bạn , hãy chờ thực hiện bằng các lệnh sau.

  • sudo ufw allow ssh
  • sudo ufw enable

Bước 2 - Cài đặt Dnsmasq

Trong bước này, ta sẽ cài đặt và cấu hình Dnsmasq. Server proxy bảo mật của ta sẽ sử dụng Dnsmasq để tăng tốc và bảo mật các truy vấn DNS của nó.

Mỗi khi bạn kết nối với một trang web, máy tính của bạn sẽ cố gắng phân giải địa chỉ Internet của server đó bằng cách yêu cầu server DNS (Hệ thống domain ). Máy tính của bạn sử dụng server DNS của ISP theo mặc định.

Sử dụng server DNS của bạn có những ưu điểm sau:

  • ISP của bạn sẽ không có bất kỳ kiến thức nào về tên server mà bạn kết nối
  • ISP của bạn không thể chuyển hướng yêu cầu của bạn đến các server khác, đây là một trong những phương pháp kiểm duyệt chính
  • Tốc độ tra cứu DNS của bạn sẽ được cải thiện

Server DNS bạn chọn sẽ biết về tất cả các yêu cầu DNS mà bạn thực hiện với chúng và có thể sử dụng thông tin này để lập profile thói quen duyệt web của bạn, chuyển hướng tìm kiếm của bạn đến các công cụ của chúng hoặc ngăn bạn truy cập vào các trang web chưa được phê duyệt. Chọn server DNS của bạn một cách khôn ngoan. Server OpenDNS và Google DNS thường được coi là an toàn.

Trên hệ thống Debian, cấu hình server định danh được lưu trong file có tên /etc/resolv.conf .

Kiểm tra cấu hình server định danh hiện tại của bạn bằng lệnh sau.

  • cat /etc/resolv.conf

Đầu ra:

/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 8.8.8.8 nameserver 8.8.4.4 

Như bạn thấy , server định danh mặc định trên hệ thống này được đặt thành server DNS của Google.

Bây giờ cài đặt dnsmasq bằng lệnh sau:

  • sudo apt-get install dnsmasq

Sau khi gói được cài đặt, hãy kiểm tra lại cấu hình của bạn:

  • cat /etc/resolv.conf

Đầu ra:

/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 127.0.0.1 

Server định danh mặc định được đặt thành 127.0.0.1 , là giao diện local mà Dnsmasq chạy trên đó.

Bạn có thể kiểm tra cài đặt bằng lệnh sau. Ghi lại thời gian truy vấn trong kết quả .

  • dig digitalocean.com @localhost

Đầu ra:

Output
. . . ;; Query time: 20 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) . . .

Bây giờ hãy chạy lại lệnh tương tự và kiểm tra thời gian truy vấn:

  • dig digitalocean.com @localhost

Đầu ra:

Output
. . . ;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) . . .

Truy vấn thứ hai của ta được trả lời bởi dnsmasq từ bộ nhớ cache. Thời gian phản hồi đã giảm từ 20 mili giây xuống 1 mili giây. Tùy thuộc vào tải của hệ thống , kết quả được lưu trong bộ nhớ cache thường được trả về dưới 1 phần nghìn giây.

Bước 3 - Cài đặt ClamAV

Hãy cài đặt trình quét chống vi-rút của ta để VPN của ta sẽ bảo vệ ta khỏi các bản download độc hại đã biết.

Cài đặt ClamAV

ClamAV là một trình quét virus open-souce được sử dụng rộng rãi.

Cài đặt ClamAV và máy quét của nó ngừng hoạt động:

  • sudo apt-get install clamav clamav-daemon

Cập nhật database vi rút

ClamAV sẽ cập nhật database của bạn ngay sau khi cài đặt và kiểm tra các bản cập nhật hàng giờ.

ClamAV ghi trạng thái cập nhật database của nó vào /var/log/clamav/freshclam.log . Bạn có thể kiểm tra file này để xem các bản cập nhật tự động của nó đang xử lý như thế nào.

Bây giờ ta sẽ đợi cho đến khi cập nhật tự động hoàn tất; nếu không, proxy quét (HAVP) của ta sẽ khiếu nại và không khởi động.

  • sudo tail -f /var/log/clamav/freshclam.log

Trong quá trình cập nhật, trạng thái hiện tại sẽ được ghi vào màn hình.

Output
Fri Jun 19 12:56:03 2015 -> ClamAV update process started at Fri Jun 19 12:56:03 2015 Fri Jun 19 12:56:12 2015 -> Downloading main.cvd [100%] Fri Jun 19 12:56:21 2015 -> main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo) Fri Jun 19 12:56:28 2015 -> Downloading daily.cvd [100%] Fri Jun 19 12:56:34 2015 -> daily.cvd updated (version: 20585, sigs: 1430267, f-level: 63, builder: neo) Fri Jun 19 12:56:35 2015 -> Downloading bytecode.cvd [100%] Fri Jun 19 12:56:35 2015 -> bytecode.cvd updated (version: 260, sigs: 47, f-level: 63, builder: shurley) Fri Jun 19 12:56:41 2015 -> Database updated (3854539 signatures) from db.local.clamav.net (IP: 200.236.31.1) Fri Jun 19 12:56:55 2015 -> Clamd successfully notified about the update. Fri Jun 19 12:56:55 2015 -> --------------------------------------

Chờ cho đến khi bạn thấy dòng chữ được đánh dấu màu đỏ, Clamd successfully notified about the update. .

Nhấn CTRL+C trên bàn phím của bạn để thoát khỏi đuôi. Thao tác này sẽ đưa bạn trở lại dấu nhắc lệnh.

Bạn có thể tiếp tục với phần Định cấu hình ClamAV nếu mọi thứ diễn ra bình thường.

(Tùy chọn) Khắc phục sự cố

Nếu quá trình cập nhật virus mất quá nhiều thời gian, bạn có thể gọi nó theo cách thủ công. Điều này sẽ không cần thiết trong các trường hợp bình thường.

Dừng dịch vụ tự động cập nhật.

  • sudo service clamav-freshclam stop

Gọi trình cập nhật theo cách thủ công và đợi hoàn thành. Tiến trình download sẽ được hiển thị theo phần trăm.

  • sudo freshclam

Bắt đầu dịch vụ tự động cập nhật:

  • sudo service clamav-freshclam start

Cấu hình ClamAV

Bây giờ ta sẽ cho phép các group khác truy cập ClamAV. Điều này là cần thiết vì ta sẽ cấu hình proxy quét vi-rút (HAVP) để sử dụng ClamAV trong các bước sau.

Chỉnh sửa file cấu hình ClamAV clamd.conf bằng editor yêu thích của bạn.

  • sudo vi /etc/clamav/clamd.conf

Đặt tham số sau thành true .

/etc/clamav/clamd.conf
AllowSupplementaryGroups true 

Lưu cấu hình và thoát.

Khởi động lại clamav-daemon

  • sudo service clamav-daemon restart

Bước 4 - Cài đặt HAVP

HAVP là một server proxy quét vi rút. Nó quét mọi mục trên các trang bạn truy cập và chặn nội dung độc hại. HAVP không chứa công cụ quét virus nhưng có thể sử dụng khá nhiều công cụ của bên thứ ba. Trong hướng dẫn này, ta sẽ cấu hình nó bằng ClamAV.

Cài đặt HAVP từ kho Debian.

  • sudo apt-get install havp

Nếu không có đủ bộ nhớ cho các thư viện ClamAV, HAVP có thể không khởi động. Bạn có thể bỏ qua lỗi này (hiện tại) và tiếp tục cài đặt .

Quá trình cài đặt sẽ mất một lúc, vì vậy hãy kiên nhẫn.

Chỉnh sửa file cấu hình

Tải file cấu hình của HAVP trong editor yêu thích của bạn:

  • sudo vi /etc/havp/havp.config

Ta cần cài đặt một số tùy chọn cấu hình để làm cho HAVP chạy với daemon ClamAV.

HAVP có thể hoạt động với thư viện ClamAV (theo mặc định) hoặc daemon ClamAV. Chế độ thư viện yêu cầu nhiều RAM hơn chế độ daemon (máy quét socket ). Nếu Server có 4 GB RAM trở lên, bạn có thể đặt ENABLECLAMLIB thành true và sử dụng chế độ thư viện.

Nếu không, hãy sử dụng các cài đặt này, nằm gần cuối file cấu hình.

/etc/havp/havp.config
ENABLECLAMLIB false  . . .  ENABLECLAMD true 

Cấu hình mặc định của HAVP có thể ảnh hưởng đến một số trang web phát trực tuyến video. Để cho phép Yêu cầu phạm vi HTTP , hãy đặt tham số sau.

/etc/havp/havp.config
RANGE true 

Rất nhiều nội dung trên Internet bao gồm hình ảnh. Mặc dù có một số khai thác sử dụng hình ảnh làm vectơ, nhưng ít nhiều sẽ không an toàn khi quét hình ảnh.

Ta khuyên bạn nên đặt SCANIMAGES thành false , nhưng bạn có thể để cài đặt này là true nếu bạn muốn HAVP quét hình ảnh.

/etc/havp/havp.config
SCANIMAGES false 

Không quét các file có kiểu MIME hình ảnh, video và âm thanh. Cài đặt này sẽ cải thiện hiệu suất và cho phép bạn xem nội dung video trực tuyến (miễn là VPN nói chung có đủ băng thông). Bỏ comment này để kích hoạt nó.

/etc/havp/havp.config
SKIPMIME image/* video/* audio/* 

Có một tham số nữa mà ta sẽ thay đổi.

Tham số này sẽ thông báo cho HAVP không ghi các yêu cầu thành công vào file log tại /var/log/havp/access.log . Để giá trị mặc định ( true ) nếu bạn muốn kiểm tra log truy cập để xem HAVP có hoạt động hay không. Đối với production , hãy đặt thông số này thành false để cải thiện hiệu suất và quyền riêng tư.

/etc/havp/havp.config
LOG_OKS false 

Lưu các thay đổi và thoát khỏi file .

Cấu hình user

Bạn có nhớ khi ta cấu hình ClamAV để được các group khác truy cập không?

Bây giờ, ta sẽ thêm user clamav vào group havp và cho phép HAVP truy cập ClamAV. Thực hiện lệnh sau:

  • sudo gpasswd -a clamav havp

Đầu ra:

Output
Adding user clamav to group havp

Ta cần khởi động lại clamav-daemon để các thay đổi của ta đối với các group có hiệu lực.

  • sudo service clamav-daemon restart

Bây giờ ta đã cấu hình HAVP, ta có thể khởi động nó bằng lệnh sau:

  • sudo service havp restart

Các lệnh khởi động lại dịch vụ sẽ hoàn thành một cách im lặng; sẽ không có thông báo nào hiển thị trên console .

Kiểm tra log

HAVP lưu trữ các file log của nó trong folder /var/log/havp . Thông báo lỗi và khởi tạo đi vào file error.log . Bạn có thể kiểm tra trạng thái của HAVP bằng cách kiểm tra file này.

  • sudo tail /var/log/havp/error.log

Lệnh tail hiển thị vài dòng cuối cùng của file . Nếu HAVP đã bắt đầu thành công, bạn sẽ thấy kết quả giống như hình bên dưới. Tất nhiên, ngày và giờ sẽ là của hệ thống :

Output
17/06/2015 12:48:13 === Starting HAVP Version: 0.92 17/06/2015 12:48:13 Running as user: havp, group: havp 17/06/2015 12:48:13 --- Initializing Clamd Socket Scanner 17/06/2015 12:48:22 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature) 17/06/2015 12:48:22 --- All scanners initialized 17/06/2015 12:48:22 Process ID: 3896

Bước 5 - Kiểm tra HAVP

Trong phần này, ta sẽ đảm bảo HAVP đang thực sự chặn vi rút.

Nhật ký hiển thị ở trên đề cập đến một thứ gọi là EICAR virus test .

Khi khởi tạo, HAVP kiểm tra các công cụ quét virus bằng một chữ ký virus được xây dựng đặc biệt. Tất cả các phần mềm quét vi-rút đều phát hiện các file chứa chữ ký (vô hại) này là vi-rút. Bạn có thể biết thêm thông tin về EICAR trên trang Mục đích Sử dụng của EICAR .

Hãy thực hiện kiểm tra thủ công của riêng ta với file EICAR và xem rằng HAVP và ClamAV chặn nó.

Ta sẽ sử dụng trình dòng lệnh wget để tải file xuống từ trang web EICAR.

Đầu tiên, download file kiểm tra EICAR mà không cần sử dụng proxy:

  • wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

Server của bạn sẽ download file mà không có khiếu nại:

Output
converted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8) --2015-06-16 13:53:41-- http://www.eicar.org/download/eicar.com Resolving www.eicar.org (www.eicar.org)... 188.40.238.250 Connecting to www.eicar.org (www.eicar.org)|188.40.238.250|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 68 [application/octet-stream] Saving to: '/tmp/eicar.com' /tmp/eicar.com 100%[=====================>] 68 --.-KB/s in 0s 2015-06-16 13:53:41 (13.7 MB/s) - '/tmp/eicar.com' saved [68/68]

Như bạn thấy , wget download file thử nghiệm có chứa chữ ký vi rút mà không có bất kỳ khiếu nại nào.

Bây giờ, hãy thử download cùng một file bằng proxy mới được cấu hình của ta . Ta sẽ đặt biến môi trường http_proxy thành địa chỉ và cổng HAVP của ta .

  • http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

Đầu ra:

Output
converted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8) --2015-06-25 20:47:38-- http://www.eicar.org/download/eicar.com Connecting to 127.0.0.1:8080... connected. Proxy request sent, awaiting response... 403 Virus found by HAVP 2015-06-25 20:47:39 ERROR 403: Virus found by HAVP.

Proxy của ta đã chặn thành công quá trình download và chặn vi-rút.

EICAR cũng cung cấp file chữ ký vi-rút ẩn bên trong file nén ZIP.

Bạn có thể kiểm tra xem HAVP có quét các file bên trong repository lưu trữ ZIP bằng lệnh sau:

  • http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

Đầu ra:

Output
converted 'http://www.eicar.org/download/eicarcom2.zip' (ISO-8859-1) -> 'http://www.eicar.org/download/eicarcom2.zip' (UTF-8) --2015-06-25 20:48:28-- http://www.eicar.org/download/eicarcom2.zip Connecting to 127.0.0.1:8080... connected. Proxy request sent, awaiting response... 403 Virus found by HAVP 2015-06-25 20:48:28 ERROR 403: Virus found by HAVP.

HAVP (với ClamAV) lại tìm thấy vi rút.

Bước 6 - Cài đặt Privoxy

Lúc này, ta đã cấu hình một server proxy để quét vi-rút các trang web. Điều gì về quảng cáo và theo dõi cookie? Trong bước này, ta sẽ cài đặt và cấu hình Privoxy.

Việc chặn quảng cáo có hại cho các trang web dựa vào quảng cáo để trang trải chi phí hoạt động. Vui lòng xem xét thêm ngoại lệ cho các trang web mà bạn tin tưởng và thường xuyên.

Sử dụng lệnh sau để cài đặt Privoxy:

  • sudo apt-get install privoxy

Cấu hình của Privoxy nằm trong file /etc/privoxy/config . Ta cần cài đặt hai tham số trước khi bắt đầu sử dụng Privoxy.

Mở file cấu hình trong editor yêu thích của bạn.

  • sudo vi /etc/privoxy/config

Bây giờ bỏ ghi chú và đặt hai tham số sau:

/ etc / privoxy / config
listen-address  127.0.0.1:8118  . . .  hostname your_server 

Tham số listen-address xác định IP và cổng privoxy chạy. Giá trị mặc định là localhost:8118 ; ta sẽ thay đổi điều này thành 127.0.0.1:8118 .

Tên hostname tham số chỉ định server lưu trữ Privoxy chạy trên và ghi log ; đặt nó thành tên server hoặc địa chỉ DNS của server của bạn. Nó có thể là bất kỳ tên server hợp lệ nào.

Bây giờ, khởi động lại Privoxy với cấu hình mới của nó.

  • sudo service privoxy restart

Bước 7 - Chuỗi HAVP thành Privoxy

HAVP và Privoxy đều là server proxy HTTP. Bây giờ ta sẽ chuỗi hai proxy này để khi khách hàng của bạn truy cập một trang web từ HAVP, nó sẽ chuyển tiếp yêu cầu này đến Privoxy. Privoxy sẽ truy xuất trang web được yêu cầu, loại bỏ các quảng cáo và mối đe dọa về quyền riêng tư, sau đó HAVP sẽ tiếp tục xử lý phản hồi và loại bỏ vi-rút và mã độc hại.

Tải file cấu hình HAVP vào editor yêu thích của bạn:

  • sudo vi /etc/havp/havp.config

Bỏ ghi chú các dòng sau (bỏ ký tự # ở đầu các dòng) và đặt giá trị của chúng như hình dưới đây. Privoxy chạy trên IP 127.0.0.1 và cổng 8118 .

/etc/havp/havp.config
PARENTPROXY 127.0.0.1 PARENTPORT 8118 

Lưu các thay đổi và thoát khỏi file .

Khởi động lại HAVP để các thay đổi có hiệu lực:

  • sudo service havp restart

Kiểm tra log lỗi của HAVP, lưu ý thông báo Use parent proxy: 127.0.0.1:8118 .

  • sudo tail /var/log/havp/error.log

Đầu ra:

Output
17/06/2015 12:57:37 === Starting HAVP Version: 0.92 17/06/2015 12:57:37 Running as user: havp, group: havp 17/06/2015 12:57:37 Use parent proxy: 127.0.0.1:8118 17/06/2015 12:57:37 --- Initializing Clamd Socket Scanner 17/06/2015 12:57:37 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature) 17/06/2015 12:57:37 --- All scanners initialized 17/06/2015 12:57:37 Process ID: 4646

Cấu hình server proxy của ta hiện đã hoàn tất. Hãy kiểm tra nó với kiểm tra virus EICAR.

  • http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

Nếu cấu hình của bạn tốt, bạn sẽ thấy lại thông ERROR 403: Virus found by HAVP .

Bước 8 - Đặt Tùy chọn DNS cho Server OpenVPN

Mặc dù cấu hình mặc định của OpenVPN Server phù hợp với nhu cầu của ta , nhưng có thể cải thiện nó nhiều hơn một chút.

Tải file cấu hình của server OpenVPN trong editor :

  • sudo vi /etc/openvpn/server.conf

OpenVPN được cấu hình để sử dụng các server của OpenDNS theo mặc định. Nếu bạn muốn thay đổi nó để sử dụng các server DNS của Google, hãy thay đổi các thông số dhcp-option DNS như bên dưới.

Thêm dòng push "register-dns" , mà một số client Windows có thể cần để sử dụng server DNS.

Ngoài ra, thêm dòng push "block-ipv6" để chặn IPv6 khi kết nối với VPN. (Lưu lượng IPv6 có thể bỏ qua server VPN của ta .)

Đây là phần này sẽ trông như thế nào:

/etc/openvpn/server.conf
push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" push "register-dns" push "block-ipv6" 

Nếu bạn muốn cho phép nhiều client kết nối với cùng một file ovpn , hãy bỏ comment sau. (Điều này thuận tiện nhưng KHÔNG an toàn hơn!)

/etc/openvpn/server.conf
duplicate-cn 

Khởi động lại dịch vụ OpenVPN để các thay đổi có hiệu lực.

  • sudo service openvpn restart

Bước 9 - Cấu hình proxy minh bạch của bạn

Bây giờ ta sẽ cài đặt server bảo mật của bạn để chặn truy cập HTTP giữa các client (trình duyệt của bạn) và internet.

Bật chuyển tiếp gói

Để server của ta chuyển tiếp truy cập HTTP đến server proxy, ta cần bật chuyển tiếp gói. Bạn nên bật nó trong hướng dẫn cài đặt OpenVPN.

Kiểm tra cấu hình bằng lệnh sau.

  • sudo sysctl -p

Nó sẽ hiển thị các thông số đã thay đổi như bên dưới. Nếu không, vui lòng xem lại hướng dẫn OpenVPN.

Output
net.ipv4.ip_forward = 1

Cấu hình UFW

Ta cần chuyển tiếp các gói HTTP bắt nguồn từ client OpenVPN sang HAVP. Ta sẽ sử dụng ufw cho mục đích này.

Trước tiên, ta cần cho phép lưu lượng truy cập bắt nguồn từ các ứng dụng client OpenVPN

  • sudo ufw allow in on tun0 from 10.8.0.0/24

Trong hướng dẫn OpenVPN, bạn nên thay đổi file /etc/ufw/before.rules và thêm một số luật cho OpenVPN. Bây giờ ta sẽ truy cập lại cùng một file và cấu hình chuyển hướng cổng cho proxy minh bạch.

  • sudo vi /etc/ufw/before.rules

Thay đổi các dòng bạn đã thêm trong cấu hình OpenVPN như hình dưới đây. Thêm các dòng màu đỏ.

/etc/ufw/before.rules
 # START OPENVPN RULES  # NAT table rules *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] # transparent proxy -A PREROUTING -i tun+ -p tcp --dport 80 -j REDIRECT --to-port 8080  # Allow traffic from OpenVPN client to eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT  # END OPENVPN RULES 

Reload cấu hình firewall của bạn.

  • sudo ufw reload

Kiểm tra trạng thái của UFW:

  • sudo ufw status

Đầu ra:

Output
Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 1194/udp ALLOW Anywhere Anywhere on tun0 ALLOW 10.8.0.0/24 22 ALLOW Anywhere (v6) 1194/udp ALLOW Anywhere (v6)

Bật Chế độ minh bạch của HAVP

Trong các bước trước, ta đã buộc tất cả các gói HTTP phải đi qua HAVP. Cấu hình này được gọi là proxy minh bạch .

Ta cần cấu hình HAVP như vậy.

  • sudo vi /etc/havp/havp.config

Đặt thông số sau:

/etc/havp/havp.config
TRANSPARENT true 

Khởi động lại dịch vụ HAVP:

  • sudo service havp restart

Server của ta hiện đã sẵn sàng để sử dụng.

Bước 10 - Kiểm tra cấu hình client

Trên client của bạn (Windows, OS X, máy tính bảng…), hãy kết nối client với server OpenVPN của bạn. Lưu ý bạn có thể sử dụng cùng một file .ovpn từ hướng dẫn OpenVPN root ; tất cả các thay đổi nằm ở phía server .

Để biết hướng dẫn cài đặt chi tiết cho ứng dụng OpenVPN của bạn, vui lòng xem Cài đặt profile ứng dụng client trong hướng dẫn Ubuntu 14.04.

Sau khi kết nối VPN được cài đặt , bạn sẽ thấy cài đặt DNS ưa thích của bạn trong log ứng dụng OpenVPN. Mẫu sau được lấy từ client IOS.

DNS Servers     8.8.8.8     8.8.4.4 Search Domains: 

Nếu bạn sử dụng Tunnelblick, bạn có thể thấy một dòng như sau:

Changed DNS ServerAddresses setting from '8.8.8.8 208.67.222.222 8.8.4.4' to '8.8.8.8 8.8.4.4' 

Để kiểm tra cấu hình của bạn, hãy truy cập [trang kiểm tra EICAR] ( www.eicar.org ) trong trình duyệt của bạn và cố gắng download file kiểm tra EICAR. Bạn sẽ thấy trang HAVP - Truy cập bị Từ chối .

  • http://www.eicar.org/download/eicarcom2.zip
  • http://www.eicar.org/85-0-Download.html

HAVP - Quyền truy cập bị Từ chối

Bước 11 - Khắc phục sự cố

Phần này sẽ giúp bạn gỡ rối một số vấn đề phổ biến.

Không thể xem video hoặc sử dụng trang web yêu thích của tôi

Privoxy có thể được cấu hình để ít nghiêm ngặt hơn với các trang web tải quá chậm. Hành vi này được cấu hình trong file cấu hình user.action .

Tải file hành động của user trong editor yêu thích của bạn.

  • sudo vi /etc/privoxy/user.action

Đi đến cuối file và thêm nội dung sau với các địa chỉ trang web bổ sung mà bạn muốn.

/etc/privoxy/user.action
{ fragile -deanimate-gifs } .googlevideo.com .youtube.com .imgur.com .example.com 

Sau những thay đổi này, bạn không cần khởi động lại Privoxy. Tuy nhiên, bạn nên xóa bộ nhớ cache của trình duyệt và làm mới một vài lần.

Nếu bạn vẫn gặp sự cố, hãy thêm các domain thuộc danh sách trắng vào file danh sách trắng HAVP. HAVP sẽ kiểm tra file này và không thực hiện quét vi-rút nếu tên server trùng khớp.

  • vi /etc/havp/whitelist

Thêm các trang web vào cuối file .

/ etc / havp / whitelist
# Whitelist Windowsupdate, so RANGE is allowed too *.microsoft.com/* *.windowsupdate.com/*  *.youtube.com/* 

Trình duyệt ngừng phản hồi khi sử dụng nhiều Internet

Nếu bạn mở nhiều trang web cùng một lúc, bộ nhớ server của bạn có thể không đủ để HAVP quét tất cả các yêu cầu của bạn.

Bạn có thể cố gắng tăng RAM của Server và / hoặc thêm bộ nhớ swap . Vui lòng tham khảo bài viết Cách cấu hình bộ nhớ ảo (Swap File) trên VPS .

Lưu ý việc thêm VPN vào trải nghiệm duyệt web của bạn sẽ làm tăng độ trễ trong hầu hết các trường hợp.

Kết luận

Sau khi làm theo hướng dẫn này, bạn sẽ đưa việc sử dụng VPN của bạn lên cấp độ tiếp theo với quyền riêng tư và bảo mật duyệt web.


Tags:

Các tin trước

Cách thiết lập server OpenVPN trên Debian 8 2015-08-10
Cách cấu hình và kết nối với server OpenVPN riêng trên FreeBSD 10.1 2015-04-14
Cách chạy OpenVPN trong Docker Container trên Ubuntu 14.04 2015-02-02
Cách thiết lập server OpenVPN trên Ubuntu 14.04 2015-01-28
Cách cài đặt và cấu hình server truy cập OpenVPN trên CentOS 6.5 2014-04-04
Cách bảo mật lưu lượng truy cập giữa các VPS bằng OpenVPN 2013-09-26
Cách thiết lập và cấu hình server OpenVPN trên Debian 6 2013-05-03
Cách thiết lập và cấu hình server OpenVPN trên CentOS 6 2013-05-02