最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
pkill -9 -t pts/0
8.配置firewalld防火墙仅开启
firewall-cmd —zone=public —add-port=22/tcp —permanent
firewall-cmd —zone=public —add-port=443/tcp —permanent firewall-cmd —zone=public —add-port=80/tcp —permanent
firewall-cmd —reload
Centos7检查的项目如下:
01 初始设置
1.1 文件系统配置:
将/tmp挂载至一个单独的分区
挂载时指定noexec,nosuid:不允许运行可执行文件
1.2 安全启动设置:
设置bootloader的配置文件的权限为600
设置bootloader的密码:进入引导界面需输入密码
为单用户启动认证机制
1.3 强制访问控制:
安装SELinux
设置SELinux的状态为enforcing
设置SELinux的policy为targeted
02 服务配置
2.1 时间同步设置:
开启时间同步服务
使用ntp或chrony来统一服务器的时间
不安装X-windows系统:即不使用可视化界面
03 网络配置
3.1 hosts设置:
配置/etc/hosts.allow与/etc/hosts.deny文件
配置/etc/hosts.allow与/etc/hosts.deny文件的权限为0644
配置/etc/hosts.allow与/etc/hosts.deny文件的属主为root
3.2 防火墙配置
安装iptables
设置各个Chain的默认策略为drop
04 审计设置
安装并使用auditd
配置记录审计日志的文件大小:8M
配置记录审计日志的文件个数:5
单个审计日志文件大小达到设定的值时触发的动作为:keep_logs/rotate
磁盘空间满后触发的动作为:rotate
auditd需配置的一些规则:
规则:审计更改日期和时间的操作
规则:审计更改用户/组信息的操作
规则:审计更改系统网络环境的操作
规则:审计更改系统强制访问控制的操作
规则:审计登入登出系统的事件
规则:审计企图改变文件权限的操作
规则:审计未授权情况下企图访问文件未成功的事件
规则:审计使用提权命令的操作
规则:审计删除文件的操作????
规则:审计sudoers文件的变更
规则:审计sudoers日志文件的变更????
规则:审计日志文件audit.log不能被改变
05 日志设置
安装并启用`rsyslog`
06 认证授权
6.1 配置cron:
开启cron服务
配置 /etc/crontab,/etc/cron.hourly,/etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly,//etc/cron.d文件的权限为0700
设置cron.allow:只允许特定的用户可以使用cron
6.2 配置SSH:
配置/etc/ssh/sshd_config文件的权限为0600
关闭X11Forwarding
设置最大认证尝试次数:4
开启IgnoreRhosts:不启用基于主机的认证
关闭HostbasedAuthentication: 关闭基于主机的认证
禁止使用root直接登录:PermitRootLogin no
禁止使用空密码登录:PermitEmptyPasswords no
禁止用户环境:PermitUserEnvironment no
设置使用的MAC算法:
hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com,curve25519sha256@libssh.org,diffie-hellman-group-exchange-sha256
设置空闲超时时间:180秒ClientAliveInterval 180
设置一次登录花费时间:120秒LoginGraceTime 120
6.3 配置PAM:
密码长度最少位数:12
密码中最少字符类型数:3
配置密码锁定:????
配置密码重用限制:不使用最近5次的密码
配置密码hash算法:SHA512
6.4 用户账户和环境设置:
密码有效时间:90天
密码更改最短间隔:7天
密码过期警告:7天
自动禁用特定时间内没有活动的账号:365天
配置系统账号的无法登录
配置root账号默认群组的GID为0
配置umask的默认值为027???
配置shell超时关闭会话时间:180
配置可以使用su命令的用户
07 系统维护
7.1 重要文件权限:
/etc/passwd 0644 uid 0 gid 0
/etc/shadow 0000 uid 0 gid 0
/etc/group 0644 uid 0 gid 0
/etc/gshadow 0000 uid 0 gid 0
/etc/passwd- 0644 uid 0 gid 0
/etc/shadow- 0000 uid 0 gid 0
/etc/group- 0644 uid 0 gid 0
/etc/gshadow- 0000 uid 0 gid 0
审计设置了SUID可执行文件的完整性 前面
审计设置了SGID的可执行文件的完整性
7.2 用户和组设置:
不允许密码为空的账号
只允许root账号的UID为0
设置path环境变量中的目录只有owner可写,group及other都没有w的权限
设置所有用户都有家目录
设置所有用户家目录的权限为0750
设置所有用户家目录的owner都为其自身
设置用户家目录内以.开头的文件,只有owner可写,group及other都没有w的权限
确保没有.netrc,.rhosts,.forward文件
确保所有在/etc/passwd中的组都在/etc/group
确保每个用户的UID都不同
确保每个组的GID都不同
确保用户名唯一
确保组名唯一
Windows Server加固
1.修改3389端口
3389端口是windows server 远程桌面的服务端口,可以通过这个端口进行远程桌面连接。对于系统安全来讲这是个安全隐患,在既不影响办公又不影响安全的前提下,我们采取修改3389端口的方法加固系统。
单击【开始】—-【运行】,输入regedit,打开注册表后,单击进入以下路径:【HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\control\TerminalServer\wds\rdpwd\Tds\tcp】在右边找到PortNumber值,默认为3389,选择十进制,改为5433.见下图:
按照路径找到PortNumber:
修改PortNumber的值:
再次打开注册表,找到以下路径:
【HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\control\TerminalServer\WinStations\RDP-Tcp】,在右边找到PortNumber的值(默认为3389),选择十进制,改为5433,需要注意的是两处的端口号要一致。操作如下:
找到RDP-Tcp,如图:
修改PortNumber值,如图:
重启计算机
查看实验情况,如图:3389端口已被修改
启用3389端口连接失败,如图:
启用5433端口连接成功,如图:
2.设置安全策略,不允许SAM帐户的匿名枚举,不允许SAM帐户和共享的匿名枚举
选择“开始菜单”的“管理工具”的“域安全策略”
在域安全策略界面上双击“本地策略”的“安全选项”中“不允许SAM账户的匿名枚举”
则会出现“不允许sam账户的匿名枚举的属性”的对话框,勾选“启用”单选框
3.在组策略中设置阻止访问注册表编辑工具
在“运行”输入“gpedit.msc”字符,则进入“组策略”的界面
在组策略的界面中双击“用户配置”的“管理模板”的“系统”的“阻止访问注册表编辑工具”
会出现“阻止访问注册表编辑工具的属性”界面,勾选“已启用”单选框
4.开启审核对象访问,成功与失败;开启审核目录服务访问,成功与失败;开启审核系统事件,成功与失败
在本地策略的“审核策略”的界面双击“审核对象访问”
则会出现“审核对象访问属性”的界面,在界面勾选成功和失败的复选框
在本地策略的“审核策略”的界面双击“审核登录事件”则会出现“审核登录事件 属性”的界面,在界面勾选成功和失败的复选框
5.禁止445端口漏洞
选择“网络连接”中的“本地连接”,在本地连接界面中把“microsoft网络的文件和打印机共享”的单选框勾掉
6.设置屏幕保护在恢复时使用密码保护
在桌面上右击选择“属性”按钮,则会出现“属性”的对话框,在界面中点击“屏幕保护程序”勾选“在恢复时使用密码保护”
7.设置windows密码策略:使密码必须满足复杂性,设置密码长度最小值为8位,设置密码最长存留期为30天。
在“本地安全策略”的“密码策略”界面上双击“密码最长使用期限”,则会出现属性,在属性中输入“30”
在“本地安全策略”的“密码策略”界面上双击“密码必须符合复杂性要求”,则会出现属性,在属性中勾选“已启用”
在“本地安全策略”的“密码策略”界面上双击“密码长度最小值”,则会出现属性,在属性中输入“8”
8.设置复位帐户锁定计数器为30分钟之后,设置帐户锁定时间为30分钟,设置帐户锁定阀值为6次无效登录。
在“开始菜单”中“管理工具”的“域安全策略
在域安全策略的界面双击 “账户锁定策略”的“复位账户锁定计时器,则会出现“复位账户锁定计时器的属性”输入“30”即可
在域安全策略的界面双击 “账户锁定策略”的“账户锁定时间”,则会出现“账户锁定时间”输入“30”即可
在域安全策略的界面双击 “账户锁定策略”的“账户锁定阈值”,则会出现“账户锁定时间阈值的属性”输入“6”即可
9.开启Windows防火墙,关闭ping服务,打开3389、80等服务
在windows 防火墙的界面上,勾选“开启”选框
在windows 防火墙界面上点击“高级”按钮,点击“icmp的设置”按钮,出现的设置界面不进行选择即可。
在windows 防火墙点击“例外”按钮则会出现例外的界面,勾选“http”和“远程桌面”最后点击“确定”按钮
10.关闭系统默认共享
系统默认共享功能给人们提供便利的同时也给系统安全带来风险,为了避免系统造成不必要的安全隐患,所以需要通过必要手段管理系统默认共享功能。
右击我的电脑——>管理——>服务和应用程序——>服务——>server——>禁用server服务,如图:
server被停用,如图:
扩展
账户策略
01 账户策略
1.1 密码策略
[+]确保强制密码历史值为5或更高
PasswordHistorySize=5
[+]确保密码最长使用期限值为90天或更少,但不为0
MaximumPasswordAge=90
[+]确保密码最短使用期限值为1或更多
MinimumPasswordAge=1
[+]确保密码必须符合复杂性要求值为enabled
PasswordComplexity=1
[+]确保用可还原的加密来存储密码值为Disabled
ClearTextPassword=0
[+]确保密码长度最小值值为8或更高
MinimumPasswordLength=8
1.2 账户锁定策略
[+]确保账户锁定时间值为15分钟或更长
LockoutDuration=15
[+]确保账户锁定阈值值为5或更少,但不为0
LockoutBadCount=5
[+]确保重置账户锁定计数器值为15分钟或更多,但值要小于Account lockout duration的值
ResetLockoutCount=15
02 审计策略
[+]审核策略更改:成功
AuditPolicyChange
为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**
![](https://img-blog.csdnimg.cn/img_convert/79419ff49b67ec9cd00731affc5b368f.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密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
么选择?
> 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密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**