trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reindl Harald <h.rei...@thelounge.net>
Subject Trafficserver: "DoS Slowloris" detected by Nessus scan
Date Sat, 23 Mar 2013 13:37:48 GMT
Hi

we have after a external security-audit from a customer the
problem that they detected the webserver which has a TS 3.2.4
in front of is vulerable for "DoS Slowloris"

i am currently not sure if this was because they scanned with
a new IP which was not on the iptables-rate-control-whitelist
or the Trafficserver is really vulnerable

maybe the problem is gone on the next scan at monday but if there
is anything i can do please feedback to fix this until then

https://community.qualys.com/blogs/securitylabs/2011/11/02/how-to-protect-against-slow-http-attacks

AFAIK the most relevant parameters and why i think they
should not be changed - feel free to correct me if i am
wrong and in general if i missed tuneables
_______________________________________________________

CONFIG proxy.config.http.transaction_active_timeout_out INT 0
* here i am completly unsure

CONFIG proxy.config.http.background_fill_active_timeout INT 60
* here i am completly unsure

CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 1
* KeepAlive is nice, Trafficserver should be able to handle

CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 5
* i think the liit is still hard because if a dynamic page
  takes long than this value to be generated the client
  would be disconnected which is not unlikely to happen in case
  of CMS systems unpacking archives and generate thumbnails for
  a lot of images from the archive content

CONFIG proxy.config.http.transaction_active_timeout_in INT 900
* if i set this to low it would break web-apps which are running
  over minutes and give the whle time feedback to the user like
  sending a newsletter

CONFIG proxy.config.http.transaction_no_activity_timeout_out INT 60
* should be ok to the origin server

CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 0
* no timeout to the origin server should be OK

CONFIG proxy.config.http.accept_no_activity_timeout INT 1
* still a hard limit
_______________________________________________________

the complete "records.config"

cat /etc/trafficserver/records.config
##############################################################################
# System Variables                                                           #
##############################################################################
CONFIG proxy.config.proxy_name STRING localhost
CONFIG proxy.config.config_dir STRING /etc/trafficserver
CONFIG proxy.config.proxy_binary_opts STRING -M
CONFIG proxy.config.temp_dir STRING /tmp
CONFIG proxy.config.alarm_email STRING ats
CONFIG proxy.config.syslog_facility STRING LOG_DAEMON
CONFIG proxy.config.output.logfile STRING traffic.out
CONFIG proxy.config.snapshot_dir STRING snapshots
CONFIG proxy.config.system.mmap_max INT 2097152

##############################################################################
# Main threads configuration (worker threads). Also see configurations for   #
# SSL threads, disk I/O threads and task threads in their respective areas   #
##############################################################################
CONFIG proxy.config.exec_thread.autoconfig INT 1
CONFIG proxy.config.accept_threads INT 1

##############################################################################
# Local Manager                                                              #
##############################################################################
CONFIG proxy.config.admin.admin_user STRING admin
CONFIG proxy.config.admin.number_config_bak INT 0
CONFIG proxy.config.admin.user_id STRING ats

##############################################################################
# Process Manager                                                            #
##############################################################################
CONFIG proxy.config.admin.autoconf_port INT 8083
CONFIG proxy.config.process_manager.mgmt_port INT 8084

##############################################################################
# HTTP Engine                                                                #
##############################################################################
CONFIG proxy.config.http.server_ports STRING 80
CONFIG proxy.config.http.connect_ports STRING 80
CONFIG proxy.config.http.insert_request_via_str INT 0
CONFIG proxy.config.http.insert_response_via_str INT 0
CONFIG proxy.config.http.response_server_enabled INT 0
CONFIG proxy.config.http.insert_age_in_response INT 1
CONFIG proxy.config.http.enable_url_expandomatic INT 0
CONFIG proxy.config.http.no_dns_just_forward_to_parent INT 0
CONFIG proxy.config.http.uncacheable_requests_bypass_parent INT 0
CONFIG proxy.config.http.keep_alive_enabled_in INT 1
CONFIG proxy.config.http.keep_alive_enabled_out INT 0
CONFIG proxy.config.http.chunking_enabled INT 1
CONFIG proxy.config.http.send_http11_requests INT 1
CONFIG proxy.config.http.share_server_sessions INT 1
CONFIG proxy.config.http.origin_server_pipeline INT 1
CONFIG proxy.config.http.user_agent_pipeline INT 8
CONFIG proxy.config.http.referer_filter INT 0

##############################################################################
# parent proxy configuration                                                 #
##############################################################################
CONFIG proxy.config.http.parent_proxy_routing_enable INT 0

##############################################################################
# HTTP connection timeouts (secs)                                            #
# out: proxy -> origin server connection                                     #
# in : ua -> proxy connection                                                #
##############################################################################
CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 1
CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 0
CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 5
CONFIG proxy.config.http.transaction_no_activity_timeout_out INT 60
CONFIG proxy.config.http.transaction_active_timeout_in INT 900
CONFIG proxy.config.http.transaction_active_timeout_out INT 0
CONFIG proxy.config.http.accept_no_activity_timeout INT 1
CONFIG proxy.config.http.background_fill_active_timeout INT 60
CONFIG proxy.config.http.background_fill_completed_threshold FLOAT 0.000000

##############################################################################
# origin server connect attempts                                             #
##############################################################################
CONFIG proxy.config.http.connect_attempts_max_retries INT 10
CONFIG proxy.config.http.connect_attempts_max_retries_dead_server INT 10
CONFIG proxy.config.http.connect_attempts_rr_retries INT 10
CONFIG proxy.config.http.connect_attempts_timeout INT 30
CONFIG proxy.config.http.post_connect_attempts_timeout INT 1800
CONFIG proxy.config.http.down_server.cache_time INT 5
CONFIG proxy.config.http.down_server.abort_threshold INT 30

##############################################################################
# congestion control                                                         #
##############################################################################
CONFIG proxy.config.http.congestion_control.enabled INT 0

##############################################################################
# negative response caching                                                  #
##############################################################################
CONFIG proxy.config.http.negative_caching_enabled INT 1
CONFIG proxy.config.http.negative_caching_lifetime INT 60

##############################################################################
# proxy users variables                                                      #
##############################################################################
CONFIG proxy.config.http.anonymize_remove_from INT 0
CONFIG proxy.config.http.anonymize_remove_referer INT 0
CONFIG proxy.config.http.anonymize_remove_user_agent INT 0
CONFIG proxy.config.http.anonymize_remove_cookie INT 0
CONFIG proxy.config.http.anonymize_remove_client_ip INT 0
CONFIG proxy.config.http.anonymize_insert_client_ip INT 0
CONFIG proxy.config.http.anonymize_other_header_list STRING NULL
CONFIG proxy.config.http.insert_squid_x_forwarded_for INT 1

##############################################################################
# security                                                                   #
##############################################################################
CONFIG proxy.config.http.push_method_enabled INT 0

##############################################################################
# cache control                                                              #
##############################################################################
CONFIG proxy.config.http.normalize_ae_gzip INT 1
CONFIG proxy.config.http.cache.http INT 1
CONFIG proxy.config.http.cache.cache_responses_to_cookies INT 3
CONFIG proxy.config.http.cache.cache_urls_that_look_dynamic INT 1
CONFIG proxy.config.http.cache.ims_on_client_no_cache INT 1
CONFIG proxy.config.http.cache.ignore_client_cc_max_age INT 0
CONFIG proxy.config.http.cache.ignore_client_no_cache INT 0
CONFIG proxy.config.http.cache.ignore_accept_mismatch INT 1
CONFIG proxy.config.http.cache.ignore_accept_language_mismatch INT 1
CONFIG proxy.config.http.cache.ignore_accept_charset_mismatch INT 1
CONFIG proxy.config.http.cache.ignore_server_no_cache INT 0
CONFIG proxy.config.http.cache.ignore_authentication INT 0
CONFIG proxy.config.http.cache.enable_default_vary_headers INT 0
CONFIG proxy.config.http.cache.when_to_revalidate INT 0
CONFIG proxy.config.http.cache.when_to_add_no_cache_to_msie_requests INT 0
CONFIG proxy.config.http.cache.required_headers INT 0
CONFIG proxy.config.http.cache.max_stale_age INT 1800
CONFIG proxy.config.http.cache.range.lookup INT 1
CONFIG proxy.config.cache.vary_on_user_agent INT 0

##############################################################################
# heuristic expiration                                                       #
##############################################################################
CONFIG proxy.config.http.cache.heuristic_min_lifetime INT 60
CONFIG proxy.config.http.cache.heuristic_max_lifetime INT 60
CONFIG proxy.config.http.cache.heuristic_lm_factor FLOAT 0.100000
CONFIG proxy.config.http.cache.fuzz.time INT 60
CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.005000

##############################################################################
# dynamic content & content negotiation                                      #
##############################################################################
CONFIG proxy.config.http.cache.vary_default_text STRING Accept-Encoding
CONFIG proxy.config.http.cache.vary_default_images STRING NULL
CONFIG proxy.config.http.cache.vary_default_other STRING NULL

##############################################################################
# The HTTP stats are expensive, turn off you dont need them                  #
##############################################################################
CONFIG proxy.config.http.enable_http_stats INT 0

##############################################################################
# Customizable User Response Pages                                           #
##############################################################################
CONFIG proxy.config.body_factory.enable_customizations INT 1
CONFIG proxy.config.body_factory.enable_logging INT 0
CONFIG proxy.config.body_factory.response_suppression_mode INT 0

##############################################################################
# Net Subsystem                                                              #
##############################################################################
CONFIG proxy.config.net.connections_throttle INT 30000
CONFIG proxy.config.net.defer_accept INT 1

##############################################################################
# Cluster Subsystem                                                          #
##############################################################################
LOCAL proxy.local.cluster.type INT 3

##############################################################################
# Cache                                                                      #
##############################################################################
CONFIG proxy.config.cache.permit.pinning INT 0
CONFIG proxy.config.cache.ram_cache.size INT 2415919104
CONFIG proxy.config.cache.ram_cache_cutoff INT 7340032
CONFIG proxy.config.cache.ram_cache.algorithm INT 0
CONFIG proxy.config.cache.ram_cache.use_seen_filter INT 0
CONFIG proxy.config.cache.ram_cache.compress INT 0
CONFIG proxy.config.cache.limits.http.max_alts INT 10
CONFIG proxy.config.cache.target_fragment_size INT 262144
CONFIG proxy.config.cache.max_doc_size INT 0
CONFIG proxy.config.cache.enable_read_while_writer INT 1
CONFIG proxy.config.connection_collapsing.hashtable_enabled INT 1
CONFIG proxy.config.cache.min_average_object_size INT 8000
CONFIG proxy.config.cache.threads_per_disk INT 16
CONFIG proxy.config.cache.mutex_retry_delay INT 2

##############################################################################
# DNS                                                                        #
##############################################################################
CONFIG proxy.config.dns.search_default_domains INT 1
CONFIG proxy.config.dns.splitDNS.enabled INT 0
CONFIG proxy.config.dns.max_dns_in_flight INT 2048
CONFIG proxy.config.dns.url_expansions STRING NULL
CONFIG proxy.config.dns.round_robin_nameservers INT 0
CONFIG proxy.config.dns.nameservers STRING 127.0.0.1
CONFIG proxy.config.dns.resolv_conf STRING NULL
CONFIG proxy.config.dns.validate_query_name INT 0

##############################################################################
# HostDB                                                                     #
##############################################################################
CONFIG proxy.config.hostdb.size INT 50000
CONFIG proxy.config.hostdb.storage_size INT 14680064
CONFIG proxy.config.hostdb.ttl_mode INT 0
CONFIG proxy.config.hostdb.timeout INT 1440
CONFIG proxy.config.hostdb.strict_round_robin INT 0

##############################################################################
# Logging Config                                                             #
#                                                                            #
# 0: no logging at all                                                       #
# 1: log errors only                                                         #
# 2: log transactions only                                                   #
# 3: full logging (errors + transactions)                                    #
##############################################################################
LOCAL proxy.local.log.collation_mode INT 0
CONFIG proxy.config.log.logging_enabled INT 1
CONFIG proxy.config.log.max_secs_per_buffer INT 5
CONFIG proxy.config.log.max_space_mb_for_logs INT 25000
CONFIG proxy.config.log.max_space_mb_for_orphan_logs INT 25
CONFIG proxy.config.log.max_space_mb_headroom INT 1000
CONFIG proxy.config.log.hostname STRING localhost
CONFIG proxy.config.log.logfile_dir STRING /var/log/trafficserver
CONFIG proxy.config.log.logfile_perm STRING rw-rw----
CONFIG proxy.config.log.custom_logs_enabled INT 0
CONFIG proxy.config.log.squid_log_enabled INT 0
CONFIG proxy.config.log.squid_log_is_ascii INT 0
CONFIG proxy.config.log.squid_log_name STRING squid
CONFIG proxy.config.log.squid_log_header STRING NULL
CONFIG proxy.config.log.common_log_enabled INT 0
CONFIG proxy.config.log.common_log_is_ascii INT 1
CONFIG proxy.config.log.common_log_name STRING common
CONFIG proxy.config.log.common_log_header STRING NULL
CONFIG proxy.config.log.extended_log_enabled INT 0
CONFIG proxy.config.log.extended_log_is_ascii INT 0
CONFIG proxy.config.log.extended_log_name STRING extended
CONFIG proxy.config.log.extended_log_header STRING NULL
CONFIG proxy.config.log.extended2_log_enabled INT 0
CONFIG proxy.config.log.extended2_log_is_ascii INT 1
CONFIG proxy.config.log.extended2_log_name STRING extended2
CONFIG proxy.config.log.extended2_log_header STRING NULL
CONFIG proxy.config.log.separate_icp_logs INT 0
CONFIG proxy.config.log.separate_host_logs INT 0
CONFIG proxy.config.log.collation_host STRING NULL
CONFIG proxy.config.log.collation_port INT 8085
CONFIG proxy.config.log.collation_secret STRING foobar
CONFIG proxy.config.log.collation_host_tagged INT 0
CONFIG proxy.config.log.collation_retry_sec INT 5
CONFIG proxy.config.log.rolling_enabled INT 1
CONFIG proxy.config.log.rolling_interval_sec INT 86400
CONFIG proxy.config.log.rolling_offset_hr INT 0
CONFIG proxy.config.log.rolling_size_mb INT 10
CONFIG proxy.config.log.auto_delete_rolled_files INT 1
CONFIG proxy.config.log.sampling_frequency INT 1

##############################################################################
# Reverse Proxy                                                              #
##############################################################################
CONFIG proxy.config.reverse_proxy.enabled INT 1
CONFIG proxy.config.header.parse.no_host_url_redirect STRING NULL

##############################################################################
# URL Remap Rules                                                            #
##############################################################################
CONFIG proxy.config.url_remap.default_to_server_pac INT 0
CONFIG proxy.config.url_remap.default_to_server_pac_port INT -1
CONFIG proxy.config.url_remap.remap_required INT 1
CONFIG proxy.config.url_remap.pristine_host_hdr INT 1

##############################################################################
# ICP Configuration                                                          #
##############################################################################
CONFIG proxy.config.icp.enabled INT 0

##############################################################################
# Scheduled Update Configuration                                             #
##############################################################################
CONFIG proxy.config.update.enabled INT 0
CONFIG proxy.config.update.force INT 0
CONFIG proxy.config.update.retry_count INT 10
CONFIG proxy.config.update.retry_interval INT 2
CONFIG proxy.config.update.concurrent_updates INT 100

##############################################################################
# Socket send/recv buffer sizes 0 == dont call setsockopt()                  #
# out: proxy -> os connection                                                #
# in : ua -> proxy connection                                                #
##############################################################################
CONFIG proxy.config.net.sock_send_buffer_size_in INT 16384
CONFIG proxy.config.net.sock_recv_buffer_size_in INT 16384
CONFIG proxy.config.net.sock_option_flag_in INT 1
CONFIG proxy.config.net.sock_send_buffer_size_out INT 0
CONFIG proxy.config.net.sock_recv_buffer_size_out INT 0
CONFIG proxy.config.net.sock_option_flag_out INT 0

##############################################################################
# User Overridden Configurations Below                                       #
##############################################################################
CONFIG proxy.config.core_limit INT -1

##############################################################################
# Debugging                                                                  #
##############################################################################
CONFIG proxy.config.diags.debug.enabled INT 0
CONFIG proxy.config.diags.debug.tags STRING http.*|dns.*
CONFIG proxy.config.dump_mem_info_frequency INT 0
CONFIG proxy.config.stack_dump_enabled 0

##############################################################################
# Log any request that takes more then x number of milliseconds, needs       #
# to be > 0 to be enabled                                                    #
##############################################################################
CONFIG proxy.config.http.slow.log.threshold INT 0

##############################################################################
# Thread pool for "misc" tasks, plugins etc. 2 is a good minimum             #
##############################################################################
CONFIG proxy.config.task_threads INT 2
CONFIG proxy.config.cluster.cluster_configuration STRING cluster.config
CONFIG proxy.config.body_factory.template_sets_dir STRING /etc/trafficserver/body_factory


Mime
View raw message