分类
未分类

使用nmap 每秒监控端口开启情况

端口监控脚本:touch 1.sh

#!/bin/bash
ADDR=10.1.25.2
TMPSTR=`ping ${ADDR} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'`
port=443
check_ip=`nmap $TMPSTR -p $port|grep open|wc -l`
starttime=$(date +%Y-%m-%d\ %H:%M:%S)
echo $starttime
if [ $check_ip -eq 0 ];then
	echo "${starttime}	${TMPSTR}:${port}	DEAD!!!" >>error.txt
fi
echo "${starttime}	${TMPSTR}:${port}	OK" >>success.txt

如果需要每分钟检测一次 将 */1 * * * * /bin/bash 1.sh 加入crontab即可 如果需要秒级监控 则需要第二个脚本配合使用

touch 2.sh


#!/bin/bash
step=2
for (( i = 0; i < 60; i=(i+step) )); do
    $(/bin/bash '第一个脚本的绝对路径')
    sleep $step
done
exit 0

然后再将*/1 * * * * /bin/bash 2.sh 加入crontab即可

监控输出效果如下

分类
未分类

debian zabbix4 使用外部smtp(gmail)发送告警邮件

安装heirloom-mailx

apt-get install heirloom-mailx

申请证书 使用gmail邮箱发件 需要在gmail账户安全设置中开启允许不安全应用

mkdir -p /root/.certs/
apt-get install libnss3-tools
echo -n | openssl s_client -connect smtp.gmail.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/mail.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/mail.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/mail.crt
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/mail.crt
certutil -L -d /root/.certs

在配置文件 /etc/s-nail.rc 中底部加入自己的smtp信息

set from=xxxx@gmail.com
set smtp=smtps://smtp.gmail.com:465
set smtp-auth-user=xxxx@gmail.com
set smtp-auth-password=xxxx
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

保存后测试发件

echo test | s-nail -s "testtitle" bbbb@gmail.com

此时gmail会提示拦截未知登录,需要允许后再去修改一次密码 ,然后更新新密码到配置文件中,再次执行测试邮件,邮件就可以正常收到。

接下来 新建一个报警通知脚本 (自带的email类型是个坑 应该是只能使用内网smtp服务器 需要用s-nail和脚本来实现外网smtp)

vi /usr/lib/zabbix/alertscripts/mailx.sh

#!/bin/bash
echo "$3" | s-nail -s "$2" $1

然后在zabbix中新建一个报警媒介,类型选择脚本,名称为/usr/lib/zabbix/alertscripts/「mailx.sh」

然后点击右上角用户图标-报警媒介 添加需要通知的邮箱和报警规则 更新即可

分类
未分类

proxmox 节点右下角灰色叉号 节点离线 解决办法

用iso安装的一台proxmox5.4 每天运行一段时间后节点离线 虚拟机运行正常 但无法监控和控制

重启pvestatd服务后约10秒 可恢复绿色状态

systemctl restart pvestatd

可加入crontab 定时重启 问题基本解决

分类
未分类

RHEL/Centos SSH服务和SFTP服务分离并限制sftp用户家目录记录

分离服务:

复制一份sshd服务

cp /usr/lib/systemd/system/sshd.service  /etc/systemd/system/sftpd.service
cp /etc/pam.d/sshd  /etc/pam.d/sftpd
cp /etc/ssh/sshd_config  /etc/ssh/sftpd_config
ln -sf  /usr/sbin/service  /usr/sbin/rcsftpd
ln -sf  /usr/sbin/sshd  /usr/sbin/sftpd
cp /etc/sysconfig/sshd  /etc/sysconfig/sftp

修改sftpd.service配置文件

vm /etc/systemd/system/sftpd.service

修改sftpd_config配置文件

vm /etc/ssh/sftpd_config

116行,将PidFile /var/run/sshd.pid改成PidFile /var/run/sftpd.pid

第132行,将
Subsystem  sftp  /usr/libexec/openssh/sftp-server
注释,并添以下5行

Subsystem sftp internal-sftp
Match User sftpuser1
         ChrootDirectory /data/sftpuser1
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp
Match User sftpuser2
         ChrootDirectory /data/sftpuser2
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

ChrootDirectory可以锁定sftp用户的登录根目录,设置ChrootDirectory会遇到两个坑
1、 设置的目录 如:/data/user1 所属用户不能设置为user1:user1否则连不上 需要设置为root:user1
2、/data/user1 权限不能设置为777 否则也连不上 设置755可以连上 但用户在他的自己根下无法写入 所以在用户根下再建一个目录 /data/user1/data 这个目录可以自由设置归属和权限

分类
未分类

哀悼日网站变成灰色

<style type="text/css">html{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url("data:image/svg+xml;utf8,#grayscale"); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(1);} </style> 
分类
未分类

Proxmox在LXC容器内运行Docker

登录web面板,选择需要添加权限的容器=>选项=>签名=>打开嵌套,重启后容器运行Docker不会再报错。

如果没有效果 手动编辑容器配置文件重启容器即可

cd /etc/pve/lxc
vi 机器号.conf
添加三行

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop: