Ejemplo n.º 1
0
#!/usr/bin/env python
"""Configuration parameters for the admin UI."""

from grr.lib import config_lib

# The Admin UI web application.
config_lib.DEFINE_integer("AdminUI.port", 8000, "port to listen on")

config_lib.DEFINE_integer(
    "AdminUI.port_max", None, "If set and AdminUI.port is in use, attempt to "
    "use ports between AdminUI.port and "
    "AdminUI.port_max.")

# Override this if you want to access admin ui extenally. Make sure it is
# secured (i.e. AdminUI.webauth_manager is not NullWebAuthManager)!
config_lib.DEFINE_string("AdminUI.bind", "127.0.0.1", "interface to bind to.")

config_lib.DEFINE_string("AdminUI.document_root", "%(grr/gui/static|resource)",
                         "The main path to the static HTML pages.")

config_lib.DEFINE_string("AdminUI.local_document_root",
                         "%(grr/gui/local/static|resource)",
                         "The main path to the localized static HTML pages.")

config_lib.DEFINE_string("AdminUI.help_root", "%(docs|resource)",
                         "The main path to the locally cached documentation.")

config_lib.DEFINE_string(
    "AdminUI.webauth_manager", "NullWebAuthManager",
    "The web auth manager for controlling access to the UI.")
Ejemplo n.º 2
0
#!/usr/bin/env python
"""Configuration parameters for the data stores."""

from grr.lib import config_lib

config_lib.DEFINE_integer("Datastore.maximum_blob_size",
                          15*1024*1024,
                          "Maximum blob size we may store in the datastore.")

config_lib.DEFINE_string("Datastore.security_manager",
                         "NullAccessControlManager",
                         "The ACL manager for controlling access to data.")

config_lib.DEFINE_string("Datastore.implementation", "FakeDataStore",
                         "Storage subsystem to use.")

config_lib.DEFINE_integer("Datastore.transaction_timeout", default=600,
                          help="How long do we wait for a transaction lock.")

DATASTORE_PATHING = [r"%{(?P<path>files/hash/generic/sha256/...).*}",
                     r"%{(?P<path>files/hash/generic/sha1/...).*}",
                     r"%{(?P<path>files/hash/generic/md5/...).*}",
                     r"%{(?P<path>files/hash/pecoff/md5/...).*}",
                     r"%{(?P<path>files/hash/pecoff/sha1/...).*}",
                     r"%{(?P<path>files/nsrl/...).*}",
                     r"%{(?P<path>W/[^/]+).*}",
                     r"%{(?P<path>CA/[^/]+).*}",
                     r"%{(?P<path>C\..\{1,16\}?)($|/.*)}",
                     r"%{(?P<path>hunts/[^/]+).*}",
                     r"%{(?P<path>blobs/[^/]+).*}",
                     r"%{(?P<path>[^/]+).*}"]
Ejemplo n.º 3
0
Archivo: test.py Proyecto: zzzzpaul/grr
    default="%(Test.srcdir)/grr/config/grr-server.yaml",
    help="The path where the test configuration file exists.")

config_lib.DEFINE_constant_string(
    "Test.additional_test_config",
    default="%(Test.data_dir)/localtest.yaml",
    help="The path to a test config with local customizations.")

config_lib.DEFINE_string("Test.tmpdir",
                         "/tmp/",
                         help="Somewhere to write temporary files.")

config_lib.DEFINE_string("Test.data_store", "FakeDataStore",
                         "The data store to run the tests against.")

config_lib.DEFINE_integer("Test.remote_pdb_port", 2525,
                          "Remote debugger port.")

config_lib.DEFINE_list(
    "Test.end_to_end_client_ids", [],
    "List of client ids to perform regular end_to_end tests"
    " on.  These clients should be always on and connected"
    " to the network.")

config_lib.DEFINE_list(
    "Test.end_to_end_client_hostnames", [],
    "List of hostnames to perform regular end_to_end tests"
    " on.  These clients should be always on and connected"
    " to the network.")

config_lib.DEFINE_string(
    "Test.end_to_end_result_check_wait", "50m",
Ejemplo n.º 4
0
#!/usr/bin/env python
"""Configuration parameters for the server side subsystems."""

from grr.lib import config_lib
from grr.lib import rdfvalue

# Note: Each thread adds about 8mb for stack space.
config_lib.DEFINE_integer("Threadpool.size", 50,
                          "Number of threads in the shared thread pool.")

config_lib.DEFINE_integer(
    "Worker.task_limit", 2000, "Limits the number of tasks a worker retrieves "
    "every poll")

config_lib.DEFINE_integer("Worker.flow_lease_time", 600,
                          "Duration of flow lease time in seconds.")

config_lib.DEFINE_integer(
    "Frontend.throttle_average_interval", 60,
    "Time interval over which average request rate is "
    "calculated when throttling is enabled.")

config_lib.DEFINE_list(
    "Frontend.well_known_flows",
    ["aff4:/flows/W:TransferStore", "aff4:/flows/W:Stats"],
    "Allow these well known flows to run directly on the "
    "frontend. Other flows are scheduled as normal.")

# Smtp settings.
config_lib.DEFINE_string("Worker.smtp_server", "localhost",
                         "The smpt server for sending email alerts.")
Ejemplo n.º 5
0
#!/usr/bin/env python
"""Configuration parameters for the server side subsystems."""

from grr.lib import config_lib
from grr.lib import rdfvalue


# Note: Each thread adds about 8mb for stack space.
config_lib.DEFINE_integer("Threadpool.size", 50,
                          "Number of threads in the shared thread pool.")

config_lib.DEFINE_integer("Worker.flow_lease_time", 600,
                          "Duration of a flow lease time in seconds.")

config_lib.DEFINE_integer("Worker.well_known_flow_lease_time", 600,
                          "Duration of a well known flow lease time in "
                          "seconds.")

config_lib.DEFINE_integer("Worker.compaction_lease_time", 3600,
                          "Duration of collections lease time for compaction "
                          "in seconds.")

config_lib.DEFINE_bool("Worker.enable_packed_versioned_collection_journaling",
                       False, "If True, all Add*() operations and all "
                       "compactions of PackedVersionedCollections will be "
                       "journaled so that these collections can be later "
                       "checked for integrity.")

config_lib.DEFINE_integer("Worker.queue_shards", 5,
                          "Queue notifications will be sharded across "
                          "this number of datastore subjects.")
Ejemplo n.º 6
0
#!/usr/bin/env python
"""Configuration parameters for the server side subsystems."""

import grr
from grr.lib import config_lib
from grr.lib import rdfvalue
from grr.lib.rdfvalues import crypto as rdf_crypto

VERSION = grr.version()

config_lib.DEFINE_integer("Source.version_major", VERSION["major"],
                          "Major version number of client binary.")

config_lib.DEFINE_integer("Source.version_minor", VERSION["minor"],
                          "Minor version number of client binary.")

config_lib.DEFINE_integer("Source.version_revision", VERSION["revision"],
                          "Revision number of client binary.")

config_lib.DEFINE_integer("Source.version_release", VERSION["release"],
                          "Release number of client binary.")

config_lib.DEFINE_string(
    "Source.version_string", "%(version_major).%(version_minor)."
    "%(version_revision).%(version_release)", "Version string of the client.")

config_lib.DEFINE_integer(
    "Source.version_numeric", "%(version_major)%(version_minor)"
    "%(version_revision)%(version_release)",
    "Version string of the client as an integer.")
Ejemplo n.º 7
0
#!/usr/bin/env python
"""Configuration parameters for the data stores."""

from grr.lib import config_lib
from grr.lib import rdfvalue

config_lib.DEFINE_integer("Datastore.maximum_blob_size", 15 * 1024 * 1024,
                          "Maximum blob size we may store in the datastore.")

config_lib.DEFINE_string("Datastore.security_manager",
                         "NullAccessControlManager",
                         "The ACL manager for controlling access to data.")

config_lib.DEFINE_string("Datastore.implementation", "FakeDataStore",
                         "Storage subsystem to use.")

config_lib.DEFINE_string("Blobstore.implementation", "MemoryStreamBlobstore",
                         "Blob storage subsystem to use.")

config_lib.DEFINE_integer("Datastore.transaction_timeout",
                          default=600,
                          help="How long do we wait for a transaction lock.")

DATASTORE_PATHING = [
    r"%{(?P<path>files/hash/generic/sha256/...).*}",
    r"%{(?P<path>files/hash/generic/sha1/...).*}",
    r"%{(?P<path>files/hash/generic/md5/...).*}",
    r"%{(?P<path>files/hash/pecoff/md5/...).*}",
    r"%{(?P<path>files/hash/pecoff/sha1/...).*}",
    r"%{(?P<path>files/nsrl/...).*}", r"%{(?P<path>W/[^/]+).*}",
    r"%{(?P<path>CA/[^/]+).*}", r"%{(?P<path>C\..\{1,16\}?)($|/.*)}",
Ejemplo n.º 8
0
#!/usr/bin/env python
"""Configuration parameters for the data stores."""

from grr.lib import config_lib
from grr.lib import rdfvalue

config_lib.DEFINE_integer("Datastore.maximum_blob_size", 512 * 1024,
                          "Maximum blob size we may store in the datastore.")

config_lib.DEFINE_string("Datastore.implementation", "FakeDataStore",
                         "Storage subsystem to use.")

config_lib.DEFINE_string("Blobstore.implementation", "MemoryStreamBlobstore",
                         "Blob storage subsystem to use.")

config_lib.DEFINE_string("Database.implementation", "",
                         "Relational database system to use.")

config_lib.DEFINE_bool(
    "Database.useForReads", False,
    "Use relational database for reading as well as for writing.")

DATASTORE_PATHING = [
    r"%{(?P<path>files/hash/generic/sha256/...).*}",
    r"%{(?P<path>files/hash/generic/sha1/...).*}",
    r"%{(?P<path>files/hash/generic/md5/...).*}",
    r"%{(?P<path>files/hash/pecoff/md5/...).*}",
    r"%{(?P<path>files/hash/pecoff/sha1/...).*}",
    r"%{(?P<path>files/nsrl/...).*}", r"%{(?P<path>W/[^/]+).*}",
    r"%{(?P<path>CA/[^/]+).*}", r"%{(?P<path>C\..\{1,16\}?)($|/.*)}",
    r"%{(?P<path>hunts/[^/]+).*}", r"%{(?P<path>blobs/[^/]+).*}",
Ejemplo n.º 9
0
Archivo: gui.py Proyecto: staffzzz/grr
#!/usr/bin/env python
"""Configuration parameters for the admin UI."""

from grr.lib import config_lib

# The Admin UI web application.
config_lib.DEFINE_integer("AdminUI.port", 8081, "port to listen on")

# Override this if you want to access admin ui extenally. Make sure it is
# secured (i.e. AdminUI.webauth_manager is not NullWebAuthManager)!
config_lib.DEFINE_string("AdminUI.bind", "127.0.0.1", "interface to bind to.")

config_lib.DEFINE_string("AdminUI.document_root", "%(grr/gui/static|resource)",
                         "The main path to the static HTML pages.")

config_lib.DEFINE_string("AdminUI.local_document_root",
                         "%(grr/gui/local/static|resource)",
                         "The main path to the localized static HTML pages.")

config_lib.DEFINE_string("AdminUI.help_root", "%(docs|resource)",
                         "The main path to the static HTML pages.")

config_lib.DEFINE_string(
    "AdminUI.webauth_manager", "NullWebAuthManager",
    "The web auth manager for controlling access to the UI.")

config_lib.DEFINE_bool("AdminUI.django_debug", True,
                       "Turn on to add django debugging")

config_lib.DEFINE_string(
    "AdminUI.django_secret_key", "CHANGE_ME",
Ejemplo n.º 10
0
    "Logging.format",
    # Use a literal block here to prevent config system expansion as this should
    # be a python format string.
    "%{%(levelname)s:%(asctime)s %(module)s:%(lineno)s] %(message)s}",
    help="Log line format (using python's standard logging expansions).")

config_lib.DEFINE_string("Logging.service_name",
                         "GRR",
                         help="The service name that will be logged with the "
                         "event log engine.")

config_lib.DEFINE_option(
    type_info.RDFValueType(rdfclass=standard.DomainEmailAddress,
                           name="Monitoring.alert_email",
                           help="The email address to send events to.",
                           default="grr-monitoring@localhost"))

config_lib.DEFINE_option(
    type_info.RDFValueType(rdfclass=standard.DomainEmailAddress,
                           name="Monitoring.emergency_access_email",
                           help="The email address to notify in an emergency.",
                           default="grr-emergency@localhost"))

config_lib.DEFINE_integer("Monitoring.http_port", 0,
                          "Port for stats monitoring server.")

config_lib.DEFINE_integer(
    "Logging.aff4_audit_log_rollover", 60 * 60 * 24 * 14,
    "Audit log rollover interval in seconds. "
    "Default is 2 weeks")
Ejemplo n.º 11
0
from grr.lib import config_lib
from grr.lib import data_store
from grr.lib import rdfvalue
from grr.lib import registry
from grr.lib import stats


config_lib.DEFINE_string("StatsStore.process_id", default="",
                         help="Id used to identify stats data of the current "
                         "process. This should be different for different GRR "
                         "processes. I.e. if you have 4 workers, for every "
                         "worker the subject should be different. For example: "
                         "worker_1, worker_2, worker_3, worker_4.")

config_lib.DEFINE_integer("StatsStore.write_interval", default=60,
                          help="Time in seconds between the dumps of stats "
                          "data into the stats store.")

config_lib.DEFINE_integer("StatsStore.ttl", default=60 * 60 * 24 * 7,
                          help="Maximum lifetime (in seconds) of data in the "
                          "stats store. Default is one week.")


class StatsStore(object):
  """Implementation of the long-term storage of collected stats data.

  This class allows to write current stats data to the data store, read
  and delete them. StatsStore uses data_store to store the data.
  All historical stats data are stored in a single data store subject per
  process. By process we mean, for example: "admin UI", "worker #1",
  "worker #3", etc. Stats data are stored as subject's attributes.
Ejemplo n.º 12
0
#!/usr/bin/env python
"""Settings for ACLs/approvals system."""

from grr.lib import config_lib

config_lib.DEFINE_string(
    "ACL.approvers_config_file", "%(Config.directory)/approvers.yaml",
    "File that defines who can approve access to "
    "clients with certain labels.")

config_lib.DEFINE_integer("ACL.approvers_required", 2,
                          "The number of approvers required for access.")

config_lib.DEFINE_string(
    "ACL.group_access_manager_class", "NoGroupAccess",
    "This class handles interfacing with corporate group"
    "directories for granting access. Override with a "
    "class that understands your LDAP/AD/whatever setup.")

config_lib.DEFINE_integer(
    "ACL.token_expiry", 7 * 24 * 60 * 60,
    "The duration in seconds of a valid approval token. "
    "Default of one week.")
Ejemplo n.º 13
0
"""Configuration parameters for server output plugins."""

from grr.lib import config_lib
from grr.lib import rdfvalue

config_lib.DEFINE_string("BigQuery.service_acct_json", None,
                         "The json contents of the service account file.")

config_lib.DEFINE_string("BigQuery.project_id", None,
                         "The BigQuery project_id.")

config_lib.DEFINE_string("BigQuery.dataset_id", "grr",
                         "The BigQuery project_id.")

config_lib.DEFINE_integer(
    "BigQuery.max_file_post_size", 5 * 1000 * 1000,
    "Max size of file to put in each POST "
    "to bigquery. Note enforcement is not exact.")

config_lib.DEFINE_integer("BigQuery.retry_max_attempts", 2,
                          "Total number of times to retry an upload.")

config_lib.DEFINE_integer(
    "BigQuery.max_upload_failures", 100,
    "Total number of times to try uploading to BigQuery"
    " for a given hunt or flow.")

config_lib.DEFINE_semantic(rdfvalue.Duration, "BigQuery.retry_interval", "2s",
                           "Time to wait before first retry.")

config_lib.DEFINE_integer(
    "BigQuery.retry_multiplier", 2,
Ejemplo n.º 14
0
config_lib.DEFINE_string("Client.arch", "amd64",
                         "The architecture we are running on.")

config_lib.DEFINE_string("Client.build_time", "Unknown",
                         "The time the client was built.")

config_lib.DEFINE_string("Client.deploy_time", "Unknown",
                         "The time the client was deployed.")

config_lib.DEFINE_string(
    "Client.build_environment", None,
    "The output of Uname.FromCurrentSystem.signature() "
    "on the system the client was built on.")

config_lib.DEFINE_integer("Client.rsa_key_length", 2048,
                          "The key length of the client keys in bits.")

config_lib.DEFINE_string(
    name="Client.install_path",
    default=r"%(SystemRoot|env)\\System32\\%(name)\\%(Template.version_string)",
    help="Where the client binaries are installed.")

config_lib.DEFINE_string(
    name="Client.rekall_profile_cache_path",
    default=r"%(Client.install_path)\\rekall_profiles",
    help="Where GRR stores cached Rekall profiles needed for memory analysis")

config_lib.DEFINE_list(name="Client.server_urls",
                       default=[],
                       help="Base URL for client control.")
Ejemplo n.º 15
0
#!/usr/bin/env python
"""Configuration parameters for the data servers."""

from grr.lib import config_lib

# The Data Store server.
config_lib.DEFINE_integer("Dataserver.stats_frequency", 60,
                          ("Time interval in seconds for data server "
                           "statistics updates"))

config_lib.DEFINE_list("Dataserver.server_list",
                       ["http://127.0.0.1:7000", "http://127.0.0.1:7001"],
                       "List of allowed data servers (first is the master).")

config_lib.DEFINE_integer("Dataserver.max_connections", 5,
                          ("Maximum number of connections to the data server "
                           "per process."))

config_lib.DEFINE_integer("Dataserver.port", 7000,
                          "Port for a specific data server.")

# Login information for clients of the data servers.
config_lib.DEFINE_list(
    "Dataserver.client_credentials", ["user:pass:rw"],
    "List of data server client credentials, given as "
    "<username>:<password>:<mode> where mode is r or rw.")

# Login information used by data servers when registering with the master.
config_lib.DEFINE_string("Dataserver.server_username", "server",
                         "Username for servers.")
Ejemplo n.º 16
0
config_lib.DEFINE_float("Client.poll_min", 0.2,
                        "Minimum time between polls in seconds.")

config_lib.DEFINE_float("Client.poll_max", 600,
                        "Maximum time between polls in seconds.")

config_lib.DEFINE_float(
    "Client.error_poll_min", 15,
    "Minimum time between polls in seconds if the server "
    "reported an error.")

config_lib.DEFINE_float("Client.poll_slew", 1.15, "Slew of poll time.")

config_lib.DEFINE_integer(
    "Client.connection_error_limit", 60 * 24,
    "If the client encounters this many connection "
    "errors, it exits and restarts. Retries are one "
    "minute apart.")

config_lib.DEFINE_list(
    name="Client.proxy_servers",
    help="List of valid proxy servers the client should try.",
    default=[])

config_lib.DEFINE_integer("Client.max_post_size", 8000000,
                          "Maximum size of the post.")

config_lib.DEFINE_integer("Client.max_out_queue", 10240000,
                          "Maximum size of the output queue.")

config_lib.DEFINE_integer(
Ejemplo n.º 17
0
Archivo: server.py Proyecto: lzbgt/grr
#!/usr/bin/env python
"""Configuration parameters for the server side subsystems."""

import grr
from grr.lib import config_lib
from grr.lib import rdfvalue
from grr.lib.rdfvalues import crypto as rdf_crypto

VERSION = grr.version()

config_lib.DEFINE_integer("Source.version_major", VERSION["major"],
                          "Major version number of client binary.")

config_lib.DEFINE_integer("Source.version_minor", VERSION["minor"],
                          "Minor version number of client binary.")

config_lib.DEFINE_integer("Source.version_revision", VERSION["revision"],
                          "Revision number of client binary.")

config_lib.DEFINE_integer("Source.version_release", VERSION["release"],
                          "Release number of client binary.")

config_lib.DEFINE_string(
    "Source.version_string", "%(version_major).%(version_minor)."
    "%(version_revision).%(version_release)", "Version string of the client.")

config_lib.DEFINE_integer(
    "Source.version_numeric", "%(version_major)%(version_minor)"
    "%(version_revision)%(version_release)",
    "Version string of the client as an integer.")
Ejemplo n.º 18
0
#!/usr/bin/env python
"""Configuration parameters for the data stores."""

from grr.lib import config_lib

config_lib.DEFINE_integer("Datastore.maximum_blob_size", 15 * 1024 * 1024,
                          "Maximum blob size we may store in the datastore.")

config_lib.DEFINE_string("Datastore.security_manager",
                         "NullAccessControlManager",
                         "The ACL manager for controlling access to data.")

config_lib.DEFINE_string("Datastore.implementation", "FakeDataStore",
                         "Storage subsystem to use.")

config_lib.DEFINE_integer("Datastore.transaction_timeout",
                          default=600,
                          help="How long do we wait for a transaction lock.")

DATASTORE_PATHING = [
    r"%{(?P<path>files/hash/generic/sha256/...).*}",
    r"%{(?P<path>files/hash/generic/sha1/...).*}",
    r"%{(?P<path>files/hash/generic/md5/...).*}",
    r"%{(?P<path>files/hash/pecoff/md5/...).*}",
    r"%{(?P<path>files/hash/pecoff/sha1/...).*}",
    r"%{(?P<path>files/nsrl/...).*}", r"%{(?P<path>W/[^/]+).*}",
    r"%{(?P<path>CA/[^/]+).*}", r"%{(?P<path>C\..\{1,16\}?)($|/.*)}",
    r"%{(?P<path>hunts/[^/]+).*}", r"%{(?P<path>blobs/[^/]+).*}",
    r"%{(?P<path>[^/]+).*}"
]
Ejemplo n.º 19
0
                         "domain socket or in a UDP host:port notation.")

config_lib.DEFINE_string("Logging.filename", "%(Logging.path)/GRRlog.txt",
                         help="Filename of the grr log file.")

config_lib.DEFINE_string(
    "Logging.format",
    # Use a literal block here to prevent config system expansion as this should
    # be a python format string.
    "%{%(levelname)s:%(asctime)s %(module)s:%(lineno)s] %(message)s}",
    help="Log line format (using python's standard logging expansions).")

config_lib.DEFINE_string("Logging.service_name", "GRR",
                         help="The service name that will be logged with the "
                         "event log engine.")

config_lib.DEFINE_option(type_info.RDFValueType(
    rdfclass=rdfvalue.DomainEmailAddress,
    name="Monitoring.alert_email",
    help="The email address to send events to.",
    default="monitoring@localhost"))

config_lib.DEFINE_option(type_info.RDFValueType(
    rdfclass=rdfvalue.DomainEmailAddress,
    name="Monitoring.emergency_access_email",
    help="The email address to notify in an emergency.",
    default="monitoring@localhost"))

config_lib.DEFINE_integer("Monitoring.http_port", 0,
                          "Port for stats monitoring server.")
Ejemplo n.º 20
0
Archivo: client.py Proyecto: ytisf/grr
config_lib.DEFINE_string("Client.arch", "amd64",
                         "The architecture we are running on.")

config_lib.DEFINE_string("Client.build_time", "Unknown",
                         "The time the client was built.")

config_lib.DEFINE_string("Client.deploy_time", "Unknown",
                         "The time the client was deployed.")

config_lib.DEFINE_string(
    "Client.build_environment", None,
    "The output of Uname.FromCurrentSystem.signature() "
    "on the system the client was built on.")

config_lib.DEFINE_integer("Client.rsa_key_length", 2048,
                          "The key length of the client keys in bits.")

config_lib.DEFINE_string(
    name="Client.install_path",
    default=r"%(SystemRoot|env)\\System32\\%(name)\\%(Template.version_string)",
    help="Where the client binaries are installed.")

config_lib.DEFINE_string(
    name="Client.component_path",
    default=r"%(Client.install_path)/components",
    help="Where the client components are installed on the client.")

config_lib.DEFINE_string(
    name="Client.component_url_stem",
    default="%(Frontend.static_url_path_prefix)components/",
    help="A URL path where components will be served from.")
Ejemplo n.º 21
0
#!/usr/bin/env python
"""Settings for ACLs/approvals system."""

from grr.lib import config_lib

config_lib.DEFINE_string(
    "ACL.approvers_config_file", "",
    "File that defines who can approve access to "
    "clients with certain labels. See "
    "config/approvers.yaml for an example.")

config_lib.DEFINE_integer("ACL.approvers_required", 2,
                          "The number of approvers required for access.")

config_lib.DEFINE_integer(
    "ACL.cache_age", 600, "The number of seconds "
    "approval objects live in the cache.")

config_lib.DEFINE_string(
    "ACL.group_access_manager_class", "NoGroupAccess",
    "This class handles interfacing with corporate group"
    "directories for granting access. Override with a "
    "class that understands your LDAP/AD/whatever setup.")

config_lib.DEFINE_integer(
    "ACL.token_expiry", 7 * 24 * 60 * 60,
    "The duration in seconds of a valid approval token. "
    "Default of one week.")
Ejemplo n.º 22
0
#!/usr/bin/env python
"""Configuration parameters for the check subsystem."""
from grr.lib import config_lib

config_lib.DEFINE_list("Checks.config_dir", ["%(grr/checks|resource)",
                                             "%(grr/checks/local|resource)"],
                       "A list of directories to load checks from.")

config_lib.DEFINE_list("Checks.config_files", [],
                       "Paths of check configurations to load at start up.")

config_lib.DEFINE_integer("Checks.max_results", 50,
                          "Maximum items to include as check results.")
Ejemplo n.º 23
0
#!/usr/bin/env python
"""API config options."""

from grr.lib import config_lib
from grr.lib import rdfvalue

config_lib.DEFINE_integer(
    "API.DailyFlowRequestLimit", "10",
    "Number of flows a user can run on a single client "
    "per day before being blocked by throttling. Set to "
    "0 to disable checking.")

config_lib.DEFINE_semantic(
    rdfvalue.Duration,
    "API.FlowDuplicateInterval",
    default="1200s",
    description="Amount of time "
    "that needs to pass before the throttler will allow "
    "an identical flow to run on the same client. Set "
    "to 0s to disable checking.")

config_lib.DEFINE_string(
    "API.RouterACLConfigFile", "", "The file containing API acls, see "
    "grr/config/api_acls.yaml for an example.")

config_lib.DEFINE_string(
    "API.DefaultRouter", "DisabledApiCallRouter",
    "The default router used by the API if there are no "
    "rules defined in API.RouterACLConfigFile or if none "
    "of these rules matches.")
Ejemplo n.º 24
0
                 default=("%(ClientBuilder.executables_dir)"
                          "/installers/%(ClientRepacker.output_filename)"),
                 help="The full path to the generated installer file."))

# These values are determined from the template at repack time.
config_lib.DEFINE_choice(name="Template.build_type",
                         default="Release",
                         choices=["Release", "Debug"],
                         help="Type of build (Debug, Release)")

config_lib.DEFINE_list(
    name="Template.build_context",
    default=[],
    help="List of build contexts that should be reapplied at repack.")

config_lib.DEFINE_integer("Template.version_major", None,
                          "Major version number of client template.")

config_lib.DEFINE_integer("Template.version_minor", None,
                          "Minor version number of client template.")

config_lib.DEFINE_integer("Template.version_revision", None,
                          "Revision number of client template.")

config_lib.DEFINE_integer("Template.version_release", None,
                          "Release number of client template.")

config_lib.DEFINE_string(
    "Template.version_string", "%(version_major).%(version_minor)."
    "%(version_revision).%(version_release)",
    "Version string of the client template.")
#!/usr/bin/env python
"""Configuration parameters for the aff4 subsystem."""

from grr.lib import config_lib

config_lib.DEFINE_integer(
    "AFF4.cache_age", 5,
    "The number of seconds AFF4 objects live in the cache.")

config_lib.DEFINE_integer("AFF4.cache_max_size", 10000,
                          "Maximum size of the AFF4 objects cache.")

config_lib.DEFINE_integer(
    "AFF4.intermediate_cache_age", 600,
    "The number of seconds AFF4 urns live in index cache.")

config_lib.DEFINE_integer("AFF4.intermediate_cache_max_size", 2000,
                          "Maximum size of the AFF4 index cache.")

config_lib.DEFINE_integer(
    "AFF4.notification_rules_cache_age", 60,
    "The number of seconds AFF4 notification rules are cached.")

config_lib.DEFINE_string(
    "AFF4.change_email", None,
    "Email used by AFF4NotificationEmailListener to notify "
    "about AFF4 changes.")