Июн 30
|
Янв 13
|
Попался мне тут на глаза (на сервере) замечательный php-шелл WSO 2.5 — прилетел через Joomla, на которой крутился интернет-магазин друга (вот не зря я эту джумлу не люблю). Посему будем разбираться, как ограничить доступ злобных скрипт-киддисов с веб-шеллами к серверу.
Настраиваем php
Понятно, что php — лидер среди скриптовых языков, используемых для создания динамических веб-страниц, поэтому с ограничений его работы мы и начнем.
Для этого открываем конфиг php и вносим в него изменения.
Запрещаем скриптам выполняться в директориях, отличных от директории сайта и /tmp:
open_basedir = /var/www:/tmp
Запрещаем открывать файлы с удаленных серверов по протоколам http и ftp:
allow_url_fopen = Off
И, самое главное, отключаем все опасные модули php, которые нужны для работы web-shell`ов (пишем в одну строку):
disable_functions = popen, get_current_user, apache_get_modules, virtual, getmyinode, fileowner, filegroup, apache_get_version, apache_getenv, disk_free_space, highlight_file, symlink, disk_total_space, ini_get_all, apache_note, apache_setenv, chgrp, closelog, debugger_off, debugger_on, define_sys, define_syslog_variables, diskfreespace, dl, escapeshellarg, escapeshellcmd, exec, getmypid, getmyuid, ini_restore, leak, listen, openlog, passthru, pclose, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, show_source, syslog, system, url_exec, _getppid, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, posix, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_times, posix_ttyname, posix_uname
Продолжение »
Мар 02
|
Пока я между командировками и насыщенной работой писал так и не размещённый пост о практическом опыте перехода с Apache на NginX, ко мне приехал заказанный в середине прошлого года RaspberryPi. Разумеется, мне стало интересно развернуть NginX на нём, а не системнике.
По установке debian`а на этот девайс написано много и подробно, поэтому этот вопрос рассматривать не будем, и предположим, что на устройстве у нас уже есть развернутый и обновлённый Debian Wheezy.
Для начала входим в режим рута, набрав в консоли
sudo su
К сожалению, в настоящее время ещё нет репозитория NginX для Debian Wheezy, только для squeeze, поэтому свежей версии 1.3.13 мы не увидим, зато не будем заниматься правкой файла /etc/apt/sources.list и получением GPG-ключа, а просто поставим имеющийся в стандартном репозитории (archive.raspbian.org) NginX версии 1.2.1 и все необходимые зависимости командой:
apt-get update && apt-get install nginx php5-fpm php5-cgi php5-cli php5-common php5-mysql php5-gd php-pear php5-mcrypt mc
Июл 24
|
Описание: после установки XAMPP 1.8.0 не запускается Apache 2.4, при попытке запуска в логах появляется ошибка Cannot load /xampp/php/php5ts.dll into server
Решение: Если на компьютере не установлена среда Visual C++ 2008 с SP1, нужно будет доставить компоненты этой среды. Они устанавливаются с пакетом обновления 1 (SP1) Microsoft Visual C++ 2008. Скачиваете, устанавливаете и наслаждаетесь рабочим апачем 🙂
ЗЫ: Если при установке XAMPP ругается на включенный контроль учетных записей (UAC, User Account Control), напомню, что UAC отключается очень легко.