# denyhosts 拒绝主机&杀毒,适用Debian 8、9、11 Centos 7 支持钉钉告警和邮件告警 支持第三方QQ邮箱告警 支持一次运行检测、后台运行检测 ``` Debian系统请安装libcurl、iptables-devel、libclamav-devel apt install libclamav-dev libip4tc-dev libcurl4-openssl-dev #(或者libcurl4-gnutls-dev) freshclam # 更新病毒库(必要) ``` ``` Centos 7系统请安装libcurl、iptables-devel、libclamav-devel yum install clamav clamav-update clamav-lib yum install iptables-devel libcurl-devel freshclam # 更新病毒库(必要) ``` ``` 用法 cd /root git clone https://git.aixiao.me/aixiao/denyhosts cd denyhosts make clean; make chmod a+x /root/denyhosts/denyhosts.sh crontab 定时任务,像这样. 0 22 * * * /root/denyhosts/denyhosts.sh 示列: ./rhost -d -r / --exclude-dir="^/sys|^/dev|^/proc|^/opt/infected|^/root|^/home" --move=/opt/infected --max-filesize 1024M -l clamscan.log #后台运行并扫描病毒 ./rhost # 只处理非法攻击 ``` ``` Debian系统使用libiptc库需要nftables切换到iptables Switching to the legacy version:(切换到 iptables) update-alternatives --set iptables /usr/sbin/iptables-legacy update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy update-alternatives --set arptables /usr/sbin/arptables-legacy update-alternatives --set ebtables /usr/sbin/ebtables-legacy ``` ``` 配置文件 global { DAEMON = "off"; // on开启后台运行,off不开启 TIME = "10"; // 睡眠时间(大于等于1,单位秒) PUBLIC_IP = "http://inet-ip.info"; // 获取公网IP IS_BLOCKED = 1; // 是否封禁攻击IP(1开启,非1关闭) REFUSE_NUMBER = 3; // 拒绝攻击次数 CLAMAV = 1; // clamav 是否扫描病毒(测试阶段)(1开启,非1关闭) CLAMAV_TIME = "* 22 21 * * *"; // clamav 扫描时间(Cron格式, 秒 分 时 天 月 周) IPV4_RESTRICTION = 1; // 是否启用IP白名单(1开启,非1关闭) IPV4_WHITE_LIST = "1.1.1.1 "; // IP白名单(空格隔开) REGION = 1; // 是否启用地域白名单(1开启,非1关闭) REGION_URL = "http://opendata.baidu.com/api.php?query=%s&co=&resource_id=6006&oe=utf8"; // 获取IP地域 REGION_LIST = "河南 郑州"; // 地域列表(空格隔开) IS_MAIL = 0; // 开启邮件告警(1开启,非1关闭) IS_DING_WEBHOOK = 0; // 开启叮叮告警(1开启,非1关闭) PHONE = "15565979082"; // @的人手机号 DING_WEBHOOK = "https://oapi.dingtalk.com/robot/send?access_token=7f069c672cb878987aa6772cca336740eece4ce36bde12b51b45e9f440e0565a"; // 钉钉WEBHOOK IS_QQMAIL = 1; // 开启QQ邮箱告警(默认使用gomail:https://git.aixiao.me/aixiao/gomail.git)(1开启,非1关闭) RECV_MAIL = "1605227279@qq.com"; // 接收者QQ } ```