安全防范:服务器连接及权限处理
2016-06-15 21:23
393 查看
安全防范:服务器连接及权限处理
禁用密码登录
使用更安全的
TODO:后面会写一些文章来介绍:如何使用字典进行ssh爆破的方法。来增强大家对于安全的意识,本文则重点写防范措施。
其它的
修改如下的几行:
然后重启
然后重启
客户机上生成一组
将公钥复制到服务器指定用户的
然后客户机即可实现无密码登录服务器。
使用
如何让普通用户临时拥有
操作时保留普通用户的环境变量痕迹
在出现异常时,查阅日志可以定位具体的用户的具体行为
在
从以上文件内容最后一句
向
向
注意:
一般情况下,建议使用第二种方法,添加配置文件的方式,这样可以在物理文件层次上进行解耦,在权限配置上也更细致一些。
使用第二种方法:
在
向
如果要添加一个组到
只要是属于
ssh密码被暴力破解。大家可以以关键字搜索“
被破解的用户往往是
如果多个运维人员的登录账号没有做区分,则即使由监控系统查出异常,定位问题的难度也是相当大。例如:监控系统查出
综上所述:养成良好的服务器使用习惯,是每个开发人员必备的基本素质。
1. 概述
直接使用密码去ssh登录服务器,容易被
黑客使用密码字典暴力破解。所以开发人员要养成良好的安全习惯,从登录服务器开始:
禁用密码登录
使用更安全的
ssh-key登录
TODO:后面会写一些文章来介绍:如何使用字典进行ssh爆破的方法。来增强大家对于安全的意识,本文则重点写防范措施。
2. 操作系统环境
Ubuntu 14.4 LTS其它的
Linux发行版,方法类似。
3. 禁用密码而使用ssh-key
vim /etc/ssh/sshd_config
修改如下的几行:
#启用公钥认证 PubkeyAuthentication yes #存储授权公钥的文件路径 AuthorizedKeysFile .ssh/authorized_keys #禁止密码登录 PasswordAuthentication no
然后重启
sshd
service sshd restart
4. 禁用root登录
由于root用户具有超级管理员权限,为了安全起见,尽量禁止使用
root用户进行操作。禁止root登录,则继续如下设置:
PermitRootLogin no
然后重启
sshd
service sshd restart
5. 使用ssh-key登录
主要步骤如下:客户机上生成一组
ssh-key的公钥和私钥
将公钥复制到服务器指定用户的
.ssh/authorized_keys里面
然后客户机即可实现无密码登录服务器。
6. 给普通用户提权
在前面有一个操作:禁用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权限。
7. 总结
在目前云主机越来越广泛使用的今天,很多重要服务基本上都是放于公网云端,那么这些安全问题都需要格外注意。如果不注意,则可能会出现如下问题:ssh密码被暴力破解。大家可以以关键字搜索“
200万密码字典”,看自己的密码有没有位于其中。
被破解的用户往往是
root用户。因为
root是
linux的默认而且确定会有的用户。
如果多个运维人员的登录账号没有做区分,则即使由监控系统查出异常,定位问题的难度也是相当大。例如:监控系统查出
root账号在异地异常登录,那么一共有5个开发人员,能从哪里排查呢?
综上所述:养成良好的服务器使用习惯,是每个开发人员必备的基本素质。
作者: | Harmo哈莫 |
---|---|
作者介绍: | https://zhengwh.github.io |
技术博客: | http://www.cnblogs.com/beer |
Email: | dreamzsm@gmail.com |
QQ: | 1295351490 |
时间: | 2016-02 |
版权声明: | 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】 |
支持本文: | 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】 |
相关文章推荐
- 仿win8磁贴界面以及功能
- HttpURLConnection的用法
- 智能指针的实现
- 什么是Activity,详细介绍Activity
- 【GDOI2016模拟3.15】染色
- C++常识之——C++中堆和栈的区别,自由存储区、全局/静态存储区和常量存储区(转)
- 如何压缩Golang 编译出的可执行文件大小
- STM32 UVC学习笔记2
- javac -d . hello.java中的 -d .是什么作用?
- __FILE__,__LINE__,__func__ 真好用,DEBUG利器啊!
- 【复习】servlet之Http状态码
- MSSQL中全局变量@@identity与方法scope_identity()的区别
- Codeforces Round #357 (Div. 2)
- NYOJ疯牛【二分】
- Redis进阶
- Python类的特点 (3) :静态方法与类方法
- 机器设备(dfs)
- 字符串
- 产品经理必备成长修炼秘籍(深度解析)
- Error:Cause: com.android.sdklib.repository.FullRevision