1. 程式人生 > >CentOS 6.5 安全加固

CentOS 6.5 安全加固

系統安全配置

CentOS 6.5安全加固及性能優化

我們可以通過調整系統參數來提高系統內存、CPU、內核資源的占用,通過禁用不必要的服務、端口,來提高系統的安全性,更好的發揮系統的可用性。通過自己對Linux了解,對系統調優做了如下小結。

說明:經常玩Linux系統的朋友多多少少也知道些系統參數優化和怎樣增強系統安全性,系統默認的一些參數都是比較保守的,所以我們可以通過調整系統參數來提高系統內存、CPU、內核資源的占用,通過禁用不必要的服務、端口,來提高系統的安全性,更好的發揮系統的可用性。通過自己對Linux了解,對系統調優做了如下小結:


1、清空防火墻並設置規則

[root@localhost~]# iptables -F #清楚防火墻規則

[root@localhost~]# iptables -L #查看防火墻規則

[root@localhost~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

[root@localhost~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

[root@localhost~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT

[root@localhost~]# iptables -A INPUT -p udp --dport 53 -j ACCEPT

[root@localhost~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT

[root@localhost~]# iptables -A INPUT -p icmp -j DROP

[root@localhost~]# iptables -P INPUT DROP

[root@localhost~]# /etc/init.d/iptables save


2、添加普通用戶sudo權限


[root@localhost~]# useradd [用戶]

[root@localhost~]# echo "123456" | passwd --stdin [用戶] #設置密碼

[root@localhost~]# vi /etc/sudoers #或visudo打開,添加user用戶所有權限

root ALL=(ALL) ALL

[用戶] ALL=(ALL) ALL


3、禁止root遠程登錄


[root@localhost~]# vi /etc/ssh/sshd_config

PermitRootLogin no

PermitEmptyPasswords no #禁止空密碼登錄

UseDNS no #關閉DNS查詢


4、關閉不必要的服務

技術分享圖片


5、刪除不必要的系統用戶


[root@localhost ~]# awk -F ":" '{print $1}' /etc/passwd

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

uucp

operator

games

gopher

ftp

nobody

vcsa

saslauth

postfix

sshd

qemu

dbus

rpc

radvd

haldaemon

ldap

ntp

[root@localhost ~]# userdel adm

[root@localhost ~]# userdel lp

[root@localhost ~]# userdel halt

[root@localhost ~]# userdel uucp

[root@localhost ~]# userdel operator

[root@localhost ~]# userdel games


6、關閉重啟 Ctrl+Alt+delete


[root@localhost ~]# vi /etc/init/control-alt-delete.conf

#exec /sbin/shutdown -r now "Control-Alt-Deletepressed" #註釋掉


7、調整文件描述符大小

[root@localhost ~]# echo '* - nofile 65535 ' > /etc/security/limits.conf

[root@localhost ~]# ulimit -n

65535


8、去除系統相關信息


[root@localhost ~]# echo "Welcome to Server" >/etc/issue

[root@localhost ~]# echo "Welcome to Server" >/etc/redhat-release


9、修改history 記錄


[root@localhost ~]# vi /etc/profile #修改記錄20個

HISTSIZE=20


10、內核參數優化

[root@localhost ~]# vi /etc/sysctl.conf #末尾添加如下參數

net.ipv4.tcp_syncookies = 1 #1是開啟SYN Cookies,當出現SYN等待隊列溢出時,啟用Cookies來處,理,可防範少量SYN攻擊,默認是0關閉

net.ipv4.tcp_tw_reuse = 1 #1是開啟重用,允許講TIME_AIT sockets重新用於新的TCP連接,默認是0關閉

net.ipv4.tcp_tw_recycle = 1 #TCP失敗重傳次數,默認是15,減少次數可釋放內核資源

net.ipv4.ip_local_port_range = 4096 65000 #應用程序可使用的端口範圍

net.ipv4.tcp_max_tw_buckets = 5000 #系統同時保持TIME_WAIT套接字的最大數量,如果超出這個數字,TIME_WATI套接字將立刻被清除並打印警告信息,默認180000

net.ipv4.tcp_max_syn_backlog = 4096 #進入SYN寶的最大請求隊列,默認是1024

net.core.netdev_max_backlog = 10240 #允許送到隊列的數據包最大設備隊列,默認300

net.core.somaxconn = 2048 #listen掛起請求的最大數量,默認128

net.core.wmem_default = 8388608 #發送緩存區大小的缺省值

net.core.rmem_default = 8388608 #接受套接字緩沖區大小的缺省值(以字節為單位)

net.core.rmem_max = 16777216 #最大接收緩沖區大小的最大值

net.core.wmem_max = 16777216 #發送緩沖區大小的最大值

net.ipv4.tcp_synack_retries = 2 #SYN-ACK握手狀態重試次數,默認5

net.ipv4.tcp_syn_retries = 2 #向外SYN握手重試次數,默認4

net.ipv4.tcp_tw_recycle = 1 #開啟TCP連接中TIME_WAIT sockets的快速回收,默認是0關閉

net.ipv4.tcp_max_orphans = 3276800 #系統中最多有多少個TCP套接字不被關聯到任何一個用戶文件句柄上,如果超出這個數字,孤兒連接將立即復位並打印警告信息

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.ipv4.tcp_mem[0]:低於此值,TCP沒有內存壓力;

net.ipv4.tcp_mem[1]:在此值下,進入內存壓力階段;

net.ipv4.tcp_mem[2]:高於此值,TCP拒絕分配socket。內存單位是頁,可根據物理內存大小進行調整,如果內存足夠大的話,可適當往上調。上述內存單位是頁,而不是字節。


配置完畢之後重啟系統即可生效





CentOS 6.5 安全加固