1inux系统优化及安全设置
1inux系统优化及安全设置
linux系统基础优化小结:
1、调整yum安装源
2、关闭selinux
3、关闭iptables
4、精简开机自启动服务
5、配置时间同步
6、内核调整
7、调整字符集
8、调整历史记录以及终端超时
9、增加用户,使用普通用户登录。
10、调整文件描述符
11、锁定关键文件
12、隐藏系统登录信息,设置提示信息。
13、更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP。
14、定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满
15、为grub引导菜单加密码。
16、禁止主机被ping。
17、打补丁并升级有已知漏洞的软件。
一、 增加用户,使用普通用户登录
1.管理系统前先查linux系统版本,内核等信息
cat /etc/redhat-release 查系统版本信息
uname -r 内核的版本
uname-m 32位还是64位
uname-a 显示所有
uname-n 显示主机名
2. useradd SXL 添加用户账号
tail -l /etc/passwd 查看生成的记录
3.passwd SXL 设置,修改密码 只输passwd 当前用户
用echo一条命令改密码
4.su - SXL 由root用户切换到普通用户
su 和su - 的区别 老师的博客
5.whoami 查看用户名
6.hostname 显示设置主机名 设置主机名可以用hostname名字(临时生效)
$ 是普通用户的提示符 #是root用户的提示符
二、 调整yum安装源
使用阿里云做yum(软件仓库)源 查找
先备份,然后执行命令。
1.阿里云备份#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
命令#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
2.#mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
#mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
#
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
#yum makecache
常用yum安装的软件:
#yum -y install tree nmap sysstat lrzsz dos2unix telnet
先装这两个:yum install -y tree lrzsz
.yum grouplist 补丁,查看可能批量安装的列表
[root@oldgirl ~]# yum groupinstall "NFS file server" "Guest Agents" -y 打补丁,装没有的包
给系统更新到最新版 yum update或yum upgrade 已有生产应用的系统,升级要慎重,新的可以更新,
一切生产的应用变更的时候,都要先在测试环境下测试好,测试环境要和正式环境,尽可能软件方面一模一样。
三、关闭selinux(强制访问控制)
1种方法,查看,然后vi进入编辑状态,将SELINUX改为disabied,保存生效。
2种方法,用sed ,修改配置文件,使其永久生效,如果数据重要可以先cp备份
修改好,要使配置文件生效
setenforce 0 (用于命令管理级别,数字表示设置对应的级别),不用立刻重启系统,生产环境下linux系统不能随意重启
getenforce 查看SElinux当前级别状态
四、关闭iptables防火墙
企业环境中,一般只有配置外网的ip的linux服务器才需要开启防火墙,但即使有外网IP,高并发高流量的服务器仍然不能开启防火墙,开启后会有较大的性能损失,影响速度,这种情况下只能装硬件防火墙。
1.
start 开启防火墙,让他现在运行。关闭时重复执行,确认关闭。
查看状态:[root@oldgirl ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
2.以后都不在开启
查询chkconfig --list|grep ipt ,确认关闭
五、设定运行级别
linux 一共七个运行级别
查看运行级别:
0 关机
1 单用户状态,root权限,用于系统维护,禁止远程登录。
2 没有NFS的多用户模式
3 完整的多用户模式,登录后进入控制台命令行模式
4 保留的,系统没有使用
5 带桌面的模式 X11平台
6 重启
runlevel 查看当前运行级别
init 切换运行级别
六、配置时间同步
linux时间同步为ntp服务
date 查看设置时间 which ntpdate 查找地址
设置时间同步
[root@oldboy ~]# echo '#time sync by oldboy at 2010-2-1' >>/var/spool/cron/root
[root@oldboy ~]# echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root
[root@oldboy ~]# tail -2 /var/spool/cron/root
#time sync by oldboy at 2010-2-1
*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
[root@oldboy ~]# crontab -l
#time sync by oldboy at 2010-2-1
*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
查询crontab -1
七、调整字符集
简单的说,字符集就是一套文字符号及其编码。目前Linux下常用的字符集有:
q GBK:定长,双字节,不是国际标准,支持的系统不少,实际企业用的不多。
q UTF-8:非定长,1~4字节,广泛支持,MYSQL也使用UTF-8,企业广泛使用
1.永久生效
2.临时的
[root@oldboy ~]# cat /etc/sysconfig/i18n
#LANG="en_US.UTF-8"
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@oldboy ~]# echo $LANG
en
[root@oldboy ~]# source /etc/sysconfig/i18n
[root@oldboy ~]# echo $LANG
zh_CN.UTF-8
八、调整历史记录以及终端超时
1.临时生效:
(1)设置账号超时时间:export TMOUT=3 #3秒之后,没有任何输入,则自动退出。提示:timed out waiting for input: auto-logout
(2)设置命令行: export HISTSIZE=5
#history size命令行历史记录数量
(3)命令行命令对应的历史记录文件:export HISTFILESIZE=5
记录文件中命令数 ~/.bash_history
查看cat ~/.bash_history
2.永久生效:
例如:echo ‘export TMOUT=3 ’>>/etc/profile
tail -1 /etc/profile(查看显示最后一行)
source /etc/profile(配置文件永久生效)
3. history 历史记录 history -c 清空历史记录 -d 指定记录清空
九、调整文件描述符数量
查看文件描述符: ulimit -n 有限范围0到无限大
十、内核调整优化
cat /etc/sysctl.conf
内核基础优化: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
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
sysctl -p
十一、隐藏系统登录信息,设置提示信息
隐藏内核版本提示
[root@oldboy ~]# > /etc/issue
[root@oldboy ~]# cat /etc/issue
[root@oldboy ~]# > /etc/issue.net
想要提示 例如:
vim编写,设置提示信息
[root@oldboy ~]# echo "Welcome to oldboy training." >/etc/motd
[root@oldboy ~]# cat /etc/motd
Welcome to oldboy training.
十二、锁定关键系统文件,防止被提权篡改锁定
chattr 更改文件属性(-i ,-a)
1.上锁:chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
查看:
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
解锁:-i
2.想要更安全:
可以把chattr改名转移。mv /usr/bin/chattr /usr/bin/oldboy1
解锁时需用oldboy1 -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
十三、精简开机自启动服务
必要保留的开启自启动服务五个:
sshd rsysiog network crond sysstart
chkconfig --list #列出所有的系统服务
法一:ntsysv ,窗口设置
setup命令 system service
查看:chkconfig --list|grep 3:on
2.操作命令chkconfig --list|grep 3:on|grep -vE “sshd |rsysiog |network |crond |ysstart
”|awk '{print " chkconfig " "$1" off "}'|bash
十四、定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满
十五、清除多余的系统虚拟账号
十六、为Grup引导菜单加密码
十七、禁止主机被ping
二八、打补丁并升级有已知漏洞的软件
十九、linux系统安全最小化说明
二十、更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至更改SSH服务只监听内网IP
##重要路径
运维思想最小化原则
1、安装Linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装。
2、开机启动服务最下化,即无用的服务不开启。
3、操作命令最小化。例如:用rm -f test.txt而不用rm -rf test.txt。
4、登录Linux用户最小化。平时没有需求不用root登录,用普通用户登录即可。
5、普通用户授权权限最小化,即只给必须的管理系统的命令。
6、Linux系统文件目录的权限设置最小化,禁止随意创建、更改、删除文件
7、程序服务运行最小化,即程序服务运行应尽量不用root身份运行
网络状态说明及优化命令和优化细节参考资料请看:
http://yangrong.blog.51cto.com/6945369/1321594 ç老男孩教育的优秀学生博文
http://oldboy.blog.51cto.com/2561410/1336488
本文来自博客园,作者:IT老登,转载请注明原文链接:https://www.cnblogs.com/nb-blog/p/5842635.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)