【应急响应】Linux安全加固
一、补丁管理
1、查看系统信息
uname -a
2、配置yun源
CentosOS 可以直接升级
RHEL系列可以配置使用CentosOS源
3、升级软件包
yum –y update
二、安全工具
三、日志审计
1、操作日志系统
2、相关命令
who
last
1
四、内核参数
1、内核参数
vi /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcasts = #忽略ICMP广播
net.ipv4.icmp_echo_ignore_all = #忽略ICMP echo请求
net.ipv4.ip_default_ttl = #修改TTL为128
#sysctl -p
2、开启syncookies
编辑/etc/sysctl.conf文件
添加
net.ipv4.tcp_syncookies =
net.ipv4.tcp_max_syn_backlog =
net.ipv4.tcp_fin_timeout =
net.ipv4.tcp_synack_retries =
然后运行
sysctl -p
五、网络服务
1、SSH安全配置
(1)禁止root登录
PermitRootLogin no
(2)绑定端口、协议和IP地址
Port
Protocol
ListenAddress 192.168.1.1
(3)允许密码错误次数
MaxAuthTries=
2、配置tcp_wrappers,限制允许远程登陆系统的IP范围
编辑/etc/hosts.deny
添加sshd:ALL
编辑/etc/hosts.allow
添加sshd:192.168.0.0/255.255.255.0
六、账号管理
1、密码文件passwd
cat /etc/passwd
2、密码文件shadow
cat /etc/shadow
3、用户管理
添加/删除组
groupadd、groupdel 添加/删除用户
useradd、userdel 锁定/解锁用户
passwd -l、passwd -u
4、空密码用户
(1)禁止root远程登录,只允许特定用户SSH登录
编辑/etc/ssh/sshd_config,添加
AllowUsers user1 user2
PermitRootLogin no
(2)只允许特定的用户组执行su获得root权限
编辑/etc/pam.d/su文件,将一下代码的注释符去掉
#auth required pam_wheel.so use_uid
5、口令强度检查
--retry=N:修改密码时,出现错误的次数
--minlen=N:密码最少字符数
--dcredit=N:至少有N个数字
--ucredit=N:至少有N个大写字符
--lcredit=N:至少有N个小写字符
--ocredit=N:至少有N个其他字符
编辑/etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=
6、口令生存周期
vi /etc/login.defs
PASS_MAX_DAYS
PASS_WARN_AGE
7、认证失败后锁定
编辑/etc/pam.d/system-auth文件,在auth required pam_env.so 后面添加
auth required pam_tally.so onerr=fail deny= unlock_time=
8、禁止空密码用户登录
编辑/etc/pam.d/system-auth文件
auth sufficient pam_unix.so nullok try_first_pass
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
七、文件权限
1、文件权限
ls -l /etc
格式:权限(属主,属组,其他)链接数 属主 属组 大小 最近修改时间 文件名
修改权限和属主:
# chmod u+x,g+w,o+r /tmp/abc
# chown test:test /tmp/abc
2、SetUID
ls -l /bin/ping
(1)设置SetUID
# chmod u+s /tmp/abc
# ls -l /tmp/abc
(2)查找SetUID文件
find / -perm - -type f -print
(3)文件系统属性
lsattr install.log
根据不同的标志位设置不同的权限
lsattr 列出文件属性
chattr 修改文件属性
chattr +i install.log
3、文件系统属性
文件系统属性
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日文件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过mount参数:data=ordered或data=writeback 挂载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.
4、完整性检查
(1)md5sum
#cat record.sh
md5sum /etc/shadow >>md5.txt
md5sum /bin/ls >>md5.txt
md5sum /bin/netstat >>md5.txt
#cat md5.txt
e3faf4e266e8062b62357eb944a718f0 /etc/shadow
e3faf4e266e8062b62357eb944a718f0 /etc/shadow
4feb28d49aeb1c51fb827c7733ebf436 /bin/ls
a3939f9a264880611f2ac7f255e339c6 /bin/netstat
#md5sum -c md5.txt
/etc/shadow: 确定
/etc/shadow: 确定
/bin/ls: 确定
/bin/netstat: 确定
5、设置Bash保留历史命令的条数
vi /etc/profile
HISTSIZE=
HISTFILESIZE=
6、设置登录超时
vi /etc/profile
TMOUT=
7、设置root用户的umask为077
编辑/root/.bash_profil
添加umask
8、防止误使用Ctrl+Alt+Del重启系统
vi /etc/inittab
注释:ca::ctrlaltdel:/sbin/shutdown -r -t now
111
最新文章
- salesforce 零基础学习(五十四)常见异常友好消息提示
- 用C#开发的双色球走势图(二)
- iOS8 推送注册方式改变的问题
- 树莓派 不稳定 ssh经常断 解决
- mongo批量更新
- Linux网络地址转换分析
- 你真的了解 console 吗
- for循环之后的return
- Mysql --创建用户和授权,备份
- [03] 线程同步 synchronized
- 网络设备监控-Catic添加H3C的监控图解
- icpc2018-焦作-F Honeycomb bfs
- git 的安装及使用
- 云栖大会上宣布即将开源的手淘Atlas什么来头?
- 动态规划-击爆气球 Burst Balloons
- (转)C# Delegate.Invoke、Delegate.BeginInvoke
- 用python生成器实现杨辉三角
- spring boot几个初始配置文件
- windows平台下Android studio开发环境搭建教程
- 关于Sql注入的那些事