Мое предположение было бы то, что независимо от того, что оболочка, которую использует Ваш в задании, отличается от той, которую Вы используете в командной строке, и в оболочке задания не имеет уничтожения встроенным, который знает о символьных символах сигнала. Это распространено на Ubuntu, которая использует тире для/bin/sh (который используется в по умолчанию), но/bin/bash для интерактивных оболочек.
Можно использовать двоичный файл 'уничтожения' путем определения пути к нему:
echo "/bin/kill -CONT $rspid" | at now + 2 minutes
Или иначе укажите оболочку для выполнения явно:
echo "/bin/bash -c \"kill -CONT $rspid\"" |at now + 2 minutes
Я думал, что была опция сказать в том, какую оболочку использовать, но я, может казаться, не нахожу упоминания о ней теперь. Возможно, хижина работала бы...
Это зависит, как Вы соединяетесь со своей базой данных. При использовании веб-приложения Фырканье (и другой NIDS) сможет обнаружить Внедрения SQL и другие нападения, которые происходят по HTTP.
Проблема - то, при использовании SSL или зашифрованных соединений к дб NIDS будет слепым к трафику.
Вот почему анализ журнала очень важен. Единственным путем Ваш дб возражает Вам, через журналы, и много DBAs не знакомы с ним. Я действительно не понимаю, почему все принимают сеть, регистрирующуюся как знакомую, но вход дб пренебрежения (я буду разглагольствовать больше об этом другое время).
Включить журнал mysql: http://www.ossec.net/wiki/index.php/SQL_Logging#MySQL_Logging
Я также использую OSSEC с открытым исходным кодом для контроля моих журналов MySQL, и он работает отлично.
Если Вы действительно хотите отследить каждое изменение в своих таблицах, необходимо будет сделать, что-то сумасшедшее как включает журнал запросов MySQL и сканирование для плохого материала с помощью чего-то как Простой Коррелятор События. Не делайте этого, хотя, потому что это уничтожит производительность Вашего сервера.
Честно, Ваш лучший выбор состоит в том, чтобы предотвратить нежелательные изменения во-первых при помощи полномочий MySQL.
Я не использую MySQL, таким образом, я не могу говорить ни с какими определенными функциями платформы.
Это кажется на желание журнала аудита некоторого вида. Говоря в общем смысле RDBMS, Вы смогли использовать триггеры для получения Вас часть функциональности, которую Вы ищете. Я не думаю, что Вы собираетесь получить журнал аудита модификации схемы, если MySQL не представляет схему как таблицы, которые могут, в свою очередь, иметь триггеры, помещенные в них.
Конечно, вся эта триггерная ерунда спорна, если кто-то получает "корневой" доступ уровня к базе данных и просто отсоединяет триггеры, прежде чем они запустят monkeying с данных. В той точке все ставки выключены. (... и это даже не начинает иметь дело с кем-то получающим "корневой" доступ уровня к ОС, размещающей базу данных... уровень байта manipuation файлов базы данных, монтируя их на экземпляре базы данных, которому "взломали" средства защиты из него, и т.д.... улыбнитесь),
Существуют коммерческие продукты, разработанные для этого. Я думаю, что мы посмотрели на DbProtect (www.appsecinc.com), и это были главные доллары для реализации, но мы закончили тем, что не делали его. Я также видел Guardium (www.guardium.com). Оба требования поддерживать некоторую версию MySQL.
Фырканье может все еще быть полезным. Выгода знает, куда Ваш трафик базы данных должен прибыть из. Если это прибывает из источника кроме того, что утверждено, можно заблокировать его, очевидно, в MySQL. Однако можно также настроить предупреждения в IDS для наблюдения этого вида вещи.
Относительно нападения, прибывающего из авторизованного IP-адреса, это - определенная проблема. Ключевой вопрос там - то, что соединению нужно позволить сделать и что не было должно он? И это возвращается к установке полномочий правильно. Если законный пользователь соединяется от законного IP, и потребности УДАЛЯЮТ полномочия, и хочет быть злонамеренным, нет много, можно делать с этим во время фактической модификации. Предложение было дано для аудита, но это повреждает Вашу производительность. Я не уверен, что Вы имеете эффективный контроль, если пользователи могут непосредственно получить доступ к базе данных и внести изменения. Все платформы базы данных, не просто MySQL, борются с этим. У Вас есть доверяемый пользователь, вносящий авторизованное изменение. Существует только так, можно сделать.
Я не полагаю, что существуют любые подходящие методы, чтобы сделать это в MySQL. Необходимо удостовериться, что своего рода контрольная сумма безопасности применяется ко всем законным модификациям, с помощью какого-то секретного ключа, поэтому если данные строки отличаются от контрольной суммы, Вы знаете, что несанкционированная модификация была сделана.
Что касается того, как Вы контрольная сумма, и как Вы держите ключ в секрете, это - целая другая история, о которой можно не стесняться посылать мне по электронной почте при расчете его из или через этот сайт (я являюсь новым здесь и не настроенный правильно все же).
Реалистично, только удаленные резервные копии помогут Вам принять меры против удаления строк и отметить, что использование mysqldump является единственным 'официально' поддерживаемым методом выполнения так.
Хотя копирование базовых файлов (MyISAM) работает в подавляющем большинстве случаев для того типа таблицы, это падает при случае, таким образом, я не доверял бы ему один ни для чего в жестком реальном времени.