码迷,mamicode.com
首页 > 其他好文 > 详细

系统安全的几点细节

时间:2015-07-21 15:17:54      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:系统安全   防护   加固   

#设定用户90天修改密码,提前7天提醒
UserList=$(ls /home/|awk ‘{print $NF}‘|grep -v lost+found)
for user in  $UserList
do
        chage -M 90 -W 7 $user
done
#禁ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#设定用户过期时间90默认密码长度8位
cp /etc/login.defs /etc/login.defs.bak
sed -i ‘/PASS_MIN_LEN/s/[0-9]\{1,6\}/90/‘ /etc/login.defs
sed -i ‘/PASS_MIN_LEN/s/[0-9]\{1,3\}/8/‘ /etc/login.defs
#设定用户登录,普通用户登录识别超过6次锁定300s.
echo "account required pam_tally2.so deny=100 no_magic_root reset" >>/etc/pam.d/system-auth
echo "auth required pam_tally2.so onerr=fail deny=6 unlock_time=300" >>/etc/pam.d/system-auth
#隐藏系统版本号
mv /etc/issue /etc/isseu
mv /etc/issue.net  /etc/isseu.net
mv /etc/redhat-release /etc/rehdat-release
#优化配置参数。
echo ‘
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
# ------------- Kernel Optimization -------------
net.ipv4.tcp_max_tw_buckets = 60000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_conntrack_max = 655360
net.ipv4.netfilter.ip_conntrack_max =655360
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180 ‘ >/etc/sysctl.conf
#生效
sysctl -p
#记录histtory日志
echo ‘
#history  
export HISTTIMEFORMAT="%F %T `whoami` "
USER_IP=`who -u am i 2>/dev/null| awk ‘{print $NF}‘|sed -e ‘s/[()]//g‘`
HISTDIR=/usr/local/bin/.history 
if [ -z $USER_IP ]  
then 
USER_IP=`hostname`  
fi 
if [ ! -d $HISTDIR ]  
then 
mkdir -p $HISTDIR  
chmod 777 $HISTDIR  
fi 
if [ ! -d $HISTDIR/${LOGNAME} ]  
then 
mkdir -p $HISTDIR/${LOGNAME}  
chmod 300 $HISTDIR/${LOGNAME}  
fi 
export HISTSIZE=4000  
DT=`date +%Y%m%d_%H%M%S`  
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null ‘>>/etc/profile
#安全登录
/etc/hosts.allow
#
# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the ‘/usr/sbin/tcpd‘ server.
#
##vpn
sshd:111.1.1.1
sshd:122.1.1.2

##jump
sshd:10.0.1.1

/etc/hosts.deny
#
# hosts.deny    This file describes the names of the hosts which are
#               *not* allowed to use the local INET services, as decided
#               by the ‘/usr/sbin/tcpd‘ server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow.  In particular
# you should know that NFS uses portmap!
sshd:all
#检查防火墙配置(开放指定用户地址登录|服务地址开放用户地址段)
iptables-save
#创建普通用户
useradd liangxiujun
echo -e ‘xx123456‘|passwd liangxiujun --stdin
#禁止root登录权限
sed -i ‘s/#PermitRootLogin yes/PermitRootLogin no/g‘ /etc/ssh/sshd_config
#优化ssh链接慢问题
sed -i ‘s/GSSAPIAuthentication yes/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config
sed -i ‘/#UseDNS yes/a\UseDNS no‘ /etc/ssh/sshd_config
/etc/init.d/sshd restart

本文出自 “为技术而生” 博客,转载请与作者联系!

系统安全的几点细节

标签:系统安全   防护   加固   

原文地址:http://liangxj.blog.51cto.com/1422028/1676467

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!