提高SSH Server安全性的5种方法

昨日从onenote里翻出来Virtualbox的安装后…也顺道把本文标记了,今天编辑一下与大家分享一下:

1、禁止SSHD监听端口

2、禁止root登入,限制只有某些账户可以登录

3、使用denyhosts或fail2ban保护sshd服务

4、使用秘钥登录

5、不要每一台服务器都对外开放sshd端口

操作环境:Redhat/CentOS/Fedora

1、变更SSHD监听端口

一、修改配置文件实现

 代码如下 复制代码

 
[root@itchenyi-01~]#cat/etc/ssh/sshd_config|grep"#Port"
#Port22222

[root@itchenyi-01~]#servicesshdrestart
Stoppingsshd:[OK]
Startingsshd:[OK]

二、修改防火墙PortForwarding设置

1.登录防火墙WEB管理界面,或者通过telnet协议上去

2.修改NAT/PortForwarding设置,将publicPort改成22222,privateport仍然是22

3.保存规则

注:本法基于NAT,其端口号可以自由选择,不冲突即可,这是避免遭受骚扰的非常有效的办法。

2、禁止root登录,限制只有某些账号可以登录

 代码如下 复制代码
 
[root@itchenyi-01~]#vi/etc/ssh/sshd_config
PermitRootLoginno
AllowUserschenyiitchenyichenyiA

#完事重启服务即可

注:避免root账户被破解,一般要养成“以一般账户登入的”习惯;只允许需要ssh操作的账号入会更安全,但注意多个账号之间需要空格隔开,弄错了就只能console到物理机上去玩了。

3、使用denyhosts或fail2ban防护sshd服务

在CentOS6上安装denyhosts

 代码如下 复制代码

 
#略过具体演示
Step1.安装EPELRepos#
Step2.[root@itchenyi-01~]#yum-yinstalldenyhosts
Step3.[root@itchenyi-01~]#chkconfigdenyhostson&&servicedenyhostsstart

配置文件路径:/etc/denyhosts.conf,/etc/sysconfig/denyhosts

在CentOS6上安装fail2ban

 代码如下 复制代码

 
Step1.安装EPELRepos
Step2.[root@itchenyi-01~]#yum-yinstallfail2ban
Step3.[root@itchenyi-01~]#chkconfigfail2banon&&servicefail2banstart
配置文件路径:/etc/fail2ban/*

注:若已经变更了sshd端口,需要在/$fail2ban(path)/jail.conf将port=ssh改成自定端口,默认设置的denyhosts与fail2ban都是针对sshd在进行防御

4、使用秘钥登录

配置文件:

 代码如下 复制代码

 
#vi/etc/ssh/sshd_config
#禁止密码登入
PasswordAuthenticationno
或www.111cn.net
#限制某些账户必须使用秘钥登录
PasswordAuthenticationyes
MatchUseruserA,userB
PasswordAuthenticationno

使用秘钥登录可以避免密码泄露而且很安全,但需要保管好私钥

参考文章:配置Linux服务器SSH远程密钥登录

5、不要给每一台服务器都对外开放sshd的端口

即使改变sshd侦听端口,但是只要暴露在internet上就有呗入侵的风险,因此,除非必要,否则不建议每台服务器都开放internet登入sshd,只开放一台server作为跳板,限制链接登录IP来源,或VPN服务,都是比较保险的做法。

时间: 2024-09-21 05:37:43

提高SSH Server安全性的5种方法的相关文章

提高SQL Server性能的五种方法

有时,为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整.但关键在于确定如何进行调整!迟早您会遇到这种情况:应用程序中的SQL查询不能按照您想要的方式进行响应.它要么不返回数据,要么耗费的时间长得出奇.如果它降低了企业应用程序的速度,用户必须等待很长时间.用户希望应用程序响应迅速,他们的报告能够在瞬间之内返回分析数据.就我自己而言,如果在Web上冲浪时某个页面要耗费十多秒才能加载,我也会很不耐烦. 为了解决这些问题,重要的是找到问题的根源.那么,从哪里开始呢?根本原因通常在于

访问 Microsoft SQL Server 元数据的三种方法

server|访问|数据 访问 Microsoft SQL Server 元数据的三种方法 上海微创软件有限公司 肖桂东 适用读者:Microsoft SQL Server 中.高级用户 元数据简介 元数据 (metadata) 最常见的定义为"有关数据的结构数据",或者再简单一点就是"关于数据的信息",日常生活中的图例.图书馆目录卡和名片等都可以看作是元数据.在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义.比如在管理.维护 SQL Serv

Odbc连SQL Server数据库的几种方法

odbc|server|数据|数据库 Odbc连SQL Server数据库的几种方法   这篇文章是针对在CSDN论坛 中的一些想知道这方面技术的网友而写的.因为最近我本人在论坛上看到很多网友提到这个问题,所以就写了这篇文章,以飨读者. SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成.也是今天市场上几种大型关系型数据库(SQL Server\Oracle ybase等)之一.对于今天复杂的B/S服务器系统来说,SQL

浅谈基于SQL Server分页存储过程五种方法及性能比较

在SQL Server数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览. 创建数据库data_Test : create database data_Test GO use data_Test GO create table tb_TestTable --创建表 ( id int identity(1,1) primary key, userName nvarchar(20) not null, userPWD nvarchar(20) not null, u

不提高薪酬激励员工的15种方法

一般认为,给员工提供更高的薪酬.更好的待遇就可使员工快乐,达致激励效果.其实,金钱的确是 激励员工的主要因素,一个稳固的报酬计划对吸引.保留优秀人才的确非常关键,但在实践中金钱并不总是唯一的解决办法,在许多方面它也不是最好的解决办法.原因很简单,金钱所起到的激励作用具有短时性,额外得来的现金很快会被员工花掉并很快被遗忘.而公司希望的激励却是长期性的.事实上,一些非现金却能有效激励员工的方法一直被企业管理层所忽视. 下述是不提高薪酬激励员工的15种方法. 1.认可. 当员工完成了某项工作时,最需要

几条提高SSH的安全性捷径

  现在,安全外壳协议(SSH)几乎已经成为进行远程登录操作时的必备选择.有很多方法可以增强SSH的安全性,但哪种方法既简单又有效呢?下面,就让我们来了解认识一下. 现在,安全外壳协议几乎已经完全成为进行远程登录操作时的必备选择.对于很多管理员来说,使用它已经属于默认的要求.但问题的关键是,情况也并不是象大家想象的那么肯定,安全外壳协议提供的安全性也需要进行设置增加效果.现在,有很多种方法可以将安全措施提升到更高的级别,但哪些是最容易部署,安全性最高的呢?下面,就让我们来了解认识一下. 基于ss

Centos下防止ssh暴力破解密码2种方法

方法一, 收集 /var/log/secure 里面的信息,若是某个IP 链接次数超过一定次数 ,则把此ip记录到/etc/hosts.deny里面. 通过crontab来执行,每天的1点1分执行一次. 1 * * * sh /root/bin/Denyhosts.sh   #!/bin/bash #Denyhosts SHELL SCRIPT cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $

Exchange Server灾难恢复的三种方法

如果你和多数的管理员一样,那么可能你每天晚上都要很负责任地对你的Exchange数据库进行备份,并且把备份记录存储到一个安全的位置上.这样做非常棒--但是仅仅采取这些步骤可能并不能完全让你从严重的灾难中逃脱.在这篇文章中,我将介绍对Microsoft Exchange进行灾难恢复最重要也是最佳的三种方法. 文档 不用去考虑你的公司规模也不用考虑服务器的复杂程度,让文档中尽可能多的记录关于你的服务器配置的信息才是最重要的--并且要让它时刻保持更新. 让我给你提供一个恰当的例子:几年前,我使用的Ex

提高CSS文件可维护性的五种方法总结_经验交流

1.分解你的样式  对于小项目,在写代码之前,按页面结构或页面内容将代码分为几块并给予注释.例如,可以分别将 全局样式.布局.字体样式.表单.评论和其他分为几个不同的块来继续工作.  而对于较大的工程,这样显然不会有什么效果.此时,就需要将样式分解到几个不同的样式表文件.下面的master stylesheet 就是这一方法的例子,它的工作主要是导入其他样式文件.使用这一方法不仅能优化样式结构,而且有利于减少一些不必要的服务器请求.而分解文件的方法就有许多种,master stylesheet