13. Copyright201Oracleand/oritsaliates.Allrightsreserved.|
MySQLEnterpriseFirewall
SQLInjecIonProtecIonwithPosiIveSecurityModel
OutofpolicydatabasetransacIonsdetectedandblocked
Logging&Analysis Select *.* from employee where id=22! Select
*.* from employee where id=22 or 1=1! Block&Log Allow&Log
WhiteListApplicaPons 13
14. Copyright201Oracleand/oritsaliates.Allrightsreserved.|
MySQLEnterpriseFirewallDetails
FirewalloperaIonisturnedonataperuserlevel PerUserStatesare
RECORDING PROTECTING OFF 14
15. Copyright201Oracleand/oritsaliates.Allrightsreserved.|
WhathappenswhenSQLisblocked? TheclientapplicaIongetsanERROR
mysql> SELECT first_name, last_name FROM customer WHERE
customer_id = 1 OR TRUE; ERROR 1045 (28000): Statement was blocked
by Firewall mysql> SHOW DATABASES; ERROR 1045 (28000): Statement
was blocked by Firewall mysql> TRUNCATE TABLE mysql.user; ERROR
1045 (28000): Statement was blocked by Firewall
ReportedtotheErrorLog IncrementCounter 15
16. Copyright201Oracleand/oritsaliates.Allrightsreserved.|
MySQL Enterprise Edition & Cluster CGE 30 Oracle Software
Delivery Cloud http://edelivery.oracle.com/ MySQL Database
hbp://dev.mysql.com/doc/index- enterprise.html
51. Copyright201Oracleand/oritsaliates.Allrightsreserved.|
MySQLBinlogEvents BinlogAPI C++ 2"transport"
TCPTransport&FileTransport API
hbp://mysqlhighavailability.com/author/nehakumari/ 51
54. Copyright201Oracleand/oritsaliates.Allrightsreserved.|
MySQL5.7:JSON DocumentValidaIon oninsertonly EcientAccess mysql>
INSERT INTO employees VALUES ('some random text'); ERROR 3130
(22032): Invalid JSON text: "Expect a value here." at position 0 in
value (or column) 'some random text'. mysql> select
jsn_extract(data, '$.name') from employees;
+-----------------------------+ | jsn_extract(data, '$.name') |
+-----------------------------+ | "Jane" | | "Joe" |
+-----------------------------+ 2 rows in set (0,00 sec)