Cách thiết lập firewall với UFW trên server cloud Ubuntu và Debian
Giới thiệu
Một trong những tuyến phòng thủ đầu tiên trong việc bảo vệ server cloud của bạn là firewall đang hoạt động. Trong quá khứ, điều này thường được thực hiện thông qua các tiện ích phức tạp và phức tạp. Có rất nhiều chức năng được tích hợp trong các tiện ích này, iptables đang là ứng dụng phổ biến nhất hiện nay, nhưng chúng đòi hỏi user phải nỗ lực rất nhiều để tìm hiểu và hiểu chúng. Luật firewall không phải là thứ bạn muốn tự đoán.
Vì vậy, UFW là một giải pháp thay thế dễ sử dụng hơn đáng kể.
UFW là gì?
UFW, hay Tường lửa không phức tạp, là giao diện user của iptables. Mục tiêu chính của nó là làm cho việc quản lý drop-dead firewall của bạn trở nên đơn giản và cung cấp một giao diện dễ sử dụng. Nó được hỗ trợ tốt và phổ biến trong cộng đồng Linux — thậm chí được cài đặt theo mặc định trong rất nhiều bản phân phối. Vì vậy, đó là một cách tốt để bắt đầu bảo vệ server của bạn.
Trước khi ta bắt đầu
Đầu tiên, rõ ràng là bạn muốn đảm bảo UFW đã được cài đặt. Nó phải được cài đặt theo mặc định trong Ubuntu, nhưng nếu vì lý do nào đó không được, bạn có thể cài đặt gói bằng aptitude hoặc apt-get bằng các lệnh sau:
sudo aptitude install ufw
hoặc là
sudo apt-get install ufw
Kiểm tra trạng thái
Bạn có thể kiểm tra trạng thái của UFW bằng lệnh :
sudo ufw status
Ngay bây giờ, nó có thể sẽ cho bạn biết nó không hoạt động. Khi nào ufw hoạt động, bạn sẽ nhận được danh sách các luật hiện tại tương tự như sau:
Status: active To Action From -- ------ ---- 22 ALLOW Anywhere
Sử dụng IPv6 với UFW
Nếu VPS của bạn được cấu hình cho IPv6, hãy đảm bảo UFW được cấu hình để hỗ trợ IPv6 để cấu hình cả luật firewall IPv4 và IPv6 của bạn. Để thực hiện việc này, hãy mở cấu hình UFW bằng lệnh sau:
sudo vi /etc/default/ufw
Sau đó, đảm bảo "IPV6" được đặt thành "có", như sau:
IPV6=yes
Lưu và thoát. Sau đó, khởi động lại firewall của bạn bằng các lệnh sau:
sudo ufw disable sudo ufw enable
Bây giờ UFW sẽ cấu hình firewall cho cả IPv4 và IPv6, khi thích hợp.
Cài đặt mặc định
Một trong những điều sẽ giúp cài đặt bất kỳ firewall nào dễ dàng hơn là xác định một số luật mặc định để cho phép và từ chối kết nối. Mặc định của UFW là từ chối tất cả các kết nối đến và cho phép tất cả các kết nối đi. Điều này nghĩa là bất kỳ ai cố gắng truy cập server cloud của bạn sẽ không thể kết nối, trong khi bất kỳ ứng dụng nào trong server sẽ có thể tiếp cận thế giới bên ngoài. Để đặt các giá trị mặc định được sử dụng bởi UFW, bạn sẽ sử dụng các lệnh sau:
sudo ufw default deny incoming
và
sudo ufw default allow outgoing
Lưu ý: nếu bạn muốn hạn chế hơn một chút, bạn cũng có thể từ chối tất cả các yêu cầu gửi đi. Sự cần thiết của điều này còn nhiều tranh cãi, nhưng nếu bạn có một server cloud công khai, nó có thể giúp ngăn chặn bất kỳ loại kết nối shell nào từ xa. Nó làm cho firewall của bạn trở nên cồng kềnh hơn để quản lý vì bạn cũng sẽ phải cài đặt các luật cho tất cả các kết nối gửi đi. Bạn có thể đặt cài đặt này làm mặc định với những điều sau:
sudo ufw default deny outgoing
Cho phép kết nối
Cú pháp khá đơn giản. Bạn thay đổi các luật firewall bằng cách đưa ra các lệnh trong terminal . Nếu ta bật firewall bây giờ, nó sẽ từ chối tất cả các kết nối đến. Nếu bạn được kết nối qua SSH với server cloud của bạn , đó sẽ là một vấn đề vì bạn sẽ bị khóa server của bạn . Hãy bật kết nối SSH với server của ta để ngăn điều đó xảy ra:
sudo ufw allow ssh
Như bạn thấy, cú pháp để thêm dịch vụ khá đơn giản. UFW đi kèm với một số giá trị mặc định cho các mục đích sử dụng phổ biến. Lệnh SSH của ta ở trên là một ví dụ. Về cơ bản nó chỉ là viết tắt của:
sudo ufw allow 22/tcp
Lệnh này cho phép kết nối trên cổng 22 bằng giao thức TCP. Nếu server SSH của ta đang chạy trên cổng 2222, ta có thể bật kết nối bằng lệnh sau:
sudo ufw allow 2222/tcp
Các kết nối khác mà ta có thể cần
Bây giờ là thời điểm tốt để cho phép một số kết nối khác mà ta có thể cần. Nếu ta đang bảo vệ một web server có quyền truy cập FTP, ta có thể cần các lệnh sau:
sudo ufw allow www
hoặc sudo ufw allow 80/tcp
sudo ufw allow ftp
hoặc sudo ufw allow 21/tcp
Số dặm bay của bạn sẽ khác nhau tùy theo các cổng và dịch vụ bạn cần mở. Có thể sẽ có một chút thử nghiệm cần thiết. Ngoài ra, bạn muốn đảm bảo bạn đã cho phép kết nối SSH của bạn .
Dãy cổng
Bạn cũng có thể chỉ định phạm vi cổng với UFW. Để cho phép các cổng từ 1000 đến 2000, hãy sử dụng lệnh:
sudo ufw allow 1000:2000/tcp
Nếu bạn muốn UDP:
sudo ufw allow 1000:2000/udp
Các địa chỉ IP
Bạn cũng có thể chỉ định địa chỉ IP. Ví dụ: nếu tôi muốn cho phép các kết nối từ một địa chỉ IP cụ thể (giả sử địa chỉ cơ quan hoặc nhà riêng của tôi), tôi sẽ sử dụng lệnh này:
sudo ufw allow from 192.168.255.255
Từ chối kết nối
Cài đặt mặc định của ta là từ chối tất cả các kết nối đến. Điều này làm cho các luật firewall dễ quản lý hơn vì ta chỉ cho phép một cách có chọn lọc các cổng và địa chỉ IP nhất định. Tuy nhiên, nếu bạn muốn lật nó và mở tất cả các cổng của server (không được khuyến khích ), bạn có thể cho phép tất cả các kết nối và sau đó từ chối một cách hạn chế các cổng mà bạn không muốn cấp quyền truy cập bằng cách thay thế “allow” bằng “từ chối” trong các lệnh trên. Ví dụ:
sudo ufw allow 80/tcp
sẽ cho phép truy cập vào cổng 80 trong khi:
sudo ufw deny 80/tcp
sẽ từ chối quyền truy cập vào cổng 80.
Xóa luật
Có hai tùy chọn để xóa các luật . Cách đơn giản nhất là sử dụng cú pháp sau:
sudo ufw delete allow ssh
Như bạn thấy , ta sử dụng lệnh "xóa" và nhập các luật bạn muốn loại bỏ sau đó. Các ví dụ khác bao gồm:
sudo ufw delete allow 80/tcp
hoặc là
sudo ufw delete allow 1000:2000/tcp
Điều này có thể trở nên phức tạp khi bạn có các luật dài và phức tạp.
Một giải pháp thay thế đơn giản hơn gồm hai bước là nhập:
sudo ufw status numbered
sẽ có UFW liệt kê tất cả các luật hiện tại trong một danh sách được đánh số. Sau đó, ta ra lệnh:
sudo ufw delete [number]
trong đó “[number]” là số dòng từ lệnh trước đó.
Bật nó lên
Sau khi ta đã đưa UFW đến nơi ta muốn, ta có thể bật nó lên bằng lệnh này (hãy nhớ: nếu bạn đang kết nối qua SSH, hãy đảm bảo bạn đã đặt cổng SSH của bạn , thường là cổng 22, được phép nhận kết nối):
sudo ufw enable
Bạn sẽ thấy dấu nhắc lệnh nếu mọi việc diễn ra tốt đẹp. Bạn có thể kiểm tra trạng thái các luật của bạn ngay bây giờ bằng lệnh :
sudo ufw status
hoặc là
sudo ufw status verbose
để hiển thị kỹ nhất.
Để tắt UFW, hãy sử dụng lệnh sau:
sudo ufw disable
Đặt lại mọi thứ
Nếu vì bất kỳ lý do gì, bạn cần đặt lại các luật của server cloud về cài đặt mặc định của chúng, bạn có thể thực hiện việc này bằng lệnh lệnh sau:
sudo ufw reset
Kết luận
Đến đây bạn sẽ có một server cloud được cấu hình đúng cách để hạn chế quyền truy cập vào một tập hợp con các cổng hoặc địa chỉ IP.
Các tin liên quan
Cách cài đặt Gerrit trên Ubuntu Cloud Server2013-06-18
Cách cài đặt diễn đàn Vanilla trên Ubuntu 12.10
2013-06-14
Cách giới hạn mức sử dụng CPU trên Ubuntu 12.10
2013-06-08
Cách cài đặt diễn đàn phpBB® trên Ubuntu 12.10
2013-06-06
Cách cài đặt Simple Machines® trên Ubuntu 12.10
2013-06-06
Cách thiết lập Red5 trên Ubuntu 12.10
2013-05-31
Cách thiết lập Tiki Wiki trên Ubuntu 12.10
2013-05-31
Cách cài đặt Webmin trên Ubuntu Cloud Server
2013-05-07
Cách tạo plugin Nagios với Bash trên Ubuntu 12.10
2013-04-29
Cách tạo plugin Nagios với Perl trên Ubuntu 12.10
2013-04-29