All Classes Files Functions Variables Enumerations Enumerator Groups Pages
SecurityPolicy.idl
Go to the documentation of this file.
1 /**
2  * @file SecurityPolicy.idl
3  * @brief Set options for security policy.
4  *
5  * @author Vaclav Bystricky
6  *
7  * @copyright Copyright © 2017 Kerio Technologies s.r.o.
8  */
9 
10 #import <kerio/web/idl/SharedStructures.idl>
11 
12 module kerio {
13 module jsonapi {
14 module admin {
15 
16 enum SecurityPolicyMode {
17  SPNoRestrictions, ///< No restriction
18  SPAuthenticationRequired, ///< Require secure authentication
19  SPEncryptionRequired ///< Require encrypted connection
20 };
21 
22 typedef sequence<kerio::web::OptionalString> AuthenticationMethodList;
23 
25  boolean isEnabled; ///< Enable/disable Anti-Hammering
26  long failedLoginsToBlock; ///< Count of failed logins within minute to start blocking
27  long minutesToBlock; ///< Minutes to keep blocking IP
28  kerio::web::OptionalEntity exceptionIpGroup; ///< switchable custom white list IP group
29 };
30 
32  SecurityPolicyMode mode;
33  kerio::web::OptionalEntity authenticationExceptionGroup; ///< Is used if mode == SPAuthenticationRequired
34  kerio::web::OptionalEntity encryptionExceptionGroup; ///< Is used if mode == SPEncryptionRequired
35  AuthenticationMethodList authenticationMethods; ///< List of authenticatin methods and its status. In any set operation, all methods should be present in list. Methods which are not specified are reset to 'enabled'.
36  boolean allowNtlmForKerberosUsers; ///< Allow NTLM authentication for users with Kerberos� authentication (for Active Directory� users)
37 
38  boolean enableLockout; ///< Enable/disable account lockout feature
39  long failedLoginsToLock; ///< Count of failed logins to lock user account
40  long minutesToUnlock; ///< Minutes to unlock locked account
41 
42  AntiHammeringOptions antiHammering; ///< Anti-Hammering settings
43 };
44 
45 interface SecurityPolicy {
46  /**
47  * Obtain Security Policy options.
48  *
49  * @param options - current security options
50  */
51  void get(out SecurityPolicyOptions options);
52 
53  /**
54  * Set Security Policy options.
55  *
56  * @param options - options to be updated
57  */
58  void set(in SecurityPolicyOptions options);
59 
60  /**
61  * Unlock all locked accounts immediately.
62  */
63  void unlockAllAccounts();
64 };
65 
66 }; }; };//end of namespace