linux系统安全加固
版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明。
本文地址:https://www.cnblogs.com/wannengachao/p/12068256.html
1、文件上 i 锁:
## 上锁后所有用户包括root用户都将无法对此文件进行删除、cp、mv,若想进行操作需先解锁
上锁:
chattr +i 文件名字
递归上锁 chattr -R +i 文件名字
## 当用户文件(etc/passwd、/etc/shadow)被上锁后是无法修改用户密码的,需要解锁后修改,否则修改密码时会报错:验证错误
验证是否上锁:
lsattr 文件名字 显示i为上锁状态
lsattr -R 文件名字 递归验证
解锁:
chattr -i 文件明
chattr -R -i 文件名 递归解锁
2、ssh黑白名单
白名单:/etc/hosts.allow
vi /etc/hosts.allow
sshd:196.13.2.25 #允许此IP登陆访问
sshd:8. #允许IP为8开头的所有服务器
黑名单:/etc/hosts.deny
vi /etc/hosts.deny
sshd:196.13.2.25 # 拒绝此IP
sshd:all # 拒绝全部
3、修改ssh端口
修改vi /etc/ssh/sshd_config文件
修改内容:#Port 22
将#删除 修改22为其它端口
4、限制登陆失败次数
防止暴力破解密码
修改 /etc/pam.d/sshd 文件,文件增加内容:
auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time600
表示当密码输入错误达到3次,就锁定用户150秒,如果root用户输入密码错误达到3次,锁定600秒。锁定后即使密码输入正确也无法登陆
### 可使用命令 pam_tally2 查看所有当前因失败次数达到限制被锁定的用户
### pam_tally2 --reset -u $username 将被锁定的用户解锁,$username写为想要解锁的用户
5、限制用户登陆
vi /etc/hosts.deny,若禁止192.168.10.19对服务器进行ssh的登陆,添加如下内容:
sshd : 192.168.0.1
6、文件目录权限
用户登陆中重要的三个文件:
/etc/shadow 只有root可读 –r-------- 权限值为400
/etc/passwd 必须设置为所有用户可读,root用户可写 –rw-r—r— 权限值为644
/etc/group 必须设置为所有用户可读,root用户可写 –rw-r—r— 权限值为644
7、设置密码策略
修改 /etc/login.defs 配置文件
PASS_MAX_DAYS 70 密码最长有效期
PASS_MIN_DAYS 5 密码修改之间最小的天数
PASS_MIN_LEN 8 密码长度
PASS_WARN_AGE 4 口令失效前多少天开始通知用户修改密码
8、用户缺省权限控制
修改 /etc/profile
在文件末尾增加一条行:umask027
umask值应为027或更小权限
9、预防Flood攻击
在/etc/sysctl.conf文件中添加 net.ipv4.tcp_syncookies = 1
10、禁止root用户远程登陆
修改vi /etc/ssh/sshd_config文件
修改内容:#PermitRootLogin yes
将#删除 将yes改为no,ssh默认是允许root用户远程登陆,改为no禁止使用root远程登陆
11、禁ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 开启禁ping
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 关闭禁ping
禁ping后如果此服务器上有dns服务,域名也会被禁ping。