拒绝主机&杀毒
Go to file
2022-11-04 19:37:03 +08:00
clamscan 大量测试暂时未发现Bug. 2022-11-04 19:37:03 +08:00
libiptc 完全静态编译 2022-10-14 10:46:34 +08:00
ccronexpr.c 添加cron定时解析配置,设定时间杀毒 2022-10-25 23:07:47 +08:00
ccronexpr.h 添加cron定时解析配置,设定时间杀毒 2022-10-25 23:07:47 +08:00
clamscan.h 添加病毒扫描 2022-10-22 18:41:00 +08:00
conf.c 修复libiptc没有iptc_free(),修复内存泄漏。 2022-10-28 21:53:48 +08:00
conf.h 修复libiptc没有iptc_free(),修复内存泄漏。 2022-10-28 21:53:48 +08:00
denyhosts.sh 增加地域白名单 2022-10-13 18:01:06 +08:00
freshclam.conf 大量测试暂时未发现Bug. 2022-11-04 19:37:03 +08:00
libclamav.h 大量测试暂时未发现Bug. 2022-11-04 19:37:03 +08:00
libiptc.c 修复libiptc没有iptc_free(),修复内存泄漏。 2022-10-28 21:53:48 +08:00
libiptc.h 修改获取公网IP方法,优化配置打印 2022-10-08 14:28:05 +08:00
Makefile 大量测试暂时未发现Bug. 2022-11-04 19:37:03 +08:00
README.md 大量测试暂时未发现Bug. 2022-11-04 19:37:03 +08:00
rhost.c 大量测试暂时未发现Bug. 2022-11-04 19:37:03 +08:00
rhost.conf 修复libiptc没有iptc_free(),修复内存泄漏。 2022-10-28 21:53:48 +08:00
rhost.h 修复libiptc没有iptc_free(),修复内存泄漏。 2022-10-28 21:53:48 +08:00

denyhosts

拒绝主机&杀毒,适用Debian 8、9、11 Centos 7
支持钉钉告警和邮件告警
支持第三方QQ邮箱告警
支持一次运行检测、后台运行检测
支持系统病毒扫描

Debian系统请安装libcurl、iptables-devel、libclamav-dev   
    apt install libclamav-dev  libip4tc-dev libcurl4-openssl-dev    #(或者libcurl4-gnutls-dev)  
    apt install libsystemd-dev libjson-c-dev libpcre2-dev clamav-freshclam
    freshclam  # 更新病毒库(必要)
Centos 7系统请安装libcurl、iptables-devel、libclamav-devel  
    yum install clamav clamav-update clamav-lib  clamav-devel json-c-devel pcre2-devel
    yum install iptables-devel libcurl-devel 
    yum install systemd-devel libtool-ltdl-devel  
    freshclam  # 更新病毒库(必要)
用法
cd /root
git clone https://git.aixiao.me/aixiao/denyhosts  
cd denyhosts  
make clean; make  

启动:
./rhost -d -r / --exclude-dir="^/sys|^/dev|^/proc|^/opt/infected|^/root|^/home" --move=/opt/infected --max-filesize 1024M -l clamscan.log    # 用户指定参数,后台运行并扫描病毒

./rhost -d  # 后台运行读取配置文件参数

./rhost     # 只处理非法攻击


关闭
killall 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_ARG = "-r / --exclude-dir="^/sys|^/dev|^/proc|^/opt/infected|^/root|^/home|^/mnt" --move=/opt/infected --max-filesize 1024M -l clamscan.log";
    CLAMAV_TIME = "* 17 13 * * *";          // 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邮箱告警(默认使用gomailhttps://git.aixiao.me/aixiao/gomail.git)(1开启,非1关闭)
    RECV_MAIL = "1605227279@qq.com";        // 接收者QQ
}