频道栏目
首页 > 资讯 > 系统安全 > 正文

linux系统安全

16-12-23        来源:[db:作者]  
收藏   我要投稿

linux系统安全

方法一:

密码足够复杂

密码的长度要大于8位,最好大于14位。密码的复杂度是密码要尽可能有数字、大小写字符和特殊字符混合组成。

修改默认ssh端口

使用iptables关闭不需要使用的端口

sshd 默认端口号:22

vim /etc/ssh/sshd_config

#Port 22

Port 81

service sshd restart

3.使用扫描工具,对主机查看开放哪些端口。

yum install nmap

nmap 192.168.103.117

4.不使用root用户名登录,这样可以黑客猜不到你的用户名,也就无法暴力破解

不使用root用户,但需要拥有root权限,下面有两种方法:

前提是不让root用户登录,root用户的/bin/bash 改成 /sbin/nologin

(1)把bob用户的uid和gid都改成0,让bob用户拥有root权限。这样bob用户也拥有root权限,但和root本身的区别是,他们的家目录不一样,登录进去都是#,权限是一样的。

(2)也可以给用户拥有sudo权限

visudo 或者 vi /etc/sudoers

root ALL=(ALL) ALL

bob ALL=(ALL) ALL

5.用户登录可以让他们使用密钥登录,密钥上也设置密码。

使用方法在本人博文里面查找。

6.防止暴力破解

案例:最近公司网络一直被人暴力破解sshd服务密码,虽然没有成功,但会导致系统负载很高,原因是在暴力破解的时候,系统会不断认证用户,从而增加了系统资源额外开销,导致公司网络很慢。

工具介绍:fail2ban可以监视你的系统日志,然而匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般下是防火墙),而且可与i发送email通知系统管理员,功能很强大。

fail2ban运行机制:简单来说其功能就是防止暴力破解,工作原理是通过分析一定时间内的相关服务日志,将满足动作的相关ip利用iptables加入到dorp(丢弃)列表一定时间。

设置条件:ssh远程登录5分钟内3次密码验证失败,禁止用户ip访问主机1小时,1小时后该限制自动解除。

一般服务器安装好后,只需要启动服务,并开启sshd的enabled=true即可正常使用。如需添加其他的,即需要修改其他文件。

软件包下载:

https://github.com/fail2ban/fail2ban/archive/0.9.4.tar.gz

安装步骤:

wget https://github.com/fail2ban/fail2ban/archive/0.9.4.tar.gz

tar zxvf 0.9.4.tar.gz

cd fail2ban-0.8.14

一般安装步骤在README.md里面能找到。

vim README.md

To install, just do:

tar xvfj fail2ban-0.9.4.tar.bz2

cd fail2ban-0.9.4

python setup.py install

需要安装python开发环境,并且版本要大于2.4的

查看python版本

python -V

安装:

phthon setup.py install

将服务启动脚本复制到开机启动

cp files/redhat-initd /etc/init.d/fail2ban

设置开机启动

chkconfig fail2ban on

chkconfig --add fail2ban

service fail2ban start

设置防暴力破解

设置条件:ssh远程登录5分钟内3次密码验证失败,禁止用户IP访问主机1小时,1小时该限制自动解除,用户可重新登录。

vim /etc/fail2ban/fail2ban.conf

默认fail2ban.conf里面就三个参数,而且都有注释。

loglevel = 3 #默认日志的级别

logtarget = /var/log/fail2ban.log #日志的存放路径

socket = /var/run/fail2ban/fail2ban.sock #socket的位置

vim /etc/fail2ban/jail.conf

[DEFAULT] #全局设置

ignoreip = 127.0.0.1/8 10.10.10.0/24 #忽略的IP列表,不受设置限制 如果有二组以上用空白做为间隔

bantime = 600 #屏蔽时间,单位:秒(设置IP被封锁的时间)

findtime = 600 #这个时间段内超过规定次数会被ban掉(设定多长时间内达到最大次数就解锁。)

maxretry = 3 #最大尝试次数

backend = auto #日志修改检测机制(gamin、polling和auto这三种)

设置发送邮件

[ssh-iptables] #单个服务检查设置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置。

enabled = true #是否激活此项(true/false)修改成 true

filter = sshd #过滤规则filter的名字,对应filter.d目录下的sshd.conf

action = iptables[name=SSH, port=ssh, protocol=tcp] #动作的相关参数,对应action.d/iptables.conf文件

sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com, sendername="Fail2Ban"]

#触发报警的收件人

dest=收件者电邮地址, sender=寄件者电邮地址

logpath = /var/log/secure #检测的系统的登陆日志文件。这里要写sshd服务日志文件。 默认为logpath = /var/log/sshd.log

#5分钟内3次密码验证失败,禁止用户IP访问主机1小时。 配置如下

bantime = 3600 #禁止用户IP访问主机1小时

findtime = 300 #在5分钟内内出现规定次数就开始工作

maxretry = 3 #3次密码验证失败

查看登录被拒绝的相关信息

1. 我们可以用iptables查看连接被屏蔽的情况:iptables -L

iptables -L |tail -4

2. 还可以通过fail2ban-client status来查看被屏蔽的情况:

fail2ban-client status

fail2ban-client status ssh-iptables

说明: 如果fail2ban-client status ssh-iptables 显示被ban的ip和数目就表示成功了,如果都是0,说明没有成功

3.也可以查看日志,

tail /var/log/faile2ban.log

解锁特定的ip地址

fail2ban-client set ssh-iptables unbanip 192.168.1.72

相关TAG标签
上一篇:Joomla 权限提升漏洞(CVE-2016-9838)分析
下一篇:centos 系统加固
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站