您的位置:首页 > 运维架构 > Linux

linux系统安全

2015-11-02 00:35 561 查看
在系统优化之前先简单的说一下优化的原则,要做到最小化:
1、根据需求安装系统最小化;
2、开启程序最小化;

3、操作最小化;
4、登录最小化;
5、权限最小化,就是使用普通用户登录。
6、配置参数合理化,不要最大化。
#修改配置文件的时候注意备份。
系统安装之前包的选择如下图(centos为例):










yum grouplist:
Installed Groups:
Base
Compatibility libraries
Debugging Tools
Development tools
Dial-up Networking Support
Hardware monitoring utilities
Performance Tools
如果忘记选包,安装后可以按如下方式选包:
yum groupinstall "Compatibility libraries" "Base" "Development tools"
yum groupinstall "Performance Tools" "debugging Tools" "Dial-up Networking Support"
yum groupinstall "Base" "Development tools"
可以通过yum groupinfo 包组查看具体安装的组件。

简单优化项如下:
⑴:禁止root远程登陆,创建账户monitor,修改端口22为52113 #如果防火墙设置规则 ,勿忘记关闭,且修改防火墙配置。配置文件修改操作步骤:useradd monitorpasswd monitor nihao123!mv /etc/ssh/sshd_config /etc/ssh/sshd_config.backcat /etc/ssh/sshd_config.back |egrep -v "^#|^$" >/etc/ssh/sshd_config添加配置:Port 52113 #→ssh连接默认的端口修改
PermitRootLogin no #→root禁止远程登陆。
PermitEmptyPasswords no #→禁止空密码登陆
UseDNS no #→不使用DNS
重启: /etc/init.d/sshd restart

⑵:防火墙设置;
#端口扫描命令: nmap 127.0.0.1 -p 1-65535,防火墙一般为关闭状态
1、清空iptables 设置: iptables -F iptables -X iptables -Z2、配置允许(自己)52113登录端口进入 iptables -t filter -A INPUT -p tcp --dport 52113 -s 10.XX.XX.XX -j ACCEPT 或开启信任的iP网段 iptables -A INPUT -s xx.xx.xx.xx -p all -j ACCEPT3、允许业务服务端口对外访问(运行http服务无条件通过) iptables -A INPUT -p tcp --dport (待定) -j ACCEPT4、设置默认的防火墙禁止和允许规则。 iptable -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
⑶:关闭selinux 修改配置位置: cat -n /etc/selinux/config
修改配置项:7 SELINUX=disabled 命令修改: sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config查看:setenforce 1 — SELinux以强制(enforcing)模式运行 setenforce 0 — SELinux以警告(permissive)模式运行 getenforce查看selinux备注:如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0

⑷:关闭不需要的服务; #开机精简启动,一般常用的服务sshd远程连接;syelog 记录系统日志;network 网卡服务;crond 定时任务;。
查看运行级别: runlevel N 3查看启动的服务: chkconfig --list | grep 3:启用 | awk '{print $1}'需要开启:crond network yum-updatesd sshd syslog关闭: for kong in `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -vE "crond|network|sshd|rsyslog"`;do chkconfig $kong off;done开启单个服务: chkconfig [--level<等级代号>][系统服务] on/off 范例: chkconfig --level 3 syslog on结果: chkconfig --list|grep "3:启用"crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭network 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭syslog 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

⑸:时间同步:echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root 检查:crontab -l

⑹:设置文件打开最大数:
#数值适当调整以增加文件打开数量。可以加快服务性能:
文件路径:/etc/security/limits.conf查看:ulimit -a设置:ulimit -n 65535

⑺:修改yum源,根据自己喜好,自由选择:

文件路径: 163:http://mirrors.163.com/.help/CentOS6-Base-163.repo
阿里云:http://mirrors.aliyun.com/repo/Centos-6.repo
路径:/etc/yum.repos.d
wget /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
⑻:锁定密码相关文件: chattr +i 系统不允许对这个文件进行任何的修 chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab
查看:lsattr + 文件名

⑼:修改习惯的中文语言:
sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.gb2312"#g' /etc/sysconfig/i18n执行文件 ,且生效source /etc/sysonfig/i18n#注意备份

⑽:关闭ctrl+alt+del重启:
sed -i 's/^ca::ctrlaltdel:*/#ca::ctrlaltdel:*/' /etc/inittabinit q
⑾:修改系统运行级别为:3(需要重启生效):
sed -i 's/^id:5:initdefault:/id:3:initdefault:/' /etc/inittab

⑿:设置SSH的TIMEOUT时间限制为10分钟:
echo "TMOUT=600" >> /etc/profile

⒀:修改密码有效期为:91天,老用户不生效,需用chage命令修改:
sed -i 's/^PASS_MAX_DAYS.*$/PASS_MAX_DAYS\t91/' /etc/login.defs

⒁:history记录条目为50条:
echo "HISTSIZE=50" >> /etc/profile
echo "HISTFILESIZE=50" >> /etc/profile#histfilesize历史记录文件大小,例如10M或者50M
⒂:自动检测.netrc & .rhosts文件,存在即删除:

FIND1=`find / -name .netrc`
FIND2=`find / -name .rhosts`
for NETRC in $FIND1
do
if [ -f $NETRC ] ; then
rm -f $NETRC
fi
done
for RHOSTS in $FIND2
do
if [ -f $RHOSTS ] ; then
rm -f $RHOSTS
fi
done
⒃:各主目录权限应为750:
chmod 750 /home/*
chmod 700 /home/lost+found

⒄:用户删除或锁定:

# passwd -l 锁定用户
# userdel -r 删除用户
# usermod -s /sbinlogin 禁止(ssh/telnet)登陆,但可以ftpchmod 755 /sbinlogin
usermod -s /sbinlogin daemon
usermod -s /sbinlogin bin
usermod -s /sbinlogin nobody
usermod -s /sbinlogin sshd
usermod -s /sbinlogin adm
usermod -s /sbinlogin bin
usermod -s /sbinlogin mail
usermod -s /sbinlogin operator
usermod -s /sbinlogin gopher
usermod -s /sbinlogin ftp
usermod -s /sbinlogin nobody
usermod -s /sbinlogin rpm
usermod -s /sbinlogin dbus
usermod -s /sbinlogin avahi
usermod -s /sbinlogin nscd
usermod -s /sbinlogin mailnull
usermod -s /sbinlogin smmsp
usermod -s /sbinlogin vcsa
usermod -s /sbinlogin haldaemon
usermod -s /sbinlogin rpc
usermod -s /sbinlogin rpcuser
usermod -s /sbinlogin nfsnobody
usermod -s /sbinlogin pcap
usermod -s /sbinlogin ntp
usermod -s /sbinlogin distcache
usermod -s /sbinlogin apache
usermod -s /sbinlogin webalizer
usermod -s /sbinlogin squid
usermod -s /sbinlogin named
usermod -s /sbinlogin xfs
usermod -s /sbinlogin gdm
usermod -s /sbinlogin sabayon
usermod -s /sbinlogin ais
usermod -s /sbinlogin pegasus
usermod -s /sbinlogin luci
usermod -s /sbinlogin piranha
usermod -s /sbinlogin ricc
usermod -s /sbinlogin uucp
usermod -s /sbinlogin games
usermod -s /sbinlogin lp

⒅:设置所有用户umask 为027:
sed -i 's/^UMASK.*$/UMASK\t027/' /etc/login.defs

⒆:删除NIS:

i=`rpm -qa yp-tools`
n=`rpm -qa ypbind`
rpm -e $i $n

⒇:密码策略:密码有效期90天,最短长度为8位,密码重试3次后提示密码错误,最多有3位与原密码相同,至少有一个大写字母、一个小写字母、一个数字、一个字符:

cp -ap /etc/login.defs /etc/login.defs.backsed -i 's/^PASS_MAX_DAYS.*$/PASS_MAX_DAYS\t90/' /etc/login.defs
sed -i 's/^PASS_MIN_LEN.*$/PASS_MIN_LEN\t8/' /etc/login.defscp -ap /etc/pam.d/system-auth /etc/pam.d/system-auth.backsed -i 's/password.*pam_cracklib.so.*$/password requisite
pam_cracklib.so try_first_pass retry=3 difok=3 dcredit=-1 ucredit=-1
lcredit=-1 ocredit=-1 minlen=8/g' /etc/pam.d/system-auth

#防火墙设置:
vi /etc/sysctl.conf net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120#超时时间调小解决办法:http://linuxboys.blog.51cto.com/9150052/1598234报错解决办法:http://www.lvtao.net/server/centos-server-setup.html注意系统版本号: cat /etc/redhat-release CentOS release 5.9 (Final)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息