Глава 33. Безопасность___________________________________811
Если вы обнаружите, что кто-то пытается сделать что-то предосудительное (обратите внимание на повторяющиеся неудачные попытки войти на сервер и продолжительные сеансы Telnet), необходимо принять превентивные меры безопасности. Заблокируйте доступ с подозрительного домена, если атака исходит извне. Пошлите уведомление, объясняющее, что вы в курсе того, что происходит. Если вы подозреваете пользователя своей системы, предупредите его о возможном отзыве полномочий или запрещении доступа. Многие администраторы сначала отключают нарушителя и только после этого дают ему какие-то объяснения. Это может предотвратить резкие действия со стороны пользователя, не терпящего замечаний, а также покажет, что вы серьезно относитесь к вопросам безопасности.
Программирование и безопасность
Интерактивность получает все большее распространение в сетях, соответственно усложняется и работа системных администраторов. Не вызывает сомнений тот факт, что обеспечение безопасности в развитой системе сложнее, чем в простой. По мере развития и усложнения Всемирной паутины, связанного с активным использованием программ и скриптов, у плохих парней появляются все новые и новые возможности добавить вам головной боли.
В целом, разработчики языков не оставляют вопросы безопасности без внимания. Java, самый популярный язык создания приложений для Internet, обеспечивает хороший уровень безопасности. JavaScript и VBScript представляют небольшой интерес для любителей пакостей из-за ограниченности операций.
Другие языки программирования для сетей, однако, позволяют нечистым на руку пользователям, проявить свои способности. Элементы управления ActiveX настолько сложны, что обеспечивают только самый минимум безопасности. Что касается Общего шлюзового интерфейса (CGI), то он особенно привлекателен для взломщиков, так как имеет доступ непосредственно к процессору сервера.
Ниже приведен обзор языков программирования для сетей с точки зрения безопасности.
Java
Разработчики компании Sun Microsystems серьезно подошли к вопросам безопасности. Они постарались сделать так, чтобы было невозможно написать вирус на этом языке и чтобы никакая Java-программа не могла нанести вред машине, на которой она работает.
Им удалось добиться успеха. Этот язык не содержит многих операций, управляющих памятью на низком уровне, характерных для объектно-ориентированных языков, таких как C++. Отсутствие таких операций дает два эффекта:плохие парни не могут использовать эти стандартные про-