安全防范:服务器连接及权限处理
直接使用密码去ssh
登录服务器,容易被黑客
使用密码字典暴力破解。所以开发人员要养成良好的安全习惯,从登录服务器开始:
ssh-key
登录TODO:后面会写一些文章来介绍:如何使用字典进行ssh爆破的方法。来增强大家对于安全的意识,本文则重点写防范措施。
其它的 Linux
发行版,方法类似。
vim /etc/ssh/sshd_config
修改如下的几行:
#启用公钥认证
PubkeyAuthentication yes
#存储授权公钥的文件路径
AuthorizedKeysFile .ssh/authorized_keys
#禁止密码登录
PasswordAuthentication no
然后重启sshd
service sshd restart
由于 root
用户具有超级管理员权限,为了安全起见,尽量禁止使用root
用户进行操作。禁止root登录,则继续如下设置:
PermitRootLogin no
然后重启sshd
service sshd restart
主要步骤如下:
ssh-key
的公钥和私钥.ssh/authorized_keys
里面然后客户机即可实现无密码登录服务器。
在前面有一个操作:禁用root
用户登录。那么对于一些系统命令,必须要root
权限时该如何处理呢?这个时候就需要使用sudo
来为普通用户提权了,升级为管理员权限。
使用sudo
对普通用户提权的好处如下:
root
权限在ubuntu
中,查看文件etc/sudoers
:
...
# User privilege specification
root ALL=(ALL:ALL) ALL
...
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
...
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
从以上文件内容最后一句#includedir /etc/sudoers.d
语句,不难看出,将用户添加到sudo
组有两种方法:
/etc/sudoers
插入配置语句/etc/sudoers.d/
添加配置文件注意:#include
前面的#
并不是一般情况下bash
语句下的注意,而是包含语法。之前笔者就自作聪明
地去年了这个#
号,导致一直无法正常配置。
一般情况下,建议使用第二种方法,添加配置文件的方式,这样可以在物理文件层次上进行解耦,在权限配置上也更细致一些。
使用第二种方法:
sudoers.d
目录下添加文件newsudoers
newsudoers
中添加配置内容mysudouser ALL=(ALL:ALL) ALL
如果要添加一个组到sudo
组中,则添加如下配置内容:
#add xxxsudogrp to sudo
mysudogrp ALL=(ALL:ALL) ALL
只要是属于mysudogrp
组的用户都能提到root
权限。
在目前云主机越来越广泛使用的今天,很多重要服务基本上都是放于公网云端,那么这些安全问题都需要格外注意。如果不注意,则可能会出现如下问题:
200万密码字典”
,看自己的密码有没有位于其中。root
用户。因为root
是linux
的默认而且确定会有的用户。root
账号在异地异常登录,那么一共有5个开发人员,能从哪里排查呢?综上所述:养成良好的服务器使用习惯,是每个开发人员必备的基本素质。
作者: | Harmo哈莫 |
---|---|
作者介绍: | https://zhengwh.github.io |
Email: | dreamzsm@gmail.com |
QQ: | 1295351490 |
时间: | 2016-02 |
版权声明: | 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】 |
支持本文: | 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】 |