重置登录失败
pam_tally2 --user hello --reset
### 设置关键目录的权限
目的:在设备权限配置能力内,根据用户的企业需要,配置其所需的最小权限,以减少非法访问的可能性。
更改账户组文件的权限设置
chmod 644 /etc/passwd
chmod 600 /etc/shadow
chmod 644 /etc/group
去除多余的写入操作,例如
chmod -R go-w /etc
### 修改umask值
目的:修改创建文件或目录时的默认权限,防止属于该组的其他用户级别组的用户修改该用户的文件。
修改启动脚本文件
/etc/profile
/etc/csh.login
/etc/csh.cshrc
/etc/bashrc
在文件末尾加入umask值
umask 027
### 限制硬件资源
目的:限制用户对系统资源的使用,减缓DDOS等攻击危害。
1.修改限制文件
vim /etc/security/limits.conf
加入如下内容
- soft core 0
- hard core 0
- hard rss 5000
- hard nproc 20
* soft nproc 4096 # 所有的用户默认可以打开最大的进程数为 4096
root soft nproc unlimited # root 用户默认可以打开最大的进程数 无限制的。
2.修改pam的本地登录文件
vim /etc/pam.d/login
在文件末尾加入信息
session required /lib64/security/pam_limits.so
3.日常收集进程数使用
ps aux |grep httpd |wc -l
### 对用户使用ls、rm设置别名
目的:让ls随时看清文件属性,让rm需要确认后删除目标实施方法
1.修改当前用户的登录启动脚本
vim ~/.bashrc
追加别名命令
alias ls=“ls -alh”
alias rm=“rm -i”
### 禁止任何人su至root账户
目的:避免任何人使用su切换到root,减少提权风险
1.修改su的配置文件
vim /etc/pam.d/su
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so group=wheel
2.如果需要su切换,将用户加入wheel组
usermod -g wheel luobo
### 去掉所有人SUID和SGID
目的:防止被利用提权
查找具有SUID和SGID的对象
find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -1g {} ;
chmod ugo-s file
### 对开放目录设置粘滞位
目的:允许小规模开放目录,用户作为暂存目录使用
为/tmp目录添加粘滞位
chmod +t /tmp/
我们都知道,/tmp常被我们用来存放临时文件,是所有用户。但是我们不希望别的用户随随便便的就删除了自己的文件,于是便有了粘连位,它的作用便是让用户只能删除属于自己的文件。
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件。
### 启用日志记录功能,使用日志服务器
目的:增加审计记录,分布保存日志
机器准备:
| 主机名 | IP |
| --- | --- |
| node01 | 10.0.1.110 |
| log(日志服务器) | 10.0.1.111 |
node01操作:
1.修改应用服务器日志配置文件
vim /etc/rsyslog.conf
确认关键日志审计是否存在
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
添加两行转发日志信息
.info;mail.none;authpriv.none;cron.none @10.0.1.111
authpriv. @@10.0.1.111
注释:
@:使用tcp协议
10.0.1.111:把日志内容写入到10.0.1.111机器上
@@:协议udp协议
2.重启rsyslog
systemctl restart rsyslog.service
log(日志服务器):开启配置文件
1.修改应用服务器日志配置文件
vim /etc/rsyslog.conf
15 $ModLoad imudp
16 $UDPServerRun 514
19 $ModLoad imtcp
20 $InputTCPServerRun 514
22 t e m p l a t e R e m o t e , " / v a r / l o g / template Remote,"/var/log/% templateRemote,"/var/log/YEAR%-% M O N T H MONTH%-% MONTHDAY%/%fromhost-ip%.log"
47 #### RULES ####
48 :fromhost-ip, !isequal, “127.0.0.1” ?Remote
49 & stop
2.重启rsyslog
systemctl restart rsyslog.service
3.查看日志是否有时间段的目录,有了则成功
ls /var/log
4.日志服务器实时查看日志,在客户机器输入 logger luobo
tail -f /var/log/2023-05-31/10.0.1.110.log
### 重要日志权限不应该高于640
防止日志泄露敏感信息
ls -la /var/log/
chmod -R 640 /var/log
### 设置关键文件底层属性
目的:增强关键文件的底层属性,降低篡改风险
1.修改关键文件的日志和底层属性
chattr +a /var/log/messages
chattr +i /etc/shadow
chattr +i /etc/passwd
chattr +i /etc/group
不只限于上述文件,可用lsattr查看更改结果
## 通信协议⭐
### 关闭非加密远程管理telnet
目的:降低被抓包后获取系统关键信息
vim /etc/xinetd.d/telnet
disable=yes
### 使用加密的远程管理
目的:使用安全套接字层加密传输信息,避免被侦听敏感信息。
1.修改sshd配置文件
vim /etc/ssh/sshd_config
更改默认端口
Port 2020
禁止root远程登录
PermitRootLogin no
开启v2版本
Protocol 2
2.重启sshd服务
systemctl restart sshd.service
### 设置访问控制列表
设置访问控制白名单,减少被入侵的风险
修改拒绝策略
vim /etc/hosts.deny
ALL:ALL
修改允许策略
vim /etc/hosts.allow
sshd:来访者IP地址
sshd:10.0.1.110
sshd:10.0.1.111
### 固化常用DNS解析
目的:降低被DNS劫持的可能性
修改hosts文件
vim /etc/hosts
加入解析信息
61.59.123.22 www.baidu.com
访问IP 服务器域名
### 打开syncookie
目的:缓解syn flood攻击
1.修改系统控制文件
vim /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
2.配置生效
sysctl -p
### 不响应ICMP请求
大白话理解:你能ping通别人,别人ping不通你。
目的:不对ICMP请求作出响应,避免泄露信息
1.修改网络策略布尔值
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
2.配置生效
sysctl -p
### 禁止处理无源路由
目的:防止被无源数据包利用
1.检查是否开启了路由功能
sysctl -n net.ipv4.conf.all.accept_source_route
2.禁止路由
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
### 防御syn flood攻击优化
目的:修改半连接上线,缓解syn flood攻击
1.查询当前半连接上限
sysctl net.ipv4.tcp_max_syn_backlog
2.修改半连接上限
sysctl -w net.ipv4.tcp_max_syn_backlog=“2048”
### FTP使用黑白名单限制
目的:防止非法账户访问ftp
1.检查黑名单文件是否包含高危账户
cat /etc/vsftp/ftpusers
黑名单用户
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
2.使用白名单文件
cat /etc/user_list
cat /etc/vsftpd/vsftpd.conf
配置文件中是否存在
userlist_deny=NO
userlist_enable=YES
### FTP设置上传文件后的默认权限
目的:防止被上传执行脚本
检查主配置文件 /etc/vsftpd/vsftpd.conf是否存在如下内容
cat /etc/vsftpd/vsftpd.conf
write_enable=YES
local_umask=022
anon_umask=022
### FTP设置banner信息
目的:防止泄露服务信息
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/3d6b9f3ccb6a3a982b52c1b84f0c001e.png)
![img](https://img-blog.csdnimg.cn/img_convert/ce76244432c331d7a617de576f6efa43.png)
![img](https://img-blog.csdnimg.cn/img_convert/19a49e42e206e57ea00b2c549b1fc728.png)
![img](https://img-blog.csdnimg.cn/img_convert/167b778baaef69bde06abf4b88a31bbe.png)
![img](https://img-blog.csdnimg.cn/img_convert/5d125ee4ccaea31b2ca3fb01f8931084.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/99bf6347d72b562e9e0934787ea40d54.jpeg)
为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**
![](https://img-blog.csdnimg.cn/img_convert/00240d0fc311d44a40be0ac87e56aa20.png)
本份面试集锦涵盖了
* **174 道运维工程师面试题**
* **128道k8s面试题**
* **108道shell脚本面试题**
* **200道Linux面试题**
* **51道docker面试题**
* **35道Jenkis面试题**
* **78道MongoDB面试题**
* **17道ansible面试题**
* **60道dubbo面试题**
* **53道kafka面试**
* **18道mysql面试题**
* **40道nginx面试题**
* **77道redis面试题**
* **28道zookeeper**
**总计 1000+ 道面试题, 内容 又全含金量又高**
* **174道运维工程师面试题**
> 1、什么是运维?
> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
> 3、现在给你三百台服务器,你怎么对他们进行管理?
> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点
> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
> 7、Tomcat和Resin有什么区别,工作中你怎么选择?
> 8、什么是中间件?什么是jdk?
> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/a2fa06ae3950416aae5da30426b281b8.jpeg)
的工作原理及特点
> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
> 7、Tomcat和Resin有什么区别,工作中你怎么选择?
> 8、什么是中间件?什么是jdk?
> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-7JHNWrGf-1712519286590)]