首页 > 代码库 > 安全加固

安全加固

一.定期更改用户的密码.定义密码不能使用简单密码.

  要求密码一定要由字母,数字和字符构成,密码长度一定要超过X位.

  1. 定期更改用户的密码:需要更改密码的最大有效期.PASS_MAX_DAYS

    可以更改用户的模板/etc/login.defs  .PASS_MAX_DAYS    99999

  2. 用户登陆限制,密码要求:修改文档/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 的加密登陆方式

  1. 设置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” 博客,谢绝转载!

安全加固