CentOS Linux系統安全設置

火星人 @ 2014-03-08 , reply:0


CentOS系統安全設置
1.禁止ping
[root@zh888 ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all //臨時禁止ping
[root@zh888 ~]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all //臨時允許ping
如果要永久ping可以把第一句
[root@zh888 ~]# echo "echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all">>/etc/rc.local
[root@zh888 ~]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

2.用iptables防火牆禁止(或丟棄) icmp 包
[root@zh888 ~]# iptables -A INPUT -p icmp -j DROP
[root@zh888 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

[root@zh888 ~]# iptables -F INPUT //清理INPUT
[root@zh888 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


3.、更改SSH埠,最好改為10000以上,防止別人掃描順便建立一個普通用戶來登錄然後直接切換到root
[root@zh888 ~]# echo "port=10000">>/etc/ssh/sshd_config
[root@zh888 ~]# echo "PermitRootlogin no">>/etc/ssh/sshd_config


[root@zh888 ~]# service sshd restart
停止 sshd: [確定]
啟動 sshd: [確定]

root@zh888 ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 1631/snmpd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1748/smbd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1607/portmap
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1917/dnsmasq
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1726/vsftpd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1748/smbd
tcp 0 0 :::10000 :::* LISTEN 3023/sshd //修改了埠22默認埠.

[test@zh888 ~]$ su - root//切換到root
口令:
[root@zh888 ~]# set|grep LOGNAME//然後查看環境變數的LOGNAME
LOGNAME=root


4.[root@zh888 ~]# chattr i /etc/passwd /etc/group /etc/gshadow /etc/shadow //利用chattr i或者-i來修改許可權.


[root@zh888 ~]# chmod 777 /etc/passwd
chmod: 更改 “/etc/passwd” 的許可權: 不允許的操作


5.[root@zh888 ~]# chmod 600 /etc/xinetd.conf //修改xinetd.conf配置文件許可權,因為已經修改好了.主只有讀和寫.
chmod: 更改 “/etc/xinetd.conf” 的許可權: 不允許的操作
[root@zh888 ~]# ll /etc/xinetd.conf
-rw------- 1 root root 1001 2011-05-31 /etc/xinetd.conf


6.刪除不太常用的用戶和組adm lp sync shutdown halt news uucp operator games gopher

組groupdel adm groupdel lp groupdel news groupdel uucp groupdel games groupdel dip groupdel pppusers


7.禁止ip原路由也就是ip包包含到達目的地的詳細路徑信息,是非常危險的.
fro f in /proc/sys/net/ipv4/conf/*
/accept_source_route;do
echo 0 > $f done
上面是禁止所有網路界面.

8.使TCP SYN Cookie保護生效,SYN Attack是一種拒絕服務攻擊方式,會消耗系統所有資源,迫使系統重啟,
[root@zh888 ~]# echo "echo 1 >/proc/sys/net/ipv4/tcp_syncookies">>/etc/rc.local //讓系統啟動可以生效
[root@zh888 ~]# cat /etc/rc.local //查看/etc/rc.local文件
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

#/usr/local/mysql/libexec/mysqld --user=root&
#/usr/local/apache/bin/apachectl start
#modprobe ip_conntrack_ftp
#route add default gw 192.168.20.254
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
fro f in /proc/sys/net/ipv4/conf/*/accept_source_route;do echo 0 > done
fro f in /proc/sys/net/ipv4/conf/*/accept_source_route;do echo 0 > done
echo 1 >/proc/sys/net/ipv4/tcp_syncookies

9.[root@zh888 ~]# chattr i /etc/services //修改/etc/services埠文件的屬性

10.[root@zh888 ~]# cat /etc/securetty //註釋掉不用的tty前面加#就可以了.只允許root為tty1設備登錄,如果其它可以用su - root來切換.
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10


vc/11
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
#tty9
#tty10
#tty11

11.關閉不需要的服務可以用ntsysv來關閉.
[root@zh888 ~]# runlevel
N 3 //3級別因為修改了/etc/sysconfig/i18n 是中文顯示grep最好用on off來比較好.
[root@zh888 ~]# cat /etc/sysconfig/i18n
#LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.GB18030"
[root@zh888 ~]# chkconfig --list|grep 3:啟用

anacron 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
apmd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
auditd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
crond 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
kudzu 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉
libvirt-guests 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉
libvirtd 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉
mdmonitor 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
network 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
ntpd 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:關閉 6:關閉
portmap 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
readahead_early 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
readahead_later 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:啟用 6:關閉
restorecond 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
smb 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉


snmpd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
snmptrapd 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:關閉 6:關閉
sshd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
syslog 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
sysstat 0:關閉 1:關閉 2:啟用 3:啟用 4:關閉 5:啟用 6:關閉
vsftpd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
xendomains 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉
xinetd 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉
yum-updatesd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

本文出自 「有志者事竟成!」 博客,請務必保留此出處http://zh888.blog.51cto.com/1684752/740880





[火星人 via ] CentOS Linux系統安全設置已經有218次圍觀

http://www.coctec.com/docs/linux/show-post-46666.html