Справочное руководство по MySQL версии 4.1.1-alpha



         

Глава 4.2.1 Общие принципы обеспечения безопасности - часть 4


  • Пользователям PHP:

    • Проверьте функцию addslashes(). Что касается PHP 4.0.3, то в
    • нем имеется функция mysql_escape_string(), базирующаяся на функции с тем же именем из MySQL C API.

    • Пользователям MySQL C API:

      • Проверьте API-вызов mysql_real_escape_string().
      • Пользователям MySQL++:

        • Проверьте такие модификаторы, как escape и quote, - для
        • потоков запросов.

        • Пользователям Perl DBI:

          • Проверьте метод quote() или используйте для проверки
          • заполнители.

          • Пользователям Java JDBC:

            • Используйте для проверки объект PreparedStatement и
            • символы-заполнители.

            • Не передавайте по Internet открытые (незашифрованные) данные. Они могут оказаться у кого угодно, имеющего достаточно времени и возможностей для того, чтобы перехватить их и использовать в своих целях. Используйте вместо этого протоколы с шифрованием данных, такие как SSL и SSH. MySQL, начиная с версии 4.0.0, поддерживает собственные SSL-соединения. Пересылка по SSH (SSH Port Forwarding) может быть использована для создания туннеля передачи данных с шифрованием и сжатием.

            • Научитесь пользоваться утилитами tcpdump и strings. В большинстве случаев проверить, являются ли потоки данных MySQL зашифрованными, можно с помощью команды, подобной той, которая приведена ниже:

              shell> tcpdump -l -i eth0 -w - src or dst port 3306 | strings

              (Она работает под Linux, и будет, с незначительными изменениями, работать под другими системами.) Предупреждение: если вы не видите данных, это еще не гарантирует того, что они зашифрованы. Если требуется высокий уровень безопасности, обратитесь к экспертам в этой области.




              Содержание  Назад  Вперед