• centos服务器安全技巧


    系统管理员都应该烂熟于心的:
    务必保证系统是 最新的
    经常更换密码 - 使用数字、字母和非字母的符号组合
    给予用户 最小 的权限,满足他们日常使用所需即可
    只安装那些真正需要的软件包
    
    1. 更改默认的SSH端口,先打开sshd_config文件:
        vim /etc/ssh/sshd_config
        找到下面这行:
        #Port 22
        “#”号表示这行是注释。首先删除#号,然后把端口号改成目的端口。端口号不能超过        65535,确保要指定的端口号没有被系统或其它服务占用。建议在[维基百科]上查看常用端口号列表。在本文中,使用这个端口号:
        Port 16543
    
    2. 使用SSH密钥认证
    在通过SSH访问服务器时,使用SSH密钥进行认证是尤其重要的。这样做为服务器增加了额外的保护,确保只有那些拥有密钥的人才能访问服务器。
    在本地机器上运行下面命令以生成SSH密钥:
    ssh-keygen -t rsa
    你会看到下面的输出,询问要将密钥写到哪一个文件里,并且设置一个密码:
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): my_key
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in my_key.
    Your public key has been saved in my_key.pub.
    The key fingerprint is:
    SHA256:MqD/pzzTRsCjZb6mpfjyrr5v1pJLBcgprR5tjNoI20A
    完成之后,就得到两个文件:
    my_key
    my_key.pub
    
    接下来把my_key.pub拷贝到~/.ssh/authorized_key中
    cp my_key.pub ~/.ssh/authorized_keys
    然后使用下面命令将密钥上传到服务器:
    scp -P16543 authorized_keys user@yourserver-ip:/home/user/.ssh/
    
    3. 关闭SSH的密码认证
    有了SSH密钥,关闭SSH的密码认证就会更安全。编辑sshd_config,按如下设置:
    
    ChallengeResponseAuthentication no
    PasswordAuthentication no
    UsePAM no
    关闭Root登录
    下一步关闭root用户的直接访问,使用sudo或su来执行管理员任务。先需要添加一个有root权限的新用户,编辑这个路径下的sudoers文件:
    /etc/sudoers/
    visudo 这样的命令编辑该文件,会在关闭文件之前检查任何可能出现的语法错误。当你在编辑文件时出错了,很有用。
    接下来赋予某个用户root权限,使用用户 admin。确保在编辑后这个文件时使用的用户是系统已有的用户。找到下面这行:
    root ALL=(ALL) ALL
    拷贝这行,粘贴,然后把root更改为“admin”,如下所示:
    root ALL=(ALL) ALL
    admin ALL=(ALL) ALL
    解释一下这行的每一个选项的含义:
    (1) root  (2)ALL=(3)(ALL) (4)ALL
    
    (1) 指定用户
    (2) 指定用户使用sudo的终端
    (3) 指定用户可以担任的用户角色
    (4) 这个用户可以使用的命令
    (LCTT 译注:所以上面的配置是意思是:root 用户可以在任何终端担任任何用户,执行任何命令。)
    使用这个配置可以给用户访问一些系统工具的权限。
    关闭通过SSH直接访问root,编辑sshd_config ,找到下面这行:
    #PermitRootLogin yes
    更改为:
    PermitRootLogin no
    然后保存文件,重启sshd守护进程使改动生效。执行下面命令即可:
    
    sudo /etc/init.d/sshd restart
    systemctl list-unit-files --type=service | grep enabled 查看跟随系统系统的服务
    systemctl disable servicename 关闭不需要的服务
      
  • 相关阅读:
    php通过某个日期段的周几,获取选中周几对应的日期
    thinkphp 使用paginate分页搜索带参数
    php小程序登录时解密getUserInfo获取openId和unionId等敏感信息
    微信小程序使用wxParse,解决图片显示路径问题
    php对二维数据排序
    微信小程序下拉框之二维数组或对象
    php获取指定月份月初和月末的时间戳
    WPF中实现自定义虚拟容器(实现VirtualizingPanel)
    SQL Server数据库ROW_NUMBER()函数使用详解
    WPF后台设置xaml控件的样式System.Windows.Style
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/11771553.html
Copyright © 2020-2023  润新知