hosts.allow、hosts.deny配置不生效的解决方法

通过配置hosts.allow、hosts.deny,控制SSH限制固定IP登陆

按照以往的方法,分别在hosts.allow、hosts.deny加入以下配置

保存后测试,发现配置无效,其他IP还是可以登陆成功。

解决方法如下:

hosts.allow和hosts.deny属于tcp_Wrappers防火墙的配置文件,而用tcp_Wrappers防火墙控制某一服务访问策略的前提是,该服务支持tcp_Wrappers防火墙,即该服务应用了libwrapped库文件。

查看某服务(如ssh)是否应用了libwrapped库文件的方法是:

没有显示,表示此服务器上安装的SSH没有应用libwrapped库文件,也就不能用tcp_Wrappers防火墙控制访问策略。(一般情况下服务器默认安装的SSH都是支持libwrapped库文件,这台服务器不清楚为什么不支持)

最终解决方法是重新安装SSH。

安装完成后再次查看是否应用了libwrapped库文件,显示支持。

再测试SSH登陆,配置生效。

参考链接


hosts.allow、hosts.deny配置不生效的解决方法

ubuntu 16.04使用LimeSDR 1.4s估算信号到达角DOA

安装依赖的软件包

下载最新的gr-doa源代码

增加limesdr的调用代码:

具体代码如下:

编译代码

测试代码

如果上面的代码下载困难,可从本站下载一份代码拷贝

gr-doaarmadillo-codeSoapySDR源代码下载gr-osmosdr

至于测试的信号发送设备,任何能产生自相关信号的设备都可以,一般建议对讲机即可,注意频率要调整到一致才可以。

参考链接


ubuntu 16.04配置基于SSL的MySQL主从同步

首先参考 ubuntu 16.04配置MySQL主从同步 实现同步,接下来执行如下操作

主数据库master配置

从服务器slave配置

参考链接


ubuntu 16.04编译安装gqrx-v2.11.2

如果代码下载困难,可以从本站下载一份拷贝。 gqrx

参考链接


ubuntu 16.04编译安装HackRF One软件及固件hackrf-v2018.01.1

ubuntu 16.04编译安装HackRF One软件及固件hackrf-v2018.01.1

如果代码下载困难,可以从这里下载一份代码拷贝 hackrf

参考链接


ubuntu 16.04系统wordpress-4.9.4修改表引擎报告错误“Invalid default value for 'comment_date'”

最近在捣鼓wordpress主从同步的时候(ubuntu 16.04配置MySQL主从同步),需要把wp_comments的数据库引擎从MyISAM切换到INNODBMyISAM不支持主从同步)。

在执行

的时候报告错误:

原因出在类似这样的建表语句

这种报错多是mysql升级到5.7而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是datetime。想到可能是类型的默认值被限制了,查看sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0

可以使用如下语句查看建表命令:

注意上面的

这两句受到NO_ZERO_IN_DATE,NO_ZERO_DATE的影响。

查看 sql_mode

临时修改:

永久修改:

修改配置文件

[mysqld]下面添加如下列:

参考链接


导入数据库时报错1067 – Invalid default value for ‘字段名’

ubuntu 16.04删除被denyhosts阻止的IP地址

参照ubuntu 16.04防止SSH暴力登录攻击安装denyhosts之后,由于某些莫名的操作导致自己的一个登录地址被加入了阻止列表,尝试很多次之后,都没有办法恢复。于是找到如下脚本来进行删除操作:

生成脚本后,如下方式执行:

参考链接


ubuntu 16.04配置MySQL主从同步

准备工作

1.主从数据库版本最好一致

2.主从数据库内数据保持一致

主数据库:121.199.27.227 /ubuntu 16.04 MySQL 5.7.21 (阿里云

从数据库:182.254.149.39 /ubuntu 16.04 MySQL 5.7.21 (腾讯云

防火墙配置

配置主服务器只允许特定IP访问数据库的端口,避免不必要的攻击。

主库防火墙配置

从库防火墙配置

主数据库master配置

1.修改mysql配置

在[mysqld]部分进行如下修改:

2.修改需要同步的表的引擎为INNODB,只有INNODB支持主从,MyISAM不支持

3.重启mysql,创建用于同步的用户账号

创建用户并授权:用户:repl 密码:slavepass

4.查看master状态,记录二进制文件名(mysql-bin.000001)和位置(333802):

5.主库备份,为从库的第一次数据同步准备数据

使用如下脚本产生数据库备份文件

执行脚本,确保最后输出备份成功

从服务器slave配置

1.修改mysql配置

修改server-id,每个数据库的server-id要求是唯一的,不能相互冲突

2.首次还原数据库:

还原完成后,把数据库设置成只读模式,如果从库可写会出现冲突导致同步失败

添加如下语句:

3.重启mysql,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):

4.启动slave同步进程:

5.查看slave状态:

当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。接下来就可以进行一些验证了,比如在主master数据库的test数据库的一张表中插入一条数据,在slave的test库的相同数据表中查看是否有新增的数据即可验证主从复制功能是否有效,还可以关闭slave(mysql>stop slave;),然后再修改master,看slave是否也相应修改(停止slave后,master的修改不会同步到slave),就可以完成主从复制功能的验证了。

还可以用到的其他相关参数:

master开启二进制日志后默认记录所有库所有表的操作,可以通过配置来指定只记录指定的数据库甚至指定的表的操作,具体在mysql配置文件的[mysqld]可添加修改如下选项:

如之前查看master状态时就可以看到只记录了test库,忽略了manual和mysql库。

参考链接


ubuntu 16.04防止SSH暴力登录攻击

最近观察服务器的认证日志,发现有些国外的IP地址,多次尝试破解服务器的密码进行登录。于是希望能将多次尝试SSH登录失败的IP阻止掉。

查看日志文件:

看到很多如下的日志:

Failed password for root from 123.15.36.218 port 51252 ssh2
reverse mapping checking getaddrinfo for pc0.zz.ha.cn [218.28.79.228] failed – POSSIBLE BREAK-IN ATTEMPT!
Invalid user akkermans from 218.28.79.228
pam_unix(sshd:auth): check pass; user unknown
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.28.79.228

来统计一下有多少人在暴力破解root密码

如果已经禁用了root登录,则看一下暴力猜用户名的统计信息

某个人尝试了129次。为了防范于未然,我们可以做些配置,让服务器更加安全。

下面的三个方法,可以完全使用,也可以部分使用。一般建议使用其中的第一条跟第三条。

1. 修改SSH端口,禁止root登陆

修改/etc/ssh/sshd_config文件

2. 禁用密码登陆,使用RSA私钥登录

如果服务器只允许使用私钥登录的,但是如果想在别的电脑上临时SSH上来,又没带私钥文件的情况下,就很麻烦。所以还是保留密码验证登录。不管怎样,这一条还是先列出来

3. 安装denyhosts

denyhostsPython语言写的一个程序,它会分析sshd的日志文件,当发现重复的失败登录时就会记录IP/etc/hosts.deny文件,从而达到自动屏IP的功能。现今denyhosts在各个发行版软件仓库里都有。

注意在ubuntu 16.04系统上,如果通过远程的SSH登录到服务器上执行安装命令的话,会由于默认情况下RESET_ON_SUCCESS = yes #如果一个ip登陆成功后,失败的登陆计数是否重置为0这部分,默认情况下是关闭的。而如果恰好我们又出现自己输入的错误密码错误累计次数超过5次的情况(即使后面有成功登录的记录也不行),会导致我们自己当前登录的地址也被阻止的情况。这种情况发生之后,会导致我们自己无法控制服务器(这个阻塞是在iptables层阻塞的,如果要恢复,在iptables中删除已经添加的记录才可以)。解决办法就是换一个新的IP地址登录服务器,然后修改RESET_ON_SUCCESS这个参数,并重启denyhosts服务。如果是阿里云或者腾讯云的服务器,可以尝试从他们网站上提供的网页版本的Shell进行操作。

对于ubuntu 16.04系统,建议使用如下方式进行安装:

默认配置就能很好的工作,如要个性化设置可以修改/etc/denyhosts.conf

查看/etc/hosts.deny发现里面已经有3条记录。

目前ubuntu 16.04系统源里的denyhosts存在一个BUG,就是系统重启之后,iptables中的拦截设置没有恢复。具体的讨论以及描述,参考Iptables not persistent,代码应该已经增加了,目前还没合并到主分支。

参考链接