Linux基础优化与安全归纳的示例分析
这篇文章主要介绍Linux基础优化与安全归纳的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
目前创新互联已为近1000家的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、安源网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
第一点:Linux的管理尽量不用root用户,利用sudo命令来控制普通用户对系统的管理
新建一个用户,使用sudo命令添加权限,详细操作步骤如下:
(1)添加新的用户: useradd 新的用户名
(2)检查是否已成功添加:id 新的用户名
(3)设置该用户的密码:echo 123321|passwd --stdin 新的用户名
接下来需将新的用户添加管理员权限,这个新的用户就相当于管理员
(4)备份之前的权限文件:\cp /etc/sudoers{,.back}
(5)将新的用户添加管理员权限:
echo "新的用户名 ALL=(ALL) NOPASSWD: ALL " >> /etc/sudoers
(6)检查是否已成功添加:tail -1 /etc/sudoers
(7)配置生效:visudo -c
待以上操作完毕,那么此时的新的用户权限等同于root用户。
第二点:更改默认的远程连接SSH服务端口
(1)修改配置文件/etc/ssh/sshd_config
Port 22,改为Port 52113(范围——65535);##默认端口为22
ListenAddress 0.0.0.0,改为ListenAddress 内网IP地址;##监听内网ip地址
PermitRootLogion yes,改为PermitRootLogion no;##root用户远程连接)
(2)重启生效:/etc/init.d/sshd reload
(3)查看端口状态:netstat -lntup|grep sshd
第三点:定时自动更新服务器时间,使其和互联网时间同步
(1)配置
echo '#time sync by 新的用户名 at 2019-04-01' >> /var/spool/cron/root
echo '/5 /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >> /var/spool/cron/root
###每5分钟执行一次同步
###至于以哪个时间服务器为基准,以下地址可自己选择:
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com
(2)查看是否已更新:crontab -l
(3)最后备份下:\cp /var/spool/cron/root{,.back}
第四点:配置yum配置源
(1)创建备份文件存放目录
Mkdir -p /etc/yum.repos.d/{default,back}
(2)备份所有默认的配置文件
\mv /etc/yum.repos.d/repo /etc/yum.repos.d/default
(3)从阿里云获取yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
(4)备份yum源
\cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/default
第五点:关闭selinux及iptables
(1)关闭iptables:/etc/init.d/iptables stop
(2)检查是否已关闭:/etc/init.d/iptables status
(3)设置开机不自动启动:chkconfig iptables off
(4)确认配置:chkconfig --list iptables
(5)关闭selinux:
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
(6)查看并确认配置:cat /etc/selinux/config
备注:永久生效,需要重启计算机。(在工作场景中,如果有外部IP一般要打开iptables)
第六点:适当调整文件描述符的数量
鉴于进程及文件的打开都会消耗文件描述符,所以在运维过程中我们要调整下文件描述符的数量,表示形式为整数数字(——65535)。
查看默认文件描述符:ulimit –n ###一般默认为1024
在/etc/sercurity/limits.conf里面配置:
echo '* - nofile 65535' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
第七点:定时自动清理邮件目录垃圾文件
防止inodes节点被占满。
第八点:精简并保留必要的开机自启动服务
(1)只保留重要的基础服务,其余全部关闭
chkconfig --list|egrep -v "sysstat|crond|sshd|network|rsyslog"|awk '{print "chkconfig "$1,"off"}'|bash
(2)确认配置:chkconfig --list|grep 3:on
第八点:优化Linux内核参数
(1)配置文件/etc/sysctl.conf,添加如下命令(可直接复制粘贴)
cat >>/etc/sysctl.conf< 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 EOF (2)配置生效命令:sysctl -p 第九点:配置字符集 (1)查看配置文件:cat /etc/sysconfig/i18n 里面默认应该有以下2行内容: LANG="en_US.UTF-8" ###默认提示为英文 (2)先备份配置文件:cp /etc/sysconfig/i18n{,.back} (3)修改配置文件: 说明:此项可将字符集修改为中文,也可不做修改。 echo 'LANG="zn_CN.UTF-8"' > /etc/sysconfig/i18n echo 'SYSFONT="latarcyrheb-sun16"' >> /etc/sysconfig/i18n (4)配置生效:source /etc/sysconfig/i18n (5)确认配置是否成功:echo $LANG 第十点:锁定关键性系统文件,防止被篡改 配置命令: chattr +i /etc/{passwd,shadow,group,gshadow} lsattr -a /etc/{passwd,shadow,group,gshadow} 解除锁定命令:chattr -i 第十一点:禁止系统被ping 配置命令:echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf 配置生效命令:sysctl -p 第十二点:升级漏洞软件 查看相关软件的版本号:rpm -qa openssl openssh bash 执行升级:yum install openssl openssh bash 第十三点:优化SSH远程连接 (1)先备份配置文件:cp /etc/ssh/sshd_config{,.back} (2)编辑ssh服务配置文件 编辑ssh服务的配置文件(vim /etc/ssh/sshd_config),在第12行下面添加如下内容: Port 52113 #使用大于10000的端口号 PermitRootLogin no #禁止root远程登录 PermitEmptyPasswords no #禁止空密码登录 UseDNS no #不使用dns解析 GSSAPIAuthentication no #连接慢的解决配置 (3)确认配置:grep -A 5 -i 'Start by
新的用户名' /etc/ssh/sshd_config (4)重启ssh服务:/etc/init.d/sshd restart (5)确认配置是否成功:netstat -lntup | grep ssh 以上是“Linux基础优化与安全归纳的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
当前标题:Linux基础优化与安全归纳的示例分析
分享链接:http://ybzwz.com/article/jpccjc.html