版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明。

本文地址:https://www.cnblogs.com/wannengachao/p/12068256.html

1、文件上 i 锁:

## 上锁后所有用户包括root用户都将无法对此文件进行删除、cp、mv,若想进行操作需先解锁

上锁:

chattr +i 文件名字

递归上锁 chattr -R +i 文件名字

linux系统安全加固-LMLPHP

 ## 当用户文件(etc/passwd、/etc/shadow)被上锁后是无法修改用户密码的,需要解锁后修改,否则修改密码时会报错:验证错误

验证是否上锁

lsattr 文件名字  显示i为上锁状态

lsattr -R 文件名字 递归验证

linux系统安全加固-LMLPHP

 解锁:

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

linux系统安全加固-LMLPHP

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。

05-18 16:20