2、集群优化
2.1、关闭selinux:
SELINUX是美国国家安全局NSA对于强制访问控制的实现,限制root用户,默认是开启的的,真是的生产场景也是关闭状态,
selinux路径 /etc/selinux/config 有三个权限,enforced(开启) permissive(打印警告) disabled(彻底关闭)获得sellinux的状态:getenforce
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
grep "SELINUX=disabled" /etc/selinux/config
#为了不重启服务器生效,且下次重启后为不开启selinux,(命令行操作是permissive(只会提示,不会限制,就相当于关闭状态),不影响root操作) ;
setenforce 0
getenforce
2.2、关闭防火墙 :
/etc/init.d/iptables stop #(临时的关闭防火墙,重启无效) ;
chkconfig iptables off #彻底关闭防火墙(重启不启动,永久关闭);
/etc/init.d/iptables status 或 service iptables status #查看防火墙的状态;
2.3、开机自启动服务关闭:
chkconfig --list | egrep -v "crond|sshd|network|sysstat|rsyslog" | awk '{print "chkconfig",$1,"off" }'| bash
chkconfig --list | grep "3:on"
2.4、 授权sudoer:
useradd lc
echo "lc" | passwd --stdin lc
echo "lc ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoers
visudo -c
tail -1 /etc/sudoers
2.5、改中文格式:
(1)对语言配置文件进行备份:
[root@backup ~]# cp /etc/sysconfig/i18n{,.bak}
[root@backup ~]# ls -l /etc/sysconfig/i18n.bak
-rw-r--r-- 1 root root 17 2月 13 14:34 /etc/sysconfig/i18n.bak
(2)修改文件:
# zh_CN.UTF-8:表示中文格式;en_US.UTF-8:表示英文格式;
echo "LANG=zh_CN.UTF-8" >/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG
(3)设置临时生效:
export LANG=en #生效的是英文格式;
export LANG=zh_CN.UTF-8 #生效的是中文格式;
2.6、超时和命令行提示:
echo "export TMOUT=2000" >>/etc/profile
echo "export HISTFILESIZE=20">>/etc/profile
echo "export HISTSIZE=20">>/etc/profile
tail -3 /etc/profile
source /etc/profile
2.7、时间同步:
echo '#time sync by root at 2018-10-6' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l
2.8、加大文件描述符:
echo '* - nofile 65535 '>>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn 65535
ulimit -n
2.9、优化系统内核信息:
[root@backup ~]# cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF
#使修改的内核内容生效:
[root@backup ~]# sysctl -p
2.10、隐藏版本:
>/etc/issue >/etc/ issue.net
2.11、更改yum仓库,保留yum下载的文件:
vim /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0 #将 keepcache=0 修改为 keepcache=1, 安装或者升级后,
#在目录 /var/cache/yum 下就会有下载的 rpm 包了;
2.12、安装系统常用小软件:
yum install lrzsz nmap tree dos2unix nc -y
2.13、解决ssh连接速度慢的问题:
sed -i.bak '13i GSSAPIAuthentication no\nUseDNS no' /etc/ssh/ssh_config
2.14、改变umask(使所有的用户都使用相同的权限):
[root@backup ~]#echo "umask 022" >>/etc/profile
2.15、打补丁 :
yum update
2.16、修改命令行历史数和超时锁屏时间:
echo "export TMOUT=1200">>/etc/profile
echo "export HISTFILESIZE=20">>/etc/profile
echo "export HISTSIZE"=20>>/etc/profile
生效文件:
source /etc/profile
history命令补充:
histroy:查看历史记录:
!+数字:执行历史记录;
history -c:清空当前用户命令行的历史记录;
history -d +数字:清空当前用户命令行特定的历史记录;
export HISTSIZE=10:改变命令行显示的记录条数,防止黑客(临时生效);
export HISTFILESIZE=10:改变记录文件的历史记录条目,防止黑客侵入(临时有效,重启无效);
    
2.17、登录后显示欢迎词:
echo 'welcom login this linux' >/etc/motd
2.18、小功能优化
PS1="\[\e[32;1m\][\u@\h \W]\\$\[\e[0m\]" >>/etc/profile
tail -1 /etc/profile
       
20.19、锁定系统文件;
转移走chattr和lsattr命令,保证只有超级管理员用户知晓,chattr锁定文件后所有用户
都不能对该文件做任何的修改,包括root用户;
chattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
mv /usr/bin/chattr /etc/lc1
mv /usr/bin/lsattr /etc/lc2
20.20、禁止主机被ping:
echo "net.ipv4.icmp_echo_ignore_all = 1" >>/etc/sysctl.conf
tail -1 /etc/sysctl.conf
sysctl -p
2.21、linux基础优化和安全重点小结:
01.不用root登录管理系统,而以普通用户登录通过sudo授权管理。
02.更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP。
03.定时自动更新服务器的时间,使其和互联网时间同步。
04.配置yum更新源,从国内更新源下载安装软件包。
05.关闭SELinux及iptables在工作场景中,如果有外部IP一般要打开iptables,高并发高流量的服务器可能无法开启。
06.调整文件描述符的数量,进程及文件的打开都会消耗文件描述符数量。
07.定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满注意Centos6和Centos5要清除的目录不同。
08.精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、sysstat)。
09.Linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效。
10.更改系统字符集为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。
11.锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,
处理以上内容后把chattr、lsattr改名为lc1,lc2,转移走,并且只有高级管理员知道转移的位置,这样就安全多了。
12.清空/etc/issue、/etc/ issue.net,去除系统及内核版本登录前的屏幕显示。
13.清除多余的系统虚拟用户账号。
14.为grub引导菜单加密码。
15.禁止主机被ping。
16.打补丁并升级有已知漏洞的软件。

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号