summaryrefslogtreecommitdiff
path: root/MIBS/dlink/DLINKSW-DOS-PREVENT-MIB
blob: 635b62d8e0b7a8327389a3d18210fa58d540696b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
--  *****************************************************************
--  DLINKSW-DOS-PREVENT-MIB.mib : DoS (Denial of Service) Prevention MIB
-- 
--  Copyright (c) 2013 D-Link Corporation, all rights reserved.
--   
--  *****************************************************************

    DLINKSW-DOS-PREVENT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        TEXTUAL-CONVENTION
            FROM SNMPv2-TC
        MODULE-IDENTITY,OBJECT-TYPE,Unsigned32,Counter64,IpAddress
            FROM SNMPv2-SMI
        TruthValue
            FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF   
        InterfaceIndexOrZero
            FROM IF-MIB
        dlinkIndustrialCommon
            FROM DLINK-ID-REC-MIB;  

    dlinkSwDosPrevMIB MODULE-IDENTITY
		LAST-UPDATED "201305300000Z"
        ORGANIZATION "D-Link Corp."
        CONTACT-INFO
            "        D-Link Corporation

             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
                     Taipei City 114, Taiwan, R.O.C
             Tel:     +886-2-66000123
             E-mail: tsd@dlink.com.tw
            "
        DESCRIPTION
           "This MIB contains managed objects for the DOS Protection 
            application of the device."
	    REVISION        "201305300000Z"
        DESCRIPTION
            "Initial version of this MIB module."
        ::= { dlinkIndustrialCommon 59 }

--
-- Textual conventions
--

    DosAttackType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION 
            "This data type indicates a well-known DoS type which can be detected.
            Note that a particular agent may support only certain DoS attack
            types. Thus, the valid values of this object are project
            dependent. An agent may respond with an error 
            (e.g., 'inconsistentValue ') to a management SET operation which
            attempts to modify the value to one which is not supported by the
            managed device."
            SYNTAX INTEGER{   
            landAttack(1),
            blatAttack(2),
            smurfAttack(3),
            tcpNullScan(4),
            tcpXmasScan(5),
            tcpSynFin(6),
            tcpSynSrcPortLess1024(7),
            arpMacSaMismatch(8),
            fraggleAttack(9),
            icmpRedirectAttack(10),
            icmpUnreachableAttack(11),
            ipRouteRecordAttack(12),
            ipSourceRouteAttack(13),
            pingDeathAttack(14),
            tcpFlagSynRst(15),
            tcpOverMacMcbc(16),
            tcpSynWithData(17),
            tcpTinyFragAttack(18),
            tcpUdpPortZero(19),
            tracertAttack(20),
            winNukeAttack(21),
            pingFlood(22),
            synFlood(23),
            teardrop(24),
            all(999) }

-- ***************************************************************************
-- Node definitions
-- ***************************************************************************
    dDosPrevMIBNotifications OBJECT IDENTIFIER ::= { dlinkSwDosPrevMIB 0 }
    dDosPrevMIBObjects       OBJECT IDENTIFIER ::= { dlinkSwDosPrevMIB 1 }
    dDosPrevMIBConformance   OBJECT IDENTIFIER ::= { dlinkSwDosPrevMIB 2 }
        
-- ***************************************************************************
-- dDosPrevMIBObjects
-- ***************************************************************************
    dDosPrevGlobalNotifsEnabled  OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION   
            "Set to 'true' to enable global SNMP notification
            for DoS prevention feature.  Setting the object to
            'false' will disable SNMP notifications."
        DEFVAL      { false }              
        ::= { dDosPrevMIBObjects 1}
        
    dDosPrevNotifyInfo  OBJECT IDENTIFIER ::= { dDosPrevMIBObjects 2 }
    
    dDosPrevNotiInfoDropFramesCount OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
            "This object indicates the total dropped packets due to DoS attack
            in the past 5 minutes."
        ::= { dDosPrevNotifyInfo 1 }

    dDosPrevNotiInfoDropIpAddr OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
            "If the DoS packet is from the end station, represent the IP address of attacker;
            otherwise represent the router's IP."
        ::= { dDosPrevNotifyInfo 2 }

    dDosPrevNotiInfoDropPortNumber OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
            "This object indicates the attacked port number."
        ::= { dDosPrevNotifyInfo 3 }
                       
    dDosPrevCtrlTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF DDosPrevCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table includes the settings of all DoS prevention 
            types supported by the Switch.             
            Note: the special attack type 'all' is not included
            in this table."             
        ::= { dDosPrevMIBObjects 3 }
           
    dDosPrevCtrlEntry OBJECT-TYPE
        SYNTAX          DDosPrevCtrlEntry                         
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A single entry in the DoS prevention control table."             
        INDEX   { dDoSPrevCtrlAttackType }
        ::= { dDosPrevCtrlTable 1 }
               
    DDosPrevCtrlEntry ::=   SEQUENCE {
        dDoSPrevCtrlAttackType          DosAttackType,
        dDoSPrevCtrlEnabled             TruthValue,
        dDoSPrevCtrlActionType          INTEGER,
        dDoSPrevCtrlRedirectPort        InterfaceIndexOrZero,
        dDoSPrevCtrlRedirectPriority    INTEGER,
        dDoSPrevCtrlRedirectRateLimit   Unsigned32
    }
        
    dDoSPrevCtrlAttackType OBJECT-TYPE
        SYNTAX          DosAttackType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the DoS attack type."
        ::= { dDosPrevCtrlEntry 1 }
    
    dDoSPrevCtrlEnabled OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the state of the DoS attack type.
            Setting this object to 'false' will reset other columnar
            objects in the same row."
        DEFVAL      { false }      
        ::= { dDosPrevCtrlEntry 2 }
       
    dDoSPrevCtrlActionType OBJECT-TYPE
        SYNTAX  INTEGER    {   
            drop(1),
            redirect(2)      
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the action for the DoS prevention type. 
            If this object is set to 'redirect' and dDoSPrevCtrlEnabled is
            'true', the configuration will not take effect until a valid
            redirect port (dDoSPrevCtrlRedirectPort) is specified. If redirect
            port is not valid, the switch behaves same as 'drop' is set."
        DEFVAL      { drop }    
        ::= { dDosPrevCtrlEntry 3 }     
        
    dDoSPrevCtrlRedirectPort OBJECT-TYPE
        SYNTAX          InterfaceIndexOrZero
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the port to which the attacking packet will 
            be redirected. A value of 0 means redirect port is unspecified. 
            This object can only be modified for entries whose value of
            dDoSPrevCtrlEnabled is 'true' and dDoSPrevCtrlActionType is 
            'redirect'. Otherwise, inconsistentValue error will be returned." 
        DEFVAL      { 0 }            
        ::= { dDosPrevCtrlEntry 4 }
    
    dDoSPrevCtrlRedirectPriority OBJECT-TYPE
        SYNTAX          INTEGER (0..8)
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "This object configures the priority for the redirected attacking 
            packets. Valid priority values are from 0 to 7. 
            A value of 8 indicates that the original priority will not be 
            changed when the packet is redirected.
            This object can only be modified for entries whose value of
            dDoSPrevCtrlEnabled is 'true', dDoSPrevCtrlActionType is 
            'redirect' and dDoSPrevCtrlRedirectPort is specified. 
            Otherwise, inconsistentValue error will be returned."
        DEFVAL      { 8 }     
        ::= { dDosPrevCtrlEntry 5 }
    
    dDoSPrevCtrlRedirectRateLimit  OBJECT-TYPE
        SYNTAX          Unsigned32 (0..100000000)
        UNITS           "kbps"
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "This object indicates the rate-limit (kilobit per second) for 
            redirecting DoS attacking packets.
            The valid range and granularity is project dependent.             
            A value of 0 indicates that there is no limit for redirecting
            DoS attacking packets.
            This object can only be modified for entries whose value of
            dDoSPrevCtrlEnabled is 'true', dDoSPrevCtrlActionType is 
            'redirect' and dDoSPrevCtrlRedirectPort is specified.
            Otherwise, inconsistentValue error will be returned."           
        DEFVAL      { 0 }      
        ::= { dDosPrevCtrlEntry 6 }           

    dDoSPrevCounterTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DDoSPrevCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table contains the counters of DoS prevention 
            types supported by the Switch. 
            This table only contains one entry of attack type is 'all' if per
            DoS-type counters is not supported." 
       ::= { dDosPrevMIBObjects 4 }

    dDoSPrevCounterEntry OBJECT-TYPE
        SYNTAX      DDoSPrevCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A single entry in the DoS prevention counter table." 
       INDEX   { dDoSPrevCounterAttackType }
       ::= { dDoSPrevCounterTable 1 }

    DDoSPrevCounterEntry ::=    SEQUENCE {
        dDoSPrevCounterAttackType       DosAttackType, 
        dDoSPrevCounterFrameCount       Counter64,
        dDoSPrevCounterClearCounter     INTEGER
    } 
    
    dDoSPrevCounterAttackType OBJECT-TYPE
        SYNTAX          DosAttackType 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the DoS attack type."
        ::= { dDoSPrevCounterEntry 1 }
    
    dDoSPrevCounterFrameCount OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the number of frames detected for 
            the DoS attack prevention type."
        ::= { dDoSPrevCounterEntry 2 } 

    dDoSPrevCounterClearCounter OBJECT-TYPE
        SYNTAX      INTEGER   {   
            clear(1),
            noOp(2)
        }
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "This object is used to reset the counter of the specific 
            attack type when set to 'clear'.
            No action is taken if this object is set to 'noOp'.
            When read, the value 'noOp' is returned."
        DEFVAL      { noOp }
        ::= { dDoSPrevCounterEntry 3 }

--  ***************************************************************************	
--  Notifications
--  ***************************************************************************               
    dDosPreveAttackDetected NOTIFICATION-TYPE
        OBJECTS { dDosPrevNotiInfoDropFramesCount }
        STATUS  current
        DESCRIPTION
            "This trap is sent when dDosPrevGlobalNotifsEnabled is 'true' and 
            the DoS attack occurs in the past 5 minutes."
        ::= { dDosPrevMIBNotifications 1 }

     dDosPreveAttackDetectedPacket NOTIFICATION-TYPE
        OBJECTS { 
                  dDoSPrevCtrlAttackType,
                  dDosPrevNotiInfoDropIpAddr,
                  dDosPrevNotiInfoDropPortNumber
                }
        STATUS  current
        DESCRIPTION
            "This trap is sent when dDosPrevGlobalNotifsEnabled is 'true' and 
            the DoS attack occurs to detect the dropped attack packets."
        ::= { dDosPrevMIBNotifications 2 }

--  ***************************************************************************	
--  Conformance
--  ***************************************************************************
    dDosPrevMIBCompliances 
        OBJECT IDENTIFIER ::= { dDosPrevMIBConformance 1 }
    dDosPrevMIBGroups
        OBJECT IDENTIFIER ::= { dDosPrevMIBConformance 2 }

    dDosPrevMIBCompliance MODULE-COMPLIANCE
        STATUS          current   
        DESCRIPTION
            "The compliance statement for the DoS Prevention MIB."
        MODULE -- this module
        MANDATORY-GROUPS { 
            dDosPrevBasicGroup,
            dDosPrevNotifyObjectGroup,
            dDosPrevNotificationsGroup                     
        }                       
        GROUP dDosPrevActionRedirectCtrlGroup
        DESCRIPTION
            "This group need not be implemented if only support 'drop' for DoS
            attack."
        ::= { dDosPrevMIBCompliances 1 }
        
    dDosPrevBasicGroup OBJECT-GROUP
        OBJECTS    {                       
            dDoSPrevCtrlEnabled,
            dDoSPrevCounterFrameCount,
            dDoSPrevCounterClearCounter
        }
        STATUS          current
        DESCRIPTION
            "The collection of objects provides basic control for DoS
            Prevention."
        ::= { dDosPrevMIBGroups 1 }
    
    dDosPrevActionRedirectCtrlGroup OBJECT-GROUP
        OBJECTS    {              
            dDoSPrevCtrlActionType,          
            dDoSPrevCtrlRedirectPort,
            dDoSPrevCtrlRedirectPriority,
            dDoSPrevCtrlRedirectRateLimit            
        }
        STATUS          current
        DESCRIPTION
           "The collection of objects provides the advanced action control for
           DoS Prevention."
        ::= { dDosPrevMIBGroups 2 }
                        
    dDosPrevNotifyObjectGroup OBJECT-GROUP
        OBJECTS         { 
            dDosPrevGlobalNotifsEnabled, 
            dDosPrevNotiInfoDropFramesCount,
            dDosPrevNotiInfoDropIpAddr,
            dDosPrevNotiInfoDropPortNumber
        }           
        STATUS          current
        DESCRIPTION
            "The collection of objects provides the control and information of
            DoS notifications."
        ::= { dDosPrevMIBGroups 3 }
                        
    dDosPrevNotificationsGroup NOTIFICATION-GROUP
        NOTIFICATIONS   { 
                          dDosPreveAttackDetected,
                          dDosPreveAttackDetectedPacket
                        }            
        STATUS          current
        DESCRIPTION
            "The collection of objects provides DoS notifications."           
        ::= { dDosPrevMIBGroups 4 }
            
END