Thứ tư, 08/07/2015 | 00:00 GMT+7

Thiết lập ban đầu của server Fedora 22

Khi bạn lần đầu tiên đăng nhập vào Fedora 22 mới, nó chưa sẵn sàng để sử dụng làm hệ thống production . Có một số bước được khuyến khích nên thực hiện để tùy chỉnh và bảo mật nó, chẳng hạn như bật firewall .

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt mới server Fedora 22 có cấu hình bảo mật tốt hơn và sẵn sàng sử dụng.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

  • Một Fedora 22 Server với các SSH key root .

Bạn có thể làm theo phần này của hướng dẫn SSH key để tạo khóa nếu bạn chưa có và phần này của cùng một hướng dẫn để tự động nhúng SSH key của bạn vào account root của server khi bạn tạo Server.

Bước 1 - Tạo Tài khoản User Chuẩn

Đầu tiên, đăng nhập vào server của bạn như là user root .

ssh root@your_server_ip 

Hoạt động với quyền root là một rủi ro bảo mật, vì vậy trong bước này, ta sẽ cài đặt một account user sudo không phải root để sử dụng cho hệ thống và các việc máy tính khác. Tên user được sử dụng trong hướng dẫn này là sammy , nhưng bạn có thể sử dụng bất kỳ tên nào bạn thích.

Để thêm user , hãy nhập:

adduser sammy 

Chỉ định một password mạnh cho user bằng lệnh dưới đây. Bạn sẽ được yêu cầu nhập password hai lần.

passwd sammy 

Sau đó, thêm user vào group bánh xe, điều này mang lại cho nó các quyền sudo.

gpasswd -a sammy wheel 

Đăng xuất khỏi server của bạn và thêm SSH key của bạn vào account user mới bằng cách chạy phần sau trên máy local của bạn.

ssh-copy-id sammy@your_server_ip 

Để biết thêm thông tin về cách sao chép SSH key từ máy local sang server của bạn, bạn có thể đọc phần này của hướng dẫn SSH.

Cuối cùng, đăng nhập lại với quyền là user không phải root có quyền sudo mới. Bạn sẽ không được yêu cầu nhập password vì account này hiện có SSH key .

ssh sammy@your_server_ip 

Bước 2 - Không cho phép Đăng nhập root và Xác thực Mật khẩu

Trong bước này, ta sẽ làm cho thông tin đăng nhập SSH an toàn hơn bằng cách tắt thông tin đăng nhập root và xác thực password .

Để chỉnh sửa các file cấu hình, bạn cần cài đặt một editor . Ta sẽ sử dụng nano nhưng bạn có thể sử dụng bất kỳ loại nào bạn yêu thích.

Trước tiên, hãy áp dụng mọi bản cập nhật có sẵn bằng cách sử dụng:

sudo dnf update 

Sau đó, để cài đặt nano , hãy nhập:

sudo dnf install -y nano 

Bây giờ, hãy mở file cấu hình SSH daemon để chỉnh sửa.

sudo nano /etc/ssh/sshd_config 

Bên trong file đó, hãy tìm chỉ thị PermitRootLogin . Bỏ ghi chú ( nghĩa là xóa ký tự # bắt đầu) và đặt thành không .

PermitRootLogin no 

Tương tự, hãy tìm chỉ thị PasswordAuthentication và đặt nó thành không .

PasswordAuthentication no 

Lưu và thoát khỏi file , sau đó reload cấu hình để đưa các thay đổi vào đúng vị trí.

sudo systemctl reload sshd 

Nếu bất kỳ ai cố gắng đăng nhập bằng quyền root ngay bây giờ, phản hồi sẽ bị Permission denied (publickey,gssapi-keyex,gssapi-with-mic) .

Bước 3 - Cấu hình múi giờ

Trong bước này, bạn sẽ đọc cách thay đổi đồng hồ hệ thống thành múi giờ local của bạn. Đồng hồ mặc định được đặt thành UTC.

Tất cả các múi giờ đã biết đều nằm trong folder /usr/share/zoneinfo/ . Hãy xem các file và folder trong /usr/share/zoneinfo/ .

ls /usr/share/zoneinfo/ 

Để đặt đồng hồ sử dụng múi giờ local , hãy tìm quốc gia hoặc khu vực địa lý của bạn trong folder đó, định vị file vùng bên dưới nó, sau đó tạo một liên kết mềm tượng trưng từ nó đến folder /etc/localtime . Ví dụ: nếu bạn đang ở domain trung của USA , nơi múi giờ là Trung tâm hoặc CST , file vùng sẽ là /usr/share/zoneinfo/US/Central .

Tạo một liên kết mềm tượng trưng từ file vùng của bạn đến /etc/localtime .

sudo ln -sf /usr/share/zoneinfo/your_zone_file /etc/localtime 

Xác minh đồng hồ hiện được đặt thành giờ local bằng cách xem kết quả của lệnh date .

date 

Đầu ra sẽ giống như sau:

Wed Mar 25 14:41:20 CST 2015 

CST trong kết quả đó xác nhận đó là giờ domain Trung.

Bước 4 - Kích hoạt firewall

Server Fedora 22 mới không có ứng dụng firewall đang hoạt động. Trong bước này, ta sẽ tìm hiểu cách bật ứng dụng firewall IPTables và đảm bảo các luật thời gian chạy vẫn tồn tại sau khi khởi động lại.

Gói IPTables đã được cài đặt, nhưng để kích hoạt nó, bạn cần cài đặt gói iptables-services .

sudo dnf install -y iptables-services 

Sau đó, bạn có thể kích hoạt IPTables để nó tự động khởi động khi server khởi động .

sudo systemctl enable iptables 

Tiếp theo, khởi động IPTables.

sudo systemctl start iptables 

IPTables trên Fedora 22 đi kèm với một bộ luật mặc định. Một trong những luật đó cho phép lưu lượng SSH. Để xem các luật mặc định, hãy nhập:

sudo iptables -L 

Đầu ra sẽ đọc:

Chain INPUT (policy ACCEPT) target     prot opt source               destination ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED ACCEPT     icmp --  anywhere             anywhere ACCEPT     all  --  anywhere             anywhere ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited  Chain FORWARD (policy ACCEPT) target     prot opt source               destination REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited  Chain OUTPUT (policy ACCEPT) target     prot opt source               destination 

Các luật đó là luật thời gian chạy và sẽ bị mất nếu hệ thống được khởi động lại. Để lưu các luật thời gian chạy hiện tại vào file để chúng tồn tại sau khi khởi động lại, hãy nhập:

sudo /usr/libexec/iptables/iptables.init save 

Các luật hiện được lưu vào một file có tên iptables trong folder /etc/sysconfig .

Bước 5 (Tùy chọn) - Cho phép Truy cập HTTP và HTTPS

Trong phần này, ta sẽ trình bày cách chỉnh sửa các luật firewall để cho phép các dịch vụ cho các cổng 80 (HTTP) và 443 (HTTPS).

Các luật IPTables mặc định cho phép lưu lượng SSH theo mặc định, nhưng HTTP và người anh em họ tương đối an toàn hơn của nó, HTTPS, là các dịch vụ mà nhiều ứng dụng sử dụng, vì vậy bạn cũng có thể cần cho phép chúng vượt qua firewall .

Để tiếp tục, hãy mở file luật firewall bằng lệnh :

sudo nano /etc/sysconfig/iptables 

Tất cả những gì bạn cần làm là thêm hai luật , một cho cổng 80 và một cho cổng 443, sau luật cho lưu lượng SSH (cổng 22). Các dòng màu đỏ bên dưới là những dòng bạn sẽ thêm vào; các dòng trước và sau được đưa vào cho ngữ cảnh để giúp bạn tìm nơi thêm các luật mới.

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited 

Để kích hoạt bộ luật mới, hãy khởi động lại IPTables.

sudo systemctl restart iptables 

Bước 6 (Tùy chọn) - Cài đặt Mlocate

Lệnh locate là một tiện ích rất hữu ích để tra cứu vị trí của các file trong hệ thống. Ví dụ, để tìm một file có tên là example , bạn sẽ nhập:

locate example 

Thao tác đó sẽ quét hệ thống file và in vị trí hoặc các vị trí của file trên màn hình của bạn. Có nhiều cách nâng cao hơn để sử dụng locate .

Để làm cho lệnh có sẵn trên server của bạn, trước tiên bạn cần cài đặt gói mlocate .

sudo dnf install -y mlocate 

Sau đó, chạy lệnh updatedb để cập nhật database tìm kiếm.

sudo updatedb 

Sau đó, bạn có thể sử dụng locate để tìm các file nào theo tên.

Kết luận

Sau khi hoàn thành bước cuối cùng, server Fedora 22 của bạn sẽ được cấu hình , bảo mật hợp lý và sẵn sàng để sử dụng!


Tags:

Các tin liên quan

Cách thiết lập Shiny Server trên Ubuntu 14.04
2015-06-28
Cách backup server LAMP bằng Bacula trên Ubuntu 14.04
2015-06-11
Cách cấu hình sao chép DNS trên server Slave PowerDNS trên Ubuntu 14.04
2015-06-04
Cách thay đổi mật khẩu tài khoản trên server OpenLDAP
2015-05-29
Cách thay đổi mật khẩu tài khoản trên server OpenLDAP
2015-05-29
Cách chạy mail server và lưu trữ tệp của riêng bạn với PEPS trên Ubuntu 14.04
2015-05-22
Cách chạy mail server của riêng bạn với Mail-in-a-Box trên Ubuntu 14.04
2015-05-15
Thiết lập server ban đầu với Debian 8
2015-05-11
Cách thiết lập server Hexxit (Minecraft Mod Pack) trên Ubuntu 14.04
2015-05-07
Cách cấu hình BIND làm server DNS Mạng riêng trên CentOS 7
2015-04-29