增强 SSH 安全性的 7 条技巧
2016-03-04 09:51
169 查看
在绝大部分的 Linux 服务器上都使用 OpenSSH 作为 SSH server,所以这篇文章只针对
OpenSSH。其实这些技巧都是很基础的,但如果你能好好使用它们的话,一定程度上确实可以有效提升 SSH
的安全性.
#以下配置项都是在 /etc/ssh/sshd_config 文件中修改。
1. 禁止 root 登录
PermitRootLogin
no
当你启用这一选项后,你只能用普通用户登录,然后再用
su 或 sudo 切换到 root 帐户。
2. 仅允许指定用户和组登录
指定用户
AllowUsers
ramesh john jason
指定组
AllowGroups
sysadmin dba
3. 禁止指定的用户或组登录
指定用户
DenyUsers cvs
apache jane
指定组
DenyGroups
developers qa
注:Allow
和 Deny 可以组合使用,它们的处理顺序是:DenyUsers, AllowUsers, DenyGroups,
AllowGroups
4. 修改 SSH 监听端口
把 SSH 监听端口改为
222
Port
222
5. 修改默认登录时间
当你连接到 SSH
后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30
秒。
LoginGraceTime
1m
6. 限制监听 IP
如果你的服务器上有多个网卡及
IP ,那么你可以限制某些 IP 不监听 SSH,只允许通过某些 IP 来登录。
比如你有四个网卡
eth0 –
192.168.10.200
eth1 –
192.168.10.201
eth2 –
192.168.10.202
eth3 –
192.168.10.203
你只想让用户通过 202,
203 这两个 IP 来登录,那么做以下设定
ListenAddress
192.168.10.200
ListenAddress
192.168.10.202
7. 当用户处于非活动时断线
当用户在 10
分钟内处于非活动状态的话,就自动断线。
ClientAliveInterval
600
ClientAliveCountMax
0
ClientAliveCountMax:默认为
3 ,表示当 SSH 没有任何活动时, SSH Server
会发送三次检查是否在线(checkalive)的消息。
ClientAliveCountMax:默认为
0,表示当过了几秒后,SSH Server 会发送消息要求用户响应(0 的话表示永远不发送),否则就断线。
OpenSSH。其实这些技巧都是很基础的,但如果你能好好使用它们的话,一定程度上确实可以有效提升 SSH
的安全性.
#以下配置项都是在 /etc/ssh/sshd_config 文件中修改。
1. 禁止 root 登录
PermitRootLogin
no
当你启用这一选项后,你只能用普通用户登录,然后再用
su 或 sudo 切换到 root 帐户。
2. 仅允许指定用户和组登录
指定用户
AllowUsers
ramesh john jason
指定组
AllowGroups
sysadmin dba
3. 禁止指定的用户或组登录
指定用户
DenyUsers cvs
apache jane
指定组
DenyGroups
developers qa
注:Allow
和 Deny 可以组合使用,它们的处理顺序是:DenyUsers, AllowUsers, DenyGroups,
AllowGroups
4. 修改 SSH 监听端口
把 SSH 监听端口改为
222
Port
222
5. 修改默认登录时间
当你连接到 SSH
后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30
秒。
LoginGraceTime
1m
6. 限制监听 IP
如果你的服务器上有多个网卡及
IP ,那么你可以限制某些 IP 不监听 SSH,只允许通过某些 IP 来登录。
比如你有四个网卡
eth0 –
192.168.10.200
eth1 –
192.168.10.201
eth2 –
192.168.10.202
eth3 –
192.168.10.203
你只想让用户通过 202,
203 这两个 IP 来登录,那么做以下设定
ListenAddress
192.168.10.200
ListenAddress
192.168.10.202
7. 当用户处于非活动时断线
当用户在 10
分钟内处于非活动状态的话,就自动断线。
ClientAliveInterval
600
ClientAliveCountMax
0
ClientAliveCountMax:默认为
3 ,表示当 SSH 没有任何活动时, SSH Server
会发送三次检查是否在线(checkalive)的消息。
ClientAliveCountMax:默认为
0,表示当过了几秒后,SSH Server 会发送消息要求用户响应(0 的话表示永远不发送),否则就断线。
相关文章推荐
- 谷歌地图添加文本标注
- 猴子排队算法
- 猴子排队算法
- posix和perl标准的正则表达式区别
- Oracle EBS中有关Form的触发器的执行顺序
- MySQL数据库作发布系统的存储,一…
- MySQL两大常用存储引擎MyISAM,Inn…
- JAVA CAS原理深度分析
- Safe_mode 打开后哪些地方受限
- PHP一段上传文件的代码
- Android应用开发架构
- 将图片转换成caffe的lmdb形式并进行实验
- 页面加载顺序
- android 获取设备拔插状态广播事件易漏掉的一行属性!
- MySQL 入门
- C#计算两个日期之间相差的天数
- SVN中trunk,branches,tags的使用明细--项目代码的管理
- javascript获取对象中的属性及值
- PHP 中的 9 个魔术方法
- PHP 页面跳转到另一个页面的…