Новые книги

Из вашего компьютера валит сизый дым? Windows не грузится, и вы видите лишь черный экран? Или же Windows загружается, но потом экран становится синим и по нему бегут «кракозябры»? Из системного блока раздается пронзительный писк? Не паникуйте! И не спешите вызывать мастера. В большинстве случаев сбои компьютера можно «излечить» самостоятельно. Как – научит эта книга. В ней предельно просто рассказывается о наиболее часто встречающихся поломках ПК. Рассматриваются как аппаратные сбои, так и сбои на уровне операционной системы и программного обеспечения. Отдельно обсуждаются вирусы и вредоносные программы.
Несколько слов об особенностях JavaScript, другими словами - что я знал об этом языке до начала его изучения. Первое и главное: JS код легко интегрируется в HTML разметку и является де факто стандартом для интернет браузеров. Из этого следует, что если вы совершенно не знаете HTML - JS, вероятнее всего, будет для вас бесполезна. В данном опусе я постараюсь разжевать всё максимально детально, но надо иметь в виду, что HTML и JS идут бок о бок, дополняя, а не заменяя друг друга. Для тех, кто сталкивался раньше с Delphi программированием или чем-то подобным можно, в первом приближении, привести такую аналогию: HTML - это форма, а JS - сам код программы.

Другая важная особенность языка - высокая интерактивность. Процитирую фразу, которую мне многократно доводилось слышать: "JavaScript - это событийно ориентированный язык программирования". Что это значит? Это означает, что вы можете написать кусок кода, который выполнится когда пользователь нажмёт на кнопку, можете написать кусок кода, который выполнится когда вы только подведёте к ней курсор мышки. Для Java Script и то и другое - события и она умеет на них реагировать.

Отличительная особенность языка и кода на нём - то, что результат можно увидеть имея лишь один из современных браузеров. То есть вам не нужно ставить и настраивать какие-то компиляторы, среды программирования и так далее. Для запуска любого из приведённых ниже примеров - достаточно набрать текст в любом редакторе (блокноте, например), изменить расширение на html и открыть при помощи браузера. Всё.

NIS Server Security

Безопасность NIS-сервера

NIS имеет большую дыру в защите: файл паролей доступен на чтение кому угодно. Зная имя домена NIS и адрес его сервера, можно просто попросить отобразить карту passwd.byname и немедленно получить зашифрованные пароли всей Вашей системы. Дальше в дело идет программа crack с хорошим словарем и пароли открыты!

К счастью, этому можно противостоять опцией securenets. Она просто ограничивает доступ к серверу NIS некоторыми хостами, основываясь на их IP-адресах или сетевых масках. Последняя версия ypserv реализует это свойство двумя способами. Первый полагается на специальный файл конфигурации, названный /etc/ypserv.securenets, а второй использует файлы /etc/hosts.allow и /etc/hosts.deny, с которыми Вы уже столкнулись в главе 12. Таким образом, чтобы ограничить доступ к серверу хостами из локальной сети добавьте строку к hosts.allow:

ypserv: 172.16.2.

Это позволит всем компьютерам из IP-сети 172.16.2.0 обращаться к NIS-серверу. Чтобы закрыть доступ всем остальным (внешним) машинам, допишите в hosts.deny:

ypserv: ALL

IP-адреса не единственный путь, которым Вы можете определять компьютеры или сети в hosts.allow и hosts.deny. Обратитесь за подробностями к man-странице hosts_access(5). Однако, не следует использовать в определениях для ypserv доменные хостов. При их использовании, сервер запросит у сервера DNS соответствующий IP, а ответ DNS может быть и подделан хакером. Еще хуже, когда DNS сам запросит карту от NIS, тот в свою очередь вызовет DNS и т.д.

Чтобы настроить securenets с использованием /etc/ypserv.securenets, нужно создать файл /etc/ypserv.securenets. Этот файл конфигурации прост: каждая строка описывает хост или сеть, которые будут иметь доступ к серверу. Любой адрес, не описанный в этом файле, будет заблокирован. Строки, начинающиеся с символа # считаются комментариями. Пример 13-1 показывает простой /etc/ypserv.securenets:

Пример 13-1. Образец файла /etc/ypserv.securenets

# allow connections from local host -- necessary
host 127.0.0.1
# same as 255.255.255.255 127.0.0.1
#
# allow connections from any host on the Virtual Brewery network
255.255.255.0   172.16.1.0

Первая запись в каждой строке задает сетевую маску для этой строки. Вторая запись определяет адрес соответствующего хоста, к которому маска применяется. Можно задать маску и адрес явно ключевыми словами host и netmask.

Третья опция (если определена) должна задавать для использования безопасный диспетчер портов (portmapper) вместо обычного securenets в ypserv. Безопасный portmapper (portmap-5.0) использует схему hosts.allow, но предлагает это для всех RPC-серверов, не только для ypserv. Однако, Вы не должны использовать опцию securenets и безопасный диспетчер портов вместе.