linux安全配置

今天清早登录服务器发现很多暴力狗(使用ssh端口破解登录密码),真不知道这些人有啥意思,破解了无非是把我的服务器当作肉鸡再去攻击其他服务器,目的无非就是证明你有能力去破解,要么就是搞到比较有实力的公司勒索点棺材本罢了~,我就不信邪,搞不定你!给大家分享两个可以搞定的大招:

hosts.allow和hosts.deny

/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。

比如SSH服务,我们通常只对管理员开放,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。

使用:

修改/etc/hosts.allow文件

#

# hosts.allow This file describes the names of the hosts which are

# allowed to use the local INET services, as decided

# by the ‘/usr/sbin/tcpd’ server.

#

sshd:221.224.0.*:allow

sshd:192.168.159.*:allow

以上写法表示允许221和192两个ip段连接sshd服务(这必然需要hosts.deny这个文件配合使用),当然:allow完全可以省略的。

当然如果管理员集中在一个IP那么这样写是比较省事的

all:218.24.129.110//他表示接受110这个ip的所有请求!

/etc/hosts.deny文件,此文件是拒绝服务列表,文件内容如下:

#

# hosts.deny This file describes the names of the hosts which are

# *not* allowed to use the local INET services, as decided

# by the ‘/usr/sbin/tcpd’ server.

#

# The portmap line is redundant, but it is left to remind you that

# the new secure portmap uses hosts.deny and hosts.allow. In particular

# you should know that NFS uses portmap!

sshd:all:deny

注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。

所以:当hosts.allow和 host.deny相冲突时,以hosts.allow设置为准。

注意修改完后:

service xinetd restart                           centOS 7: # systemctl restart xinetd.service

才能让刚才的更改生效。如果不可以重新启动则需要安装如下两个服务

# yum -y install openssh

# yum -y install openssh-server

总结:通过这种方法可以控制部分非授权访问,但不是一劳永逸的方法!我们在看服务日志的时候或许会看到很多扫描记录,不是还是直接针对root用户的,这时控制你的访问列表就非常有作用了!

禁止用户使用密码方式登陆,而使用密钥方式登陆

Putty 密钥认证

首先打开PuTTYgen

点击Generate(此处应该在操作界面不停的晃动鼠标这样才能让创建速度更快)

然后创建密码,并保存私钥到本地硬盘

然后再次回到linux系统,登录后一次输入如下:

#mkdir /root/.ssh    创建一个.ssh的隐藏文件夹

#chmod 700 /root/.ssh   给.ssh的文件夹授权

#vi /root/.ssh/authorized_keys    复制公钥到此文件

把如下框内的公钥复制

粘贴到此文件内,注意此处一定要先按字母 i 键 然后右击即可!

然后关闭当前窗口(Ctrl+d)即可

再次登录先load一下账号,然后进入SSH

继续点击Auth 浏览刚刚咱们保存的公钥

然后再次返回到Session 点击保存即可!

输入用户名下面咱们就输入刚刚咱们输入的密码即可,成功进入!

Xshell密钥认证

1.打开Xshell界面,工具→新建用户密钥生成向导

2、密钥类型选择RSA,密钥长度选择2048位,单击下一步继续

3、很快生成公钥对,单击下一步继续

4、密钥名称可以自定义,起一个自己理解的名称,或者保持默认,输入密钥加密的密码,用于远程登录

5、将生成的公钥复制一份,或保存为文件,完成密钥生成。

6、然后再次使用  #vi /root/.ssh/authorized_keys 并把Xshell的公钥复制到另起一行,以#号开头的在linux当中是标注的意思!

7、再次打开一个新的Xshell窗口,点击属性!

8、如下图操作

9、输入密码,点击左下角的记住密码,然后每次进入即可不需要输入任何密码!(注意:这样带来的风险就是日后如果真需要密码了,长期不输入密码容易忘记就不好弄了,所以建议大家下载一个keepass去帮助你保存所有的密码)

10、然后最后一步,我们配置的防火墙只是暂时的关闭,重启电脑后就会失效,所以我需要永久的关闭它

#vi /etc/selinux/config        #修改selinux的配置文件

更改“SELINUX=enforcing”为 SELINUX=disabled 保存退出。

#iptables -F   清除规则

基于密钥认证的配置 # vi /etc/ssh/sshd_config   PasswordAuthentication no      //禁止使用基于口令认证的方式登陆 PubkeyAuthentication yes       //允许使用基于密钥认证的方式登陆 # /etc/init.d/sshd reload

最后一招:更改ssh端口!

今晚再次登录服务器查看一下(# lastb) 用来查看非授权强制登录IP!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java达人

将linux下的rm命令改造成mv到指定的目录下

来源:博客园-BigBao的博客 链接:http://www.cnblogs.com/smail-bao/p/6347347.html(点击文末阅读原文前往) ...

305100
来自专栏PHP在线

从输入url开始能做哪些优化

此文主要讲的事情是如何让用户快点看到首屏页面,其主要影响因素是延迟和解析渲染耗时。有关安全部分其实也是优化的一部分。我们着重说下网络部分。

16540
来自专栏bboysoul

ssh 免密码登录

好几天没有写东西了,也不知道可以写什么,如果有好玩的东西,欢迎联系我 为什么需要ssh免密码登录,有的人说没有密码认证那么不就不安全了吗,所有人都可以用你的电...

55530
来自专栏沈唁志

PHP中利用PHPMailer配合QQ邮箱实现发邮件

24620
来自专栏云计算教程系列

如何在CentOS 7上安装和配置ownCloud

ownCloud是一个文件共享服务器,允许您将个人内容(如文档和图片)集中存储在此位置,就像Dropbox一样。与ownCloud的不同之处在于它是免费的开源软...

1.2K00
来自专栏Android相关

Gradle解决多lib冲突

在引入第三方jar包的时候,可能会遇到很多库的冲突,例如均使用了OkHttp,RxJava等等,在打包的时候就会遇到Class多个定义的问题。而目前Androi...

31520
来自专栏华仔的技术笔记

iOS无线安装企业账号应用

41250
来自专栏优启梦

emlog后台登录失败邮件通知

前面说到emlog后台登录参数加密,下面我们说说如何给emlog添加后台登录失败邮件通知的功能,本次我们需要用到mail函数,当然也就是需要25端口发信,如果是...

659120
来自专栏散尽浮华

Nginx的https配置记录以及http强制跳转到https的方法梳理

一、Nginx安装(略) 安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。 ...

1K100
来自专栏惨绿少年

SSH服务详解

第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Wo...

56600

扫码关注云+社区

领取腾讯云代金券