首页 > 代码库 > 安全加固
安全加固
一.定期更改用户的密码.定义密码不能使用简单密码.
要求密码一定要由字母,数字和字符构成,密码长度一定要超过X位.
定期更改用户的密码:需要更改密码的最大有效期.PASS_MAX_DAYS
可以更改用户的模板/etc/login.defs .PASS_MAX_DAYS 99999
用户登陆限制,密码要求:修改文档/etc/pam.d/system.auth 配置文档如下
auth required pam_env.so
#限定每一个用户的登录失败次数,如果失败次数达到3次,则锁定用户10分钟
auth required pam_tally2.so per_user deny=3 unlock_time=10#
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
#设置密码复杂程度. minlen=x(最小密码长度) ucredit=-x(最少x个大写字母) lcredit=-x(最少x个小写字母) dcredit=-x (最少x个数字) ocredit=-x (最少X个特殊字符)
password requisite pam_cracklib.so try_first_pass retry=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
二.对局域网远程主机访问采用SSH 的加密登陆方式
设置ssh通过密钥的方式登陆.
在客户端里面输入命令:ssh-keygen -t rsa(全部回车)
以不同的用户创建密钥对.就会在系统用户的家目录下的.ssh/
ls /root/.ssh/
id_rsa 私钥
id_rsa.pub 公钥ssh-copy-id root@192.168.1.101
将密钥对中的公钥id_rsa.pub上传到指定的服务器上。上传后会自动更名为authorized_keys
ps:
ssh-copy-id不支持非22号端口,如果已改变ssh端口,可临时改回默认,上传完公钥后再改成特殊端口,不会产生影响。又或者使用scp或rsync的文件上传功能替换ssh-copy-id。示例如下:
scp -P 8778 .ssh/id_rsa.pub root@192.168.1.101:/root/.ssh/authorized_keys
vim /etc/ssh/sshd_config
#RSAAuthentication yes > RSAAuthentication yes 密钥对ssh的支持
#PasswordAuthentication yes > PasswordAuthentication no 禁止密码方式登陆(可选)
2.禁止root远程登陆
修改/etc/ssh/sshd_config 文件
#PermitRootLogin yes > PermitRootLogin no
3.修改ssh 的端口 默认是22 修改为一个大于1024的随机端口
Port 8778
AddressFamily inet 从实际应用考虑,为安全性,只监听 ipv4 地址
ListenAddress 192.168.122.200 明确只监听某个 IP 接口
LoginGraceTime 1m 减少最大的登录时长,但要合理,不能太小,太小的话正常请求都有可能登陆不上。
PermitRootLogin no
因为 root 用户名固定容易被攻击,通常不允许 root 远程登录,而使用普通用户登录,普通用户名可以随机设置为较复杂(包括密码)。
#StrictModes yes 用户家目录权限检查,默认是 yes
MaxAuthTries 6 重试次数
MaxSessions 10 每个网络连接允许打开的最大会话数
AllowUsers zhangsan
只允许普通用户 zhangsan 远程登录。(注意如果远程操作,一定要提前添加该用户和密码)
X11Forwarding no 不允许转发 X11 图形协议
MaxStartups 10:30:100 sshd 允许的非认证的并发连接数。默认是 10:30:100(如果有 10 个
非认证的连接请求,sshd 拒绝其中的 30%,线性上升至 100 个后拒绝所有连接),根据实际适当调小.
三.禁止root用户多人使用,使用sudo给用户加权
1.命令visudi= vim etc/sudoers
添加
/所有 admin 组的帐号可以通过 sudo 得到 root 的所有权限
%admin ALL=(ALL) ALL
使用者账号 登入者的来源主机名=(可切换的身份) 可下达的指令
/系统用户user01的帐号可以通过 sudo 得到 root 的所有权限
user01 ALL=(ALL) ALL
2.通过sudo.log来查看用户通过sudo执行的所有命令
在/etc/sudoers 文件中开启日志 sudo自己管理
Defaults logfile = "/var/log/sudo.log"
四.设置用户登陆超时限制
vim /etc/profile.d/autologout.sh
TMOUT=300 (300 秒)
readonly TMOUT
export TMOU
#chmod +x /etc/profile.d/autologout.sh
五.设置系统日志/etc/log/message 轮询 (以每个日志20M来计算轮询)
本文出自 “12113559” 博客,谢绝转载!
安全加固