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!
Các tin liên quan
Cách thiết lập Shiny Server trên Ubuntu 14.042015-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