日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

服務器加固是通過各種方法增強服務器安全性的過程。我們有很多步驟來保護服務器。通過保護您的 linux 系統免受黑客、破解者和攻擊者的侵害,讓您和您的公司遠離您!您可以通過以下步驟將易受攻擊的盒子變成加固的服務器。它將幫助您防止外部攻擊。這里我描述的是 centos 的服務器加固。

CentOS 7 服務器的 15 個 Linux 安全加固項

 

要知道什么

本指南將引導您完成安全強化 CentOS 7 所需的步驟。強化系統將使其更具限制性,您可能會遇到問題。我建議創建一個可用于故障排除的重復虛擬機。您將在下面找到一個基本步驟列表,您可以并且應該在配置后立即強化您的服務器。

1. 安全的遠程訪問

有時我們通過遠程方法訪問我們的服務器,如果它不安全,我們可以公開我們的服務器。OpenSSH 選項是通過/etc/ssh/sshd_config文件控制的。

禁用 SSH 密碼驗證方法并啟用公鑰驗證方法

重要的是禁用密碼遠程登錄方法并啟用身份驗證公鑰


ChallengeResponseAuthentication
PasswordAuthentication更改為no 以停用密碼方法

PasswordAuthentication no
ChallengeResponseAuthentication no

授權公鑰認證

RSAAuthentication yes
PubkeyAuthentication yes

現在您可以生成新的密鑰對

# ssh-keygen -t rsa

禁用直接root登錄

允許 root 直接登錄服務器是一種風險安全措施。相反,您應該以您的帳戶登錄系統,然后執行su -以 root 身份登錄。因此,您需要將PermitRootLogin yes更改為PermitRootLogin no

PermitRootLogin no

更改默認 SSH 監聽端口(例如:8500)

有時不建議使用默認端口,因為它是全世界都知道的并且存在安全風險。個性化要使用的端口很好

port 8500

2. 使用 grub 密碼保護引導加載程序

通過保護引導加載程序,我們可以防止訪問以 root 身份自動登錄的單用戶模式。這是通過GRUB 通過設置默認以純文本形式存儲的密碼來完成的。

對于 Debian 系統

# grub-mkpasswd-pbkdf2

對于 Centos

# grub2-mkpasswd-pbkdf2

3.監聽網絡端口

配置網絡服務后,重要的是要注意哪些端口實際上正在偵聽系統的網絡接口。任何開放的端口都可能是入侵的證據。

# nmap -sT -O localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2017-06-07 23:13 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000061s latency).
Other addresses for localhost (not scanned): 127.0.0.1
rDNS record for 127.0.0.1: centos-01
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
2049/tcp open nfs

要列出所有打開的端口和相關程序,請使用以下命令

# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN   

4. 縮小權限

縮小系統文件和文件夾的權限以限制風險。

# chmod 700 /root
# chmod 700 /var/log/audit
# chmod 740 /etc/rc.d/init.d/iptables
# chmod 740 /sbin/iptables
# chmod -R 700 /etc/skel
# chmod 600 /etc/rsyslog.conf
# chmod 640 /etc/security/access.conf
# chmod 600 /etc/sysctl.conf

5.檢查空密碼的帳戶

任何密碼為空的帳戶都意味著它被打開以供網絡上的任何人未經授權訪問,并且它是 Linux 服務器中安全性的一部分。要檢查密碼為空的帳戶,請使用以下命令

# cat /etc/shadow | awk -F: '($2==""){print $1}'
paul

為了安全起見,最好鎖定所有空密碼帳戶:

# passwd -l paul
Locking password for user paul.
passwd: Success

6.調整內核參數

Sysctl 是一個用于在 Linux 操作系統中檢查和動態更改參數的接口。編輯/etc/sysctl.conf 文件以優化內核參數

sysctl 是用于在運行時修改內核參數的命令。

# sysctl -a
# sysctl -A
# sysctl net.ipv4.conf.all.rp_filter
To load settings, enter: 
# sysctl -p

將以下內容復制粘貼到/etc/sysctl.conf

# Turn on execshield
kernel.exec-shield=1
kernel.randomize_va_space=1

# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter=1

# Disable IP source routing
net.ipv4.conf.all.accept_source_route=0

# Ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1

# Make sure spoofed packets get logged
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1

# Disable ICMP routing redirects
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv6.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv6.conf.all.send_redirects=0

# Disables the magic-sysrq key
kernel.sysrq = 0

# Turn off the tcp_sack
net.ipv4.tcp_sack = 0

# Turn off the tcp_timestamps
net.ipv4.tcp_timestamps = 0

# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1

# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_responses = 1

7.禁用不需要的服務

您需要從系統啟動中刪除所有不需要的服務和守護程序(在后臺運行的服務),這些服務和守護程序在啟動時以運行級別 3啟動。

# chkconfig --list | grep '3:on'

要禁用服務,請輸入:

# service serviceName stop
# chkconfig serviceName off

8. 單用戶模式需要認證

建議進入單用戶模式時要求輸入root密碼。打開/etc/sysconfig/init 文件并添加以下行:

SINGLE=/sbin/sulogin

9. 安全增強型 Linux (SELinux)

SELinux 是一組安全規則,用于確定哪個進程可以訪問哪個文件、目錄、端口等。每個文件、進程、目錄和端口都有一個特殊的安全標簽,稱為 SELinux 上下文。上下文只是 SELinux 策略用來確定進程是否可以訪問文件、目錄或端口的名稱。默認情況下,該策略不允許任何交互,因此顯式規則授予訪問權限。如果沒有允許規則,則不允許訪問。

getenforce 命令告訴我們 SELinux 處于什么模式。

我們可以通過更改來將 SELinux 模式更改為強制SELINUX=enforcing執行/etc/sysconfig/selinux

該文件中有三個指令,如下所述。

  • 強制: SELinux 安全策略被強制執行。
  • Permissive: SELinux 打印警告而不是強制執行。
  • 禁用: SELinux 完全禁用。

您可以使用以下命令檢查 SELinux 的狀態

# sestatus
SELinux status: disabled

您會看到它已被禁用。要啟用它,您可以使用

# setenforce enforcing

10. 使用 iptables 設置防火墻

iptables 是一個用戶空間應用程序,允許系統管理員配置 Linux 內核防火墻提供的表及其存儲的鏈和規則。

關閉所有不需要的端口

iptables -A INPUT -p tcp --dport PORT_NUMBER -j DROP

灣。阻止不良IP

iptables -A INPUT -s IP_ADDRESS -j DROP

C。阻止與網絡接口的連接

要阻止從特定 IP 地址到特定網絡接口的連接,請使用命令

# iptables -A INPUT -i ens0 -s 6.6.6.6 -j DROP

d。列出 iptables 規則

可以通過命令查看所有 iptables 規則

iptables -L -n -v

11. 驗證文件系統

當 SUID/SGID 可執行文件存在安全問題時,所有啟用 SUID/SGID 位的文件都可用于惡意活動。所有本地或遠程用戶都可以使用此類文件。

識別不需要的 SUID 和 SGID 二進制文件

find / ( -perm -4000 -o -perm -2000 ) -print
find / -path -prune -o -type f -perm +6000 -ls

識別世界可寫文件

find /dir -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -print

識別孤立的文件和文件夾

find /dir -xdev ( -nouser -o -nogroup ) -print

12. 保持 /boot 為只讀

Linux 內核及其相關文件在 /boot 目錄下,默認為可讀寫。將其更改為只讀可降低未經授權修改關鍵引導文件的風險。我們需要編輯/etc/fstab文件并在下面插入行<

LABEL=/boot     /boot     ext2     defaults,ro     1 2

13. 拒絕所有 TCP WrAppers

TCP 包裝器可以提供一種快速簡便的方法來控制對鏈接到它們的應用程序的訪問。因此建議屏蔽所有未使用的應用程序,然后只授權將要使用的應用程序。

例如,我們將阻止所有應用程序,但僅授權 ssh

echo "ALL:ALL" >> /etc/hosts.deny 
echo "sshd:ALL" >> /etc/hosts.allow

14. 為未經授權的用戶鎖定 cronjobs

Cron 用于在特定時間自動執行作業。可以指定誰可以或不可以運行作業。這是通過使用名為/etc/cron.allow和的文件來控制的/etc/cron.deny。要使用 cron 鎖定用戶,只需在 cron.deny 中添加用戶名并允許用戶在 cron.allow 文件中運行 cron 添加。

# echo ALL >>/etc/cron.deny

15. 保護服務器免受緩沖區溢出

當程序或進程嘗試將更多數據寫入固定長度的內存塊或緩沖區時,會發生緩沖區溢出,而不是分配給緩沖區的內容。再次保護您的服務器很重要

一種。啟用 ExecShield

它有助于防止堆棧粉碎。通常,緩沖區溢出漏洞會覆蓋返回地址,以便函數返回攻擊者選擇的地址。您需要在當前內核上啟用

sysctl -w kernel.exec-shield=1

您還可以將下面的行添加到/etc/sysctl.conf

kernel.exec-shield = 1

檢查/啟用 ASLR

地址空間布局隨機化是一種防御功能,可以使緩沖區溢出更加困難。ASLR 使攻擊者難以找到要跳轉的地址。您需要通過為kernel.randomize_va_space設置運行時來啟用隨機虛擬內存區域放置

sysctl -q -n -w kernel.randomize_va_space=2

/etc/sysctl.conf如果它不存在,則添加下面的行

kernel.randomize_va_space = 2

結論

這些是嘗試運行自己的服務器的新用戶的一些基本注意事項。請記住,餅干總是領先一步;他們一直在尋找任何漏洞來入侵您的服務器。重要的是要認識到,雖然遲到總比沒有好,但您等待實施的時間越長,安全措施的有效性就會降低

分享到:
標簽:加固
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定