Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
You can monitor application security for Ruby apps running in Docker, Kubernetes, Amazon ECS, and AWS Fargate.
Prérequis
Enabling threat detection
Get started
Update your Gemfile to include the Datadog library:
gem 'datadog', '~> 2.0' # Use 'ddtrace' if you're using v1.x
To check that your service’s language and framework versions are supported for ASM capabilities, see Compatibility.
For more information about upgrading to v2 from a dd-trace
1.x version, see the Ruby tracer upgrade guide.
Enable ASM by enabling the APM tracer. The following options describe a quick setup that covers the most common cases. Read the Ruby tracer documentation for more details.
You can enable ASM either in your code:
Enable the APM tracer by adding an initializer in your application code:
# config/initializers/datadog.rb
require 'datadog/appsec'
Datadog.configure do |c|
# enable the APM tracer
c.tracing.instrument :rails
# enable ASM
c.appsec.enabled = true
c.appsec.instrument :rails
end
Or enable the APM tracer through auto-instrumentation by updating your Gemfile to auto-instrument:
gem 'datadog', '~> 2.0', require: 'datadog/auto_instrument'
And also enable appsec
:
# config/initializers/datadog.rb
require 'datadog/appsec'
Datadog.configure do |c|
# the APM tracer is enabled by auto-instrumentation
# enable ASM
c.appsec.enabled = true
c.appsec.instrument :rails
end
Enable the APM tracer by adding the following to your application’s startup:
require 'sinatra'
require 'datadog'
require 'datadog/appsec'
Datadog.configure do |c|
# enable the APM tracer
c.tracing.instrument :sinatra
# enable ASM for Sinatra
c.appsec.enabled = true
c.appsec.instrument :sinatra
end
Or enable the APM tracer through auto-instrumentation:
require 'sinatra'
require 'datadog/auto_instrument'
Datadog.configure do |c|
# the APM tracer is enabled by auto-instrumentation
# enable ASM for Sinatra
c.appsec.enabled = true
c.appsec.instrument :sinatra
end
Enable the APM tracer by adding the following to your config.ru
file:
require 'datadog'
require 'datadog/appsec'
Datadog.configure do |c|
# enable the APM tracer
c.tracing.instrument :rack
# enable ASM for Rack
c.appsec.enabled = true
c.appsec.instrument :rack
end
use Datadog::Tracing::Contrib::Rack::TraceMiddleware
use Datadog::AppSec::Contrib::Rack::RequestMiddleware
Or one of the following methods, depending on where your application runs:
Update your configuration container for APM by adding the following argument in your docker run
command:
docker run [...] -e DD_APPSEC_ENABLED=true [...]
Add the following environment variable value to your container Dockerfile:
ENV DD_APPSEC_ENABLED=true
Update your configuration yaml file container for APM and add the AppSec env variable:
spec:
template:
spec:
containers:
- name: <CONTAINER_NAME>
image: <CONTAINER_IMAGE>/<TAG>
env:
- name: DD_APPSEC_ENABLED
value: "true"
Update your ECS task definition JSON file, by adding this in the environment section:
"environment": [
...,
{
"name": "DD_APPSEC_ENABLED",
"value": "true"
}
]
Initialize ASM in your code or set DD_APPSEC_ENABLED
environment variable to true in your service invocation:
env DD_APPSEC_ENABLED=true rails server
La bibliothèque recueille des données de sécurité à partir de votre application et les envoie à l’Agent, qui les transmet à son tour à Datadog. Les règles de détection prêtes à l’emploi signalent alors les attaques et les problèmes potentiels de configuration, afin que vous puissiez agir en conséquence.
Pour tester la détection des menaces Application Security Management, envoyez des patterns d’attaque connus à votre application. Par exemple, exécutez un fichier contenant le script curl suivant afin de déclencher la règle de détection de scanner de sécurité :
for ((i=1;i<=250;i++));
do
# Target existing service’s routes
curl https://your-application-url/existing-route -A dd-test-scanner-log;
# Target non existing service’s routes
curl https://your-application-url/non-existing-route -A dd-test-scanner-log;
done
Remarque : la plupart des versions récentes prennent en charge la valeur dd-test-scanner-log
.
Quelques minutes après avoir activé votre application et envoyé les patterns d’attaque, des informations sur les menaces s’affichent dans l’Application Trace and Signals Explorer de Datadog.
Further Reading
Documentation, liens et articles supplémentaires utiles: