From 63a5ee43c4662586af0f4fb002f4477b80e5d4d2 Mon Sep 17 00:00:00 2001 From: aixiao Date: Mon, 14 Nov 2022 16:07:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20char=20*remove=5Fspace(con?= =?UTF-8?q?st=20char=20*str)=20=E5=87=BD=E6=95=B0=E9=9D=9E=E6=B3=95?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E5=86=85=E5=AD=98=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 49 ++++++++++++++---------- clamscan/shared/linux/cert_util_linux.o | Bin 38600 -> 38656 bytes libiptc.c | 5 +++ rhost.c | 29 ++++++++------ 4 files changed, 51 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 2c512d8..e7c7c51 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,46 @@ # denyhosts -拒绝主机&杀毒,适用Debian 8、9、11 Centos 7 -支持钉钉告警和邮件告警 -支持第三方QQ邮箱告警 -支持一次运行检测、后台运行检测 -支持系统病毒扫描 - +- 拒绝主机&杀毒 ``` -Debian系统请安装libcurl、iptables-devel、libclamav-dev +适用系统: + Debian 8、9、11 + Centos 7 +支持系统病毒扫描 +支持一次运行检测、后台运行检测 +支持钉钉告警和邮件告 +支持第三方QQ邮箱告警 +``` +``` +Debian apt install libclamav-dev libip4tc-dev libcurl4-openssl-dev #(或者libcurl4-gnutls-dev) apt install libsystemd-dev libjson-c-dev libpcre2-dev clamav-freshclam freshclam # 更新病毒库(必要) + + + 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 ``` ``` -Centos 7系统请安装libcurl、iptables-devel、libclamav-devel - yum install clamav clamav-update clamav-lib clamav-devel json-c-devel pcre2-devel +Centos 7 + 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 + + yum -y install centos-release-scl + yum -y install devtoolset-11-gcc + source /opt/rh/devtoolset-11/enable #临时 + echo "source /opt/rh/devtoolset-11/enable" >> /etc/profile #永久 freshclam # 更新病毒库(必要) + ``` + + ``` 用法 cd /root @@ -43,17 +63,6 @@ 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 { diff --git a/clamscan/shared/linux/cert_util_linux.o b/clamscan/shared/linux/cert_util_linux.o index 9425b7a7f8ca87271b23b4526909b1e1b59c9856..65da7fbd6e1eeab06d7e2b69ae6bf16767464d88 100644 GIT binary patch delta 7239 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 AJpcdz delta 7088 zcmZXZ33yc1702Hl$VS65N#N!M2#G)-LGlrqvg`PL>420A7ecXBT|DAj8cFuV( z!?G7#NB6om^;B!>G7DVlPxUKY`O&I>{i)awV>&<3(?~JsDvcc(Z5Z9`+nAPvsExm` zO&@&N?rdyM8^h?>F0Ba1+!-~4+R~Q?y6>cq7Pf8cjP~p88|O=pRyOGAeCg>fqAz`% zFPY&lgN+#Fvb)9EP3x={Gsz;szHc+MMSMPezDGi=-561}-$a|WzAwHHDd*`QN)x)> zp4cv8)7{4HZ;#Hfm91nSZ*&Ux@U-nqQq*4R5_Zwf6ZW2ucM{TumD|=Ik#%f;T3Wm_ zfrNmo%`)n{F5=3_ustbHcx?ODz7m!5sh&+Z*cS^EdnDL1Y84?r zlT}~TB_?Japu6F2!-!U6TnlLG5es{5*UatpRpOh(l!X72w<9GfrRzV)`Vf1mBwwRl zOGWojZM!tv(G|xoE_@8(;W|VHO++y1W|e~1l5SJmaVe?GsC??+OpTnjXyxl+7+I^r z8|d^2uU_?zyFzEyYde8f*W5mP^W)77dq>825wqHNSLFz{U#DKI@7!UcuHV!d5teTt zG|H34#!4YY9KCA z`w23~SY{IsQz|?hM%fsx9>iL*857Pc!`Lot@^E~NrS?OO)#iY3IYd{H+p@+EkR zy=GIm_!<ptm7NeP?%Z`cw$I10kYcQJ&jZK+y4MB6^AGdO?REeWIn};G=du0u!su zzjF2*6PBfL`!%Iurr%3hQs&p@QJ&8^VYw5vetT1nlg;{6XI4?s&S&IM?|_=5&G(tQ z1#Jxv(UzG`pU#5LhM(verkR3PAV}2R%jtWIpc@gIq*XhdnB-M&BYm<~TQP95S5+b~ zS)1SXbb758y@sN0vZbb>k!;rSs&@#RkKmr7O`YU;*e7Uz}Pyf$?E=3v98V=>R z1ofbHidL`Tz!b|&;2{1&*c^tMYS%E&RBd{?Idd>#oX^OfAA_H4jv`1lRUF(Mg-sA4 zve|>Csan+|ZklEG=6Dz)Ec?JW&90XLYTra1wX4xMO`GrX=;gwGB;3=r+J(&NmU;#S z)Q-d2>BTAYo<(Se*UYg?CtX(r9fP2KP*@h9h&PWqP#Z zp+MMVpp0xbVC~FevpuhFnXq{VYL+%j`1Cgj`U*TmT^#dI3HmbpL^HVWEmDTN#cr5XmQC)0W!l`xQyeRd(hwqgH@|dF5%ftk5#7eLOwd6{ zpRehGGjM)!UP*>CwI_tlRW1O}3O&F+cM81=8s}>>n$xRZ(35a4@S3Zb{!P%9C|jV- z1N%gz*U}2waZhkRW8qgU z5x*o&{Dre*+lO7M{0I>3!g)7aP|BJLuj`x}mn*W(!mdu&Ey8FOax1l(h=NKl`jp4w zca=R=KOC>L)B{jeIuBeD8$`cvc}GqOJ%t13GojxJe-)K?rsoCSiy+ZXypR7Cv<@Mn z4V>Vu;&0r995m59qc~Bupy#=0qzc{33DHgH$KhLOQ3MATTAmABvhET#r};RB3;lI8 zF4SrWE|CXHyK2j<=A$VWmiMEqTB{RSOEw>K9B&dft8l#9YtG|!?Gbb?Jd3pX6R+Z+ zpq=4gr0E^EdXZ&r;G)_fY@S1CQ8B#}r!Ur~pZC@X|H*ni-K*dudYCi0jiCJyAex-z zoJS`?d!cTzrH-R&{sLw-w=8tN5-2%pTcMOp3rl6 ziyMUg$CgekoO1N*i&4DCpNS5)@0-C zCf<|p&_px&u^F{JKf`^0YNp%0MnpRxieFUhJ+$q=bYz2momi#KHcS<%c0N@w?T7%; zeuBQrbOh>%<_j9}JO_1(yQuUTJv zUn8-47(Sx!HKVrY3ikYW1c;sxo_%CtUuVO8uL{Z`XS74(T3ypI@*+z1_FCrgUv}w2 zAI$mKL+JhNL!qm;(D!pe?B>$JI8(0`>lG=Lz{ z)qJey4>41G(=zrjFg5-%XAIqU177N1d*2i+2ESc)0| diff --git a/libiptc.c b/libiptc.c index b39324e..3a98df9 100644 --- a/libiptc.c +++ b/libiptc.c @@ -33,6 +33,11 @@ int show_all_rule(char *ipv4) struct ipt_counters counter; handle = iptc_init("filter"); + + if ( !handle ) { + printf("Error initializing: %s\n", iptc_strerror(errno)); + exit(errno); + } for (chain = iptc_first_chain(handle); chain; chain = iptc_next_chain(handle)) { if (chain != NULL && handle != NULL) { diff --git a/rhost.c b/rhost.c index 2adc32c..25b588b 100644 --- a/rhost.c +++ b/rhost.c @@ -87,7 +87,8 @@ int check_system() if (0 == access("/etc/debian_version", F_OK)) { return DEBISN_SYSTEM; - } else if (0 == access("/etc/centos-release", F_OK)) + } + else if (0 == access("/etc/centos-release", F_OK)) { return CENTOS_SYSTEM; } @@ -265,10 +266,10 @@ char *remove_space(const char *str) return '\0'; } - strRet = (char *)malloc(uLen + 1); - memset(strRet, 0, uLen + 1); + strRet = (char *)malloc(uLen + 2); + memset(strRet, 0, uLen + 2); - for (i = 0; i < uLen + 1; i++) + for (i = 0; i < uLen; i++) { if (str[i] != ' ') { @@ -419,6 +420,7 @@ int rule(conf * conf) memset(temp, 0, BUFFER); memcpy(temp, p + 12, p1 - p - 12); location = remove_space(temp); + printf("%s\n", location ); } memset(iplocation, 0, BUFFER); @@ -427,9 +429,11 @@ int rule(conf * conf) strcat(iplocation, location); strcat(iplocation, ")"); - if (location) + printf("%s\n", iplocation ); + + if (location != NULL) free(location); - if (location_json) + if (location_json != NULL) free(location_json); // 地域白名单 @@ -515,11 +519,12 @@ int process_argv(int argc, char *argv[], char **argvs) { argvs[0] = argv[0]; int i; + int j; for (i = 0; i <= argc - 1; i++) { if (i == 1) { - for (int j = i; j <= argc - 2; j++) + for (j = i; j <= argc - 2; j++) { argvs[j] = argv[j + 1]; } @@ -578,6 +583,7 @@ int main(int argc, char *argv[], char **env) signal(SIGCHLD, sig_child); // 创建捕捉子进程退出信号 int pid; + int i; // 读取配置 char path[BUFFER] = { 0 }; @@ -607,7 +613,7 @@ int main(int argc, char *argv[], char **env) { argvs[0] = argv[0]; split_string(conf->CLAMAV_ARG, " ", args); - for (int i=1; i