前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux安全配置

linux安全配置

作者头像
老七Linux
发布2018-05-09 15:20:11
发布2018-05-09 15:20:11
8.5K00
代码可运行
举报
运行总次数:0
代码可运行

今天清早登录服务器发现很多暴力狗(使用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

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

代码语言:javascript
代码运行次数:0
运行
复制
# yum -y install openssh

# yum -y install openssh-server

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

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

Putty 密钥认证

首先打开PuTTYgen

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

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

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

代码语言:javascript
代码运行次数:0
运行
复制
#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、然后最后一步,我们配置的防火墙只是暂时的关闭,重启电脑后就会失效,所以我需要永久的关闭它

代码语言:javascript
代码运行次数:0
运行
复制
#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!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/06/30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • hosts.allow和hosts.deny
  • 禁止用户使用密码方式登陆,而使用密钥方式登陆
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档