TMAegisBeta
tdsql için daha fazla kural

TDSQL

TMA-TDSQL-4.2

Ensure `sql_mode` Contains `STRICT_ALL_TABLES`

DüşükDüzey 2Otomatiktdsql

Açıklama

Enabling STRICT_ALL_TABLES mode ensures that MySQL performs strict data type checking during data insertion/update, rather than silently truncating or converting values. Runs the mysql client against the TDSQL data node selected by TDSQL_MYSQL_OPTS (e.g. "-h10.0.0.5 -P4001 -utdsql_audit"); keep the password in ~/.my.cnf or a login path rather than MYSQL_PWD or the command line (see 1.4 and 1.5).

Nasıl denetlenir

Denetim yöntemi: SQL sorgusu

sql_query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT CASE WHEN FIND_IN_SET('STRICT_ALL_TABLES', @@global.sql_mode) > 0 THEN 'compliant' ELSE 'noncompliant' END" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Beklenen çıktı
compliant

Nasıl düzeltilir

Düzeltme yöntemi: Kılavuz veya altyapı yaması

Add STRICT_ALL_TABLES to sql_mode via the OSS management platform, e.g. SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,STRICT_ALL_TABLES'; and persist it in the parameter template.

Özellikler

İşletim sistemleri
Herhangi biri
Etiketler
tdsqlhardening
Referans
CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 4.2 Ensure `sql_mode` Contains `STRICT_ALL_TABLES`

Bu ana makineyi denetle

Bunu denetleme izniniz olan bir makinede çalıştırın. Tarama salt okunurdur.

shell
tmaegis scan --target tdsql --level 2