Skip to content

Commit f69a45b

Browse files
committed
Changed category handling
1 parent 301f051 commit f69a45b

File tree

8 files changed

+344
-18
lines changed

8 files changed

+344
-18
lines changed

config/categories.yaml

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
categories: |
2+
Anwendung;
3+
Anwendung/Clients;
4+
Anwendung/Clients/Browser;
5+
Anwendung/Clients/Browser/Chrome;
6+
Anwendung/Clients/Browser/Firefox;
7+
Anwendung/Clients/Browser/Internet_Explorer;
8+
Anwendung/Clients/Browser/Opera;
9+
Anwendung/Clients/Browser/Safari;
10+
Anwendung/Clients/Browser/Silverlight;
11+
Anwendung/Clients/Instant_Messenger;
12+
Anwendung/Clients/Instant_Messenger/AIM_ICQ;
13+
Anwendung/Clients/Instant_Messenger/MSN_Messenger;
14+
Anwendung/Clients/Instant_Messenger/Trillian;
15+
Anwendung/Clients/Instant_Messenger/Yahoo_Messenger;
16+
Anwendung/Clients/Mail_Groupware;
17+
Anwendung/Clients/Mail_Groupware/Lotus_Notes_Client;
18+
Anwendung/Clients/Mail_Groupware/MS_Outlook_Express;
19+
Anwendung/Clients/Mail_Groupware/MS_WindowsLiveMail;
20+
Anwendung/Clients/Mail_Groupware/MS_WindowsMail;
21+
Anwendung/Clients/Mail_Groupware/MS_Outlook;
22+
Anwendung/Clients/Mail_Groupware/Thunderbird;
23+
Anwendung/Clients/Multimedia;
24+
Anwendung/Clients/Multimedia/Adobe_Flash_Player;
25+
Anwendung/Clients/Multimedia/MS_MediaPlayer;
26+
Anwendung/Clients/Multimedia/Quicktime;
27+
Anwendung/Clients/Multimedia/Real_Player;
28+
Anwendung/Clients/Multimedia/VLC;
29+
Anwendung/Clients/Multimedia/WinAmp;
30+
Anwendung/Clients/Office;
31+
Anwendung/Clients/Office/Acrobat_Distiller;
32+
Anwendung/Clients/Office/Acrobat_Reader;
33+
Anwendung/Clients/Office/Foxit;
34+
Anwendung/Clients/Office/LibreOffice;
35+
Anwendung/Clients/Office/MS_Access;
36+
Anwendung/Clients/Office/MS_Excel;
37+
Anwendung/Clients/Office/MS_Office;
38+
Anwendung/Clients/Office/MS_Powerpoint;
39+
Anwendung/Clients/Office/MS_Project;
40+
Anwendung/Clients/Office/MS_Word;
41+
Anwendung/Clients/Office/MS_Works;
42+
Anwendung/Clients/Office/OpenOffice;
43+
Anwendung/Clients/Office/StarOffice;
44+
Anwendung/Clients/Sonstiges;
45+
Anwendung/Clients/Sonstiges/Citrix;
46+
Anwendung/Clients/Sonstiges/Sun_Java;
47+
Anwendung/Clients/Sonstiges/OpenSSH;
48+
Anwendung/Clients/Sonstiges/pcAnywhere;
49+
Anwendung/Clients/Sonstiges/RealVNC;
50+
Anwendung/Clients/Sonstiges/SecureCRT;
51+
Anwendung/Oracle;
52+
Anwendung/Oracle/BigDataGraph;
53+
Anwendung/Oracle/DatabaseServer;
54+
Anwendung/Oracle/E-BusinessSuite;
55+
Anwendung/Oracle/EnterpriseManager;
56+
Anwendung/Oracle/FusionMiddleware;
57+
Anwendung/Oracle/HealthSciencesApplications;
58+
Anwendung/Oracle/Hyperion;
59+
Anwendung/Oracle/IndustryApplications;
60+
Anwendung/Oracle/JavaSE;
61+
Anwendung/Oracle/JDEdwards;
62+
Anwendung/Oracle/OracleMySQL;
63+
Anwendung/Oracle/PeopleSoft;
64+
Anwendung/Oracle/SecureBackup;
65+
Anwendung/Oracle/SiebelCRM;
66+
Anwendung/Oracle/SupplyChain;
67+
Anwendung/Oracle/Virtualization;
68+
Anwendung/Security;
69+
Anwendung/Security/Antivirus;
70+
Anwendung/Security/Antivirus/Avast;
71+
Anwendung/Security/Antivirus/AVG_Internet_Security;
72+
Anwendung/Security/Antivirus/Avira_Premium_Security_Suite;
73+
Anwendung/Security/Antivirus/ClamAV;
74+
Anwendung/Security/Antivirus/Kaspersky_Internet_Suite;
75+
Anwendung/Security/Antivirus/Norton_AntiVirus;
76+
Anwendung/Security/Antivirus/Norton_Internet_Security;
77+
Anwendung/Security/Antivirus/Outpost_Security_Suite_Pro;
78+
Anwendung/Security/Antivirus/Sophos;
79+
Anwendung/Security/Antivirus/Symantec_Antivirus_Corporate_Edition;
80+
Anwendung/Security/Antivirus/Symantec_Client_Security;
81+
Anwendung/Security/Antivirus/Symantec_Endpoint_Protection;
82+
Anwendung/Security/Antivirus/Symantec_Enterprise_Security_Manager;
83+
Anwendung/Security/Antivirus/Symantec_Mail_Security_for_SMTP;
84+
Anwendung/Security/Antivirus/Symantec_Scan_Engine;
85+
Anwendung/Security/Crypto;
86+
Anwendung/Security/Crypto/PGP;
87+
Anwendung/Security/Crypto/GnuTLS;
88+
Anwendung/Security/Crypto/OpenPGP;
89+
Anwendung/Security/Crypto/OpenSSL;
90+
Anwendung/Security/Firewall;
91+
Anwendung/Security/Firewall/PIX_FWSM;
92+
Anwendung/Security/Firewall/Symantec_Enterprise_Firewall;
93+
Anwendung/Security/Firewall/Zone_Alarm;
94+
Anwendung/Security/IDS_Monitoring;
95+
Anwendung/Security/IDS_Monitoring/snort;
96+
Anwendung/Security/IDS_Monitoring/wireshark;
97+
Anwendung/Security/Sonstiges;
98+
Anwendung/Security/Sonstiges/Symantec_Discovery;
99+
Anwendung/Security/Sonstiges/Symantec_Management_Platform;
100+
Anwendung/Security/Sonstiges/Symantec_Reporting_Server;
101+
Anwendung/Security/Sonstiges/Symantec_Security_Expressions_Audit_and_;
102+
Anwendung/Security/Sonstiges/Symantec_Web_Security;
103+
Anwendung/Security/VPN;
104+
Anwendung/Security/VPN/SINA;
105+
Anwendung/Server;
106+
Anwendung/Server/Backup_Storage;
107+
Anwendung/Server/Backup_Storage/Arcserve;
108+
Anwendung/Server/Backup_Storage/Symantec_Storage_Foundation;
109+
Anwendung/Server/Backup_Storage/Tivoli_Storage_Manager;
110+
Anwendung/Server/Backup_Storage/Veritas;
111+
Anwendung/Server/Cloud_Computing;
112+
Anwendung/Server/Customer-Relationship-Management;
113+
Anwendung/Server/Datenbanken;
114+
Anwendung/Server/Datenbanken/DB2;
115+
Anwendung/Server/Datenbanken/Informix;
116+
Anwendung/Server/Datenbanken/MS_SQL;
117+
Anwendung/Server/Datenbanken/MySQL;
118+
Anwendung/Server/Datenbanken/Oracle;
119+
Anwendung/Server/Datenbanken/PostgreSQL;
120+
Anwendung/Server/Internet_Intranet_Infrastruktur;
121+
Anwendung/Server/Internet_Intranet_Infrastruktur/BIND;
122+
Anwendung/Server/Internet_Intranet_Infrastruktur/eDirectory;
123+
Anwendung/Server/Internet_Intranet_Infrastruktur/ISC_DHCPD;
124+
Anwendung/Server/Mail;
125+
Anwendung/Server/Mail/GroupeWise;
126+
Anwendung/Server/Mail/Lotus_Domino;
127+
Anwendung/Server/Mail/Lotus_Notes_Server;
128+
Anwendung/Server/Mail/Microsoft_Exchange;
129+
Anwendung/Server/Sonstiges;
130+
Anwendung/Server/Sonstiges/JBoss;
131+
Anwendung/Server/Web_Content_Management;
132+
Anwendung/Server/Web_Content_Management/Drupal;
133+
Anwendung/Server/Web_Content_Management/JOOMLA;
134+
Anwendung/Server/Web_Content_Management/TYPO3;
135+
Anwendung/Server/Web_Content_Management/WordPress;
136+
Anwendung/Server/Web_Proxy_Fileserver;
137+
Anwendung/Server/Web_Proxy_Fileserver/Apache_Tomcat;
138+
Anwendung/Server/Web_Proxy_Fileserver/Apache_Webserver;
139+
Anwendung/Server/Web_Proxy_Fileserver/Internet_Information_Services;
140+
Anwendung/Server/Web_Proxy_Fileserver/Sun_Java_System_Webserver;
141+
Anwendung/Server/Web_Proxy_Fileserver/Lotus_Domino_Webserver;
142+
Anwendung/Server/Web_Proxy_Fileserver/MS_Proxy_Server;
143+
Anwendung/Server/Web_Proxy_Fileserver/Samba;
144+
Anwendung/Server/Web_Proxy_Fileserver/Squid;
145+
Anwendung/Virtualisierung_Emulation;
146+
Anwendung/Virtualisierung_Emulation/VMWare;
147+
Betriebssystem;
148+
Betriebssystem/Linux_Unix;
149+
Betriebssystem/Linux_Unix/AIX;
150+
Betriebssystem/Linux_Unix/Android;
151+
Betriebssystem/Linux_Unix/Debian;
152+
Betriebssystem/Linux_Unix/Fedora;
153+
Betriebssystem/Linux_Unix/FreeBSD;
154+
Betriebssystem/Linux_Unix/HP-UX;
155+
Betriebssystem/Linux_Unix/IOS;
156+
Betriebssystem/Linux_Unix/IRIX;
157+
Betriebssystem/Linux_Unix/JUNOS;
158+
Betriebssystem/Linux_Unix/Mac_OS;
159+
Betriebssystem/Linux_Unix/Mac_OS_Server;
160+
Betriebssystem/Linux_Unix/Mac_OS_X;
161+
Betriebssystem/Linux_Unix/NetBSD;
162+
Betriebssystem/Linux_Unix/Netware;
163+
Betriebssystem/Linux_Unix/OpenBSD;
164+
Betriebssystem/Linux_Unix/RedHat;
165+
Betriebssystem/Linux_Unix/Solaris;
166+
Betriebssystem/Linux_Unix/SuSE;
167+
Betriebssystem/Linux_Unix/Ubuntu;
168+
Betriebssystem/Oracle;
169+
Betriebssystem/Oracle/OracleSystems;
170+
Betriebssystem/Windows;
171+
Betriebssystem/Windows/Windows_10;
172+
Betriebssystem/Windows/Windows_2000;
173+
Betriebssystem/Windows/Windows_7;
174+
Betriebssystem/Windows/Windows_8;
175+
Betriebssystem/Windows/Windows_81;
176+
Betriebssystem/Windows/Windows_Server;
177+
Betriebssystem/Windows/Windows_Vista;
178+
Betriebssystem/Windows/Windows_XP;
179+
Hardware;
180+
Spezifikationen;
181+
Spezifikationen/Netzwerkprotokoll;

config/filter_config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ filter_categories: |
5656
1, Anwendung/Virtualisierung_Emulation;
5757
2, Anwendung/Virtualisierung_Emulation;
5858
3, Anwendung/Virtualisierung_Emulation;
59-
2, Anwendung/Anwendung/Virtualisierung_Emulation/VMWare;
60-
3, Anwendung/Anwendung/Virtualisierung_Emulation/VMWare;
59+
2, Anwendung/Virtualisierung_Emulation/VMWare;
60+
3, Anwendung/Virtualisierung_Emulation/VMWare;
6161
1, Betriebssystem;
6262
2, Betriebssystem;
6363
1, Betriebssystem/Linux_Unix;
@@ -80,5 +80,5 @@ filter_categories: |
8080
3, Betriebssystem/Windows/Windows_Server;
8181
1, Hardware;
8282
2, Hardware;
83-
3, Hardware
83+
3, Hardware;
8484
excluded_filter_categories: |

cve-alert-fetcher/cmd/root.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,14 @@ func initConfig() {
199199
AnErr("Error:", err).
200200
Msg("No config found")
201201
}
202+
203+
viper.SetConfigName("categories")
204+
err = viper.MergeInConfig()
205+
if err != nil {
206+
log.Info().
207+
AnErr("Error:", err).
208+
Msg("No config found")
209+
}
202210
}
203211

204212
func parseAndSetLogLevel(loglevel string) error {

cve-alert-fetcher/cve_alert_fetcher_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ func init() {
5858
Msg("Failed reading in config")
5959
}
6060

61+
viper.SetConfigName("categories")
62+
err = viper.MergeInConfig()
63+
if err != nil {
64+
log.Error().
65+
AnErr("Error:", err).
66+
Msg("Failed reading in config")
67+
}
68+
6169
viper.Set("init-db", true)
6270
viper.Set("no-dele", true)
6371
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})

cve-alert-restapi/cmd/root.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,6 @@ func initConfig() {
149149
AnErr("Error:", err).
150150
Msg("No config found")
151151
}
152-
153-
viper.SetConfigName("filter_config")
154-
err = viper.MergeInConfig()
155-
if err != nil {
156-
log.Info().
157-
AnErr("Error:", err).
158-
Msg("No config found")
159-
}
160152
}
161153

162154
func parseAndSetLogLevel(loglevel string) error {

cve-alert-restapi/cve_alert_restapi_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ func init() {
5959
Msg("Failed reading in config")
6060
}
6161

62+
viper.SetConfigName("categories")
63+
err = viper.MergeInConfig()
64+
if err != nil {
65+
log.Error().
66+
AnErr("Error:", err).
67+
Msg("Failed reading in config")
68+
}
69+
6270
viper.Set("init-db", true)
6371
viper.Set("no-dele", true)
6472
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
@@ -402,7 +410,7 @@ func TestFilterCategoriesRequestAll(t *testing.T) {
402410
func TestFilterCategoriesAdd(t *testing.T) {
403411
client := resty.New()
404412
url := "http://localhost:" + port + "/filtercategory/add"
405-
resp, err := client.R().SetHeader("Content-Type", "application/json").SetBody("{\"filter_id\":\"3\",\"category\":\"Test\"}").Post(url)
413+
resp, err := client.R().SetHeader("Content-Type", "application/json").SetBody("{\"filter_id\":\"3\",\"category\":\"Anwendung/Clients/Browser/Firefox\"}").Post(url)
406414
if err != nil {
407415
log.Error().
408416
AnErr("Error", err).

cve-alert-restapi/request-handler/requestHandler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,7 @@ func addFilterCategory(c echo.Context) error {
922922
}
923923
err := alertmanager.AddFilterCategory(db, filterCategory.FilterId, filterCategory.Category)
924924
if err != nil {
925-
return c.String(http.StatusNotFound, "Filter Category already in DB!\n")
925+
return c.String(http.StatusBadRequest, "Filter Category already in DB!\n")
926926
}
927927
return c.String(http.StatusOK, "Added filter category!\n")
928928
}
@@ -1023,7 +1023,7 @@ func deleteExcludedFilterCategory(c echo.Context) error {
10231023
func getAllCategories(c echo.Context) error {
10241024
var categoryList []alertmanager.Category
10251025
sb := sqlbuilder.MySQL.NewSelectBuilder()
1026-
sb.Select("category").From("case_categories").GroupBy("category")
1026+
sb.Select("category").From("categories")
10271027
sql, args := sb.Build()
10281028
query, err := sqlbuilder.MySQL.Interpolate(sql, args)
10291029
if err != nil {
@@ -1049,7 +1049,7 @@ func getAllCategories(c echo.Context) error {
10491049
func getCategoriesOfOther(c echo.Context) error {
10501050
var categories []alertmanager.Category
10511051
sb := sqlbuilder.MySQL.NewSelectBuilder()
1052-
sb.Select("category").From("case_categories").Where("case_categories.category NOT IN (SELECT category FROM filter_categories)").GroupBy("category")
1052+
sb.Select("category").From("categories").Where("categories.category NOT IN (SELECT category FROM filter_categories)")
10531053
sql, args := sb.Build()
10541054
query, err := sqlbuilder.MySQL.Interpolate(sql, args)
10551055
if err != nil {

0 commit comments

Comments
 (0)