Сегодня, когда компьютерные сети становятся все более популярными, компьютерная безопасность требует не только предотвращения компьютерных вирусов, но и улучшения способности системы противостоять незаконным вторжениям хакеров. Также необходимо повысить конфиденциальность удаленной передачи данных, чтобы избежать незаконной кражи во время передачи. В этой статье обсуждаются лишь некоторые ситуации, которые могут возникнуть при построении веб-сервера в надежде привлечь внимание.
1. Уязвимости безопасности
Уязвимости веб-сервера можно рассматривать со следующих сторон:
1. Секретные файлы, каталоги или важные данные на веб-сервере, к которым вы не разрешаете доступ другим лицам.
2. При отправке информации от удаленного пользователя на сервер, особенно при отправке такой информации, как кредитные карты, она незаконно перехватывается преступниками на полпути.
3. В самом веб-сервере имеются некоторые уязвимости, которые позволяют некоторым людям вторгаться в хост-систему, уничтожать некоторые важные данные и даже вызывать паралич системы.
4. Уязвимости безопасности CGI включают в себя:
(1) Намеренное или непреднамеренное отсутствие ошибок в хост-системе создает условия для нелегальных хакеров.
(2) Программы, написанные с использованием сценариев CGI, могут представлять веб-опасность для хост-системы.
5. Существуют также простые веб-серверы, загруженные из Интернета без учета некоторых факторов безопасности и не подлежащие использованию в коммерческих целях.
Поэтому независимо от того, настраиваете ли вы сервер или пишете CGI-программы, вы должны уделять внимание безопасности системы. Постарайтесь закрыть все существующие лазейки и создать безопасную среду.
2. Повышение безопасности и стабильности системы.
Меры предосторожности веб-сервера:
1. Ограничить открытие аккаунтов на веб-сервере и регулярно удалять некоторых пользователей, прерывающих процесс.
2. Для учетных записей, открытых на веб-сервере, установите требования к длине пароля и регулярной его смене во избежание кражи.
3. Попробуйте отделить от них FTP, MAIL и другие серверы и удалить некоторые ненужные приложения, такие как ftp, sendmail, tftp, NIS, NFS, Finger, netstat и т.п.
4. Удалите с веб-сервера некоторые совершенно ненужные интерпретаторы, такие как SHELL. То есть, если PERL не используется в вашей CGI-программе, попробуйте удалить PERL в системном интерпретаторе.
5. Регулярно проверяйте файл журналов на сервере и анализируйте любые подозрительные события. Когда в журнале ошибок появляются такие записи, как rm, login, /bin/perl, /bin/sh и т. д., возможно, на ваш сервер вторглись нелегальные пользователи.
6. Установите разрешения и атрибуты системных файлов на веб-сервере, назначьте общедоступную группу, например WWW, документу, к которому могут получить доступ другие, и назначьте ему только права только на чтение. Все файлы HTML принадлежат группе WWW, а управление группой WWW осуществляет веб-администратор. Только веб-администраторы имеют доступ на запись к файлам веб-конфигурации.
7. Когда некоторые веб-серверы указывают каталог веб-документов и каталог FTP на один и тот же каталог, вы должны быть осторожны, чтобы не указывать каталог FTP и CGI-BIN в одном и том же каталоге. Это сделано для того, чтобы некоторые пользователи не могли загружать некоторые программы, такие как PERL или SH, через FTP и использовать CGI-BIN Интернета для их выполнения, что может привести к неблагоприятным последствиям.
8. Получите доступ к IP-адресу или DNS пользователя, ограничив разрешения, например добавив: в access.conf в NCSA:
«Каталог /полный/путь/к/каталогу»
«Ограничить ПОЛУЧИТЬ ПОСТ»
заказ взаимный отказ
отрицать от всех
разрешить с 168.160.142.
《/Лимит》
《/Каталог》
Таким образом, доступ к веб-серверу смогут получить только клиенты с доменным именем abc.net.cn или IP-адресом, принадлежащим 168.160.142.
Для серверов CERN или W3C добавьте это в httpd.conf:
Защита ЛОКАЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ {
GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5)
}
Защитить /relative/path/to/directory/* LOCAL-USERS
9.HTTPD под WINDOWS
(1) Коммуникационный сервер Netscape для NT
Уязвимости интерпретатора PERL:
Netscape Communications Server не может распознать расширение и его связь с приложением в CGI-BIN. Например, файл .pl представляет собой файл интерпретации, автоматически вызываемый программой кода PERL. Даже сейчас файл perl.exe может храниться только в CGI. -BIN-каталог вниз. Выполните, например: /cgi-bin/perl.exe? &my_script.pl. Но это
Может ли кто-нибудь запустить PERL, если кто-то добавит что-то вроде: /cgi-bin/perl.exe в URL-адрес своего браузера? -e unlink <*> может привести к риску удаления файлов в текущем каталоге сервера. Однако другие, такие как O'Reilly WebSite или Purveyor, не имеют этой уязвимости.
Уязвимости в CGI-выполнении пакетных файлов:
Содержимое файла test.bat следующее:
@эхо выключено
echo Тип контента: текстовый/обычный
эхо
эхо Привет, мир!
Что делать, если URL-адрес браузера клиента:/cgi-bin/test.bat? &dir, затем выполняется интерпретатор команд для завершения списка DIR. Это дает посетителю возможность выполнять другие команды.
(2) Сервер веб-сайта O’Reilly для Windows NT/95
Та же уязвимость, что и Netscape, существует при использовании пакетных файлов в версиях, предшествующих WebSite1.1B. Однако новая версия закрывает роль .bat в CGI. Поддерживает PERL, а новая версия использует VB и C в качестве инструментов разработки CGI.
(3) Веб-сервер Microsoft IIS
В IIS до 5 марта 1996 г. имеются серьезные ошибки под NT, и вы можете использовать команду команду как угодно. Однако с тех пор уязвимость была исправлена, и вы можете проверить дату создания вашего исполняемого файла. В IIS 3.0 все еще есть некоторые ошибки безопасности, в основном связанные с предоставлением прав в CGI-BIN. Кроме того, многие веб-серверы сами по себе имеют некоторые уязвимости безопасности, которые постоянно обновляются в процессе обновления версии. Я не буду перечислять их здесь по отдельности.
[Вырезанная страница]
3. Рассмотрите безопасность с точки зрения программирования CGI.
1. Использовать компилируемый язык безопаснее, чем интерпретируемый, и программы CGI следует размещать в CGI-BIN независимо от каталога хранения HTML. Это сделано для того, чтобы некоторые нелегальные посетители могли получить исходный код интерпретируемого языка из браузера. в коде.
2. При написании программ CGI на C вам следует стараться использовать popen(), system(), все команды SHELL, включающие /bin/sh, а также system(), exec(), open(), eval( в PERL). и другие команды, такие как exec или eval.
Когда форма, заполненная пользователем, возвращается в CGI, не вызывайте напрямую такие функции, как system().
Кроме того, для шифрования и передачи данных в настоящее время существуют SSL, SHTTP, SHEN и другие протоколы, которые каждый может изучить.
4. Брандмауэр
1. Понятие брандмауэра
Межсетевой экран — это устройство, состоящее из программного обеспечения или комбинации программных и аппаратных устройств. Оно расположено между компьютерами предприятия или сетевой группы и внешним каналом (Интернет). Оно ограничивает доступ внешних пользователей к внутренней сети и сети. управляет доступом внутренних пользователей к разрешениям внешней сети.
2. Меры по обеспечению межсетевого экрана
(1)Прокси-хост
«Внутренняя сеть — прокси-шлюз — Интернет»
Таким образом, внутренняя сеть не взаимодействует напрямую с Интернетом. То есть пользователи компьютеров внутренней сети и прокси-шлюз применяют метод связи, то есть предоставляют внутренние сетевые протоколы (Netbios, TCP/IP и т. д.), а между шлюзом и шлюзом применяется стандартный сетевой протокол связи TCP/IP. Интернет. Это предотвращает прямое перемещение пакетов сетевых данных между внутренними и внешними сетями. Внутренние компьютеры должны иметь доступ к Интернету через прокси-шлюз, что позволяет легко ограничить доступ компьютеров внутренней сети к внешним компьютерам на прокси-сервере. Кроме того, поскольку прокси-сервер использует разные стандарты протоколов на обоих концах, он также может напрямую предотвращать незаконные вторжения из внешнего мира. Кроме того, шлюз прокси-сервера может выполнять элементы управления безопасностью, такие как проверка пакетов данных и подтверждение паролей. Таким образом, пользователи на обоих концах могут лучше контролироваться и управляться, действуя как межсетевой экран.
Поскольку эта мера брандмауэра реализуется через прокси-сервер, эффективность неизбежно будет снижаться при наличии большого количества онлайн-пользователей. Прокси-сервер сильно перегружен, поэтому многие клиентские программы, имеющие доступ к Интернету, могут не иметь возможности нормального доступа к Интернету на внутреннем уровне. сетевые компьютеры.
(2) Добавление фильтра маршрутизатора завершено.
«Внутренняя сеть--Фильтр--Маршрутизатор--Интернет»
Эта структура использует маршрутизаторы и фильтры для совместного ограничения доступа внешних компьютеров к внутренней сети на основе IP-адресов или доменных имен. Она также может указывать или ограничивать доступ к Интернету из внутренней сети. Маршрутизатор направляет передачу данных только на определенный ПОРТ на хосте, в то время как фильтр выполняет фильтрацию, фильтрацию, проверку и мониторинг безопасности, что может в значительной степени изолировать несанкционированные входы в систему между внутренними и внешними сетями.
[Вырезанная страница]3. Рассмотрите безопасность с точки зрения программирования CGI.
1. Использовать компилируемый язык безопаснее, чем интерпретируемый, и программы CGI следует размещать в CGI-BIN независимо от каталога хранения HTML. Это сделано для того, чтобы некоторые нелегальные посетители могли получить исходный код интерпретируемого языка из браузера. в коде.
2. При написании программ CGI на C вам следует стараться использовать popen(), system(), все команды SHELL, включающие /bin/sh, а также system(), exec(), open(), eval( в PERL). и другие команды, такие как exec или eval.
Когда форма, заполненная пользователем, возвращается в CGI, не вызывайте напрямую такие функции, как system().
Кроме того, для шифрования и передачи данных в настоящее время существуют SSL, SHTTP, SHEN и другие протоколы, которые каждый может изучить.
4. Брандмауэр
1. Понятие брандмауэра
Межсетевой экран — это устройство, состоящее из программного обеспечения или комбинации программных и аппаратных устройств. Оно расположено между компьютерами предприятия или сетевой группы и внешним каналом (Интернет). Оно ограничивает доступ внешних пользователей к внутренней сети и сети. управляет доступом внутренних пользователей к разрешениям внешней сети.
2. Меры по обеспечению межсетевого экрана
(1)Прокси-хост
«Внутренняя сеть — прокси-шлюз — Интернет».
Таким образом, внутренняя сеть не взаимодействует напрямую с Интернетом. То есть пользователи компьютеров внутренней сети и прокси-шлюз применяют метод связи, то есть предоставляют внутренние сетевые протоколы (Netbios, TCP/IP и т. д.), а между шлюзом и шлюзом применяется стандартный сетевой протокол связи TCP/IP. Интернет. Это предотвращает прямое перемещение пакетов сетевых данных между внутренними и внешними сетями. Внутренние компьютеры должны иметь доступ к Интернету через прокси-шлюз, что позволяет легко ограничить доступ компьютеров внутренней сети к внешним компьютерам на прокси-сервере. Кроме того, поскольку прокси-сервер использует разные стандарты протоколов на обоих концах, он также может напрямую предотвращать незаконные вторжения из внешнего мира. Кроме того, шлюз прокси-сервера может выполнять элементы управления безопасностью, такие как проверка пакетов данных и подтверждение паролей. Таким образом, пользователи на обоих концах могут лучше контролироваться и управляться, действуя как межсетевой экран.
Поскольку эта мера брандмауэра реализуется через прокси-сервер, эффективность неизбежно будет снижаться при наличии большого количества онлайн-пользователей. Прокси-сервер сильно перегружен, поэтому многие клиентские программы, имеющие доступ к Интернету, могут не иметь возможности нормального доступа к Интернету на внутреннем уровне. сетевые компьютеры.
(2) Добавление фильтра маршрутизатора завершено.
«Внутренняя сеть--Фильтр--Маршрутизатор--Интернет»
Эта структура использует маршрутизаторы и фильтры для совместного ограничения доступа внешних компьютеров к внутренней сети на основе IP-адресов или доменных имен. Она также может указывать или ограничивать доступ к Интернету из внутренней сети. Маршрутизатор направляет передачу данных только на определенный ПОРТ на хосте, в то время как фильтр выполняет фильтрацию, фильтрацию, проверку и мониторинг безопасности, что может в значительной степени изолировать несанкционированные входы в систему между внутренними и внешними сетями.