Вторник, 30.04.2024, 03:24
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
HackUtill
Форма входа

IP Lookup

Меню сайта

Категории раздела
Новости Интернета [12]
Новости о компьютеной безопасности [2]
Новости политики [0]
Обзор новых интересных программ [0]
Обзор железа [0]
Новости мобильного рынка [0]

Облако тэгов
криптографическая защита статьи про криптографию ФАПСИ ЦРУ книга Крис Касперски скачать бесплатно +без регистрации Социальная инженерия Искусство обмана Кевин Митник Delphi советы мобильный телефон Хакинг дизассемблирование Скачать css html тэги книга о html тегах теги assembler программа для Windows скачать + бесплатно склеить файлы троян ICQ массовая рассылка рассылка по ICQ скачать бесплатно программу рассылк скачать программу icq bot SQL Helper sql injection google Pwn2Own взлом Chrome конкурс хакеров Anonimous SOPA арест интерпол кибер-атака Attack dns hack отключить интернет .htaccess 80 порт apache httpd.conf Windows 2003 защита Защита Windows 2003 DDoS ddos атака защита от атак защита сервера TOR безопасность решение суда

Наш опрос
Оцените мой сайт
Всего ответов: 28

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Друзья сайта
  • Все для веб-мастера
  • Программы для всех
  • Мир развлечений
  • Лучшие сайты Рунета
  • Кулинарные рецепты

  • Главная » Статьи » Новости » Новости о компьютеной безопасности

    Как защитить web сервер под Windows 2003
    Стояла задача защитить Web сервер под управлением windows 2003. Как всем известно сервер защищён тогда когда на нём закрыты все возможные порты. И стучать некуда и ломать нечего. Естественно сервер должен был иметь 80 порт открытым.

    Схема была следующей. Сервер имел отдельный порт например 2754 на который приходили данные в виде ключа доступа сгенерированного по определённым правилам и команда для управления портами. По сути сервер и в рабочем режиме имел два открытых порта: 80 и 2754.

    Для реализации данной схемы в настройках Apache, в файле httpd.conf было добавлено несколько опций.

    # port listening
    Listen 2754

    #Vhost on 2754 port

    DocumentRoot c:\www\portcontroller


    Для любопытных в файле c:\www\portcontroller\.htaccess было добавлено:

    Options -Indexes
    order deny allow
    Deny from all
    Allow from 10.100.10.123

    IP 10.100.10.123 это ip с которого приходили наши команды на открытие портов.

    Далее Был написан скрипт c:\www\portcontroller\portctl.php

    date_default_timezone_set("Europe/Kiev");
    $fm = fopen("portcontroller.log","a");
    $fdate = date("d-m-Y H:i:s");

    if(empty($_GET['key'])){
    fpots($fm,$fdate."ALARM!!!!Open Port without SpecialKey!!|\n");
    exit();
    } else {

    $_date = date("Y:m:d");
    $_date = md5($_date); // - Ключ по дате
    $key_val = md5($_date."a1dc248dd2d814c73dw82f99d384f55"); // - усложнение ключа

    if($key_val === $_GET['key']){

    $response .= "Server PortController 0.0.1 |";
    $response .= "Wellcome! |";
    $command = base64_decode($_GET['command']);

    if($command == "OpenPortPlease"){
    fputs($fm,$fdate."Open ports |\n");
    exec("netsh firewall add portopening TCP 413 ENABLE",$exec_output);
    exec("netsh firewall set portopening protocol=ALL port=445 mode=ENABLE",$exec_output);
    exec("netsh firewall add portopening TCP 3306 ENABLE",$exec_output);
    exec("netsh firewall set portopening protocol=ALL port=3389 mode=ENABLE",$exec_output);
    }

    if($command == "ClosePortPlease"){
    fputs($fm,$fdate."Close ports |\n");
    exec("netsh firewall delete portopening TCP 413",$exec_output);
    exec("netsh firewall set portopening protocol=ALL port=445 mode=DISABLE",$exec_output);
    exec("netsh firewall delete portopening TCP 3306",$exec_output);
    exec("netsh firewall set portopening protocol=ALL port=3389 mode=DISABLE",$exec_output);
    }

    if($command != "GetStatus") {
    $limit = 21;
    } else {
    $limit = 13;
    }


    $response .= "|| Ports: ||";

    exec("netsh firewall show state",$exec_output);
    $x=0;
    foreach($exec_output as $str){
    $x++;
    if($x > $limit) $response .= $str."|";

    }

    $response = base64_encode($response);
    print $response;


    } else {
    exit();
    fputs($fm,$fdate."Alarm!!! Open port with wring SpecialKey!|\n");
    }
    }


    Ключ генерируется по дате конечно можно его генерировать как угодно, но было выбрано такое решение. Далее $command = base64_decode($_GET['command']); приходила команда с клиента запрашивающая открывать порты или закрывать. А вот закрытие портов или открытие происходило при помощи утилиты NETSH exec("netsh firewall add portopening TCP 333 ENABLE",$exec_output);
    Не сложно догадаться как должен был выглядеть клиент для передаче нужных параметров серверу. Он генерировал ключ доступа по дате и секретной hash сумме для усложнения кода + base64encode команду для передачи её на сервер. При валидации всех ожидаемых данных сервер открывал порты для управления. Например по RDP или простой SMB. После окончания работы с сервером надо было не забывать закрывать порты.

    Также средствами Windows фаервола было отключено ICMP. Для того чтобы если кто то захочет пропинговать ресурс не видел ответов. Тупая но подлянка.Далее на админку сайта было добавлен .htpassword авторизация:

    В файл .htaccess

    AuthType Basic  
    AuthName "WhoAreYou?"
    AuthUserFile  c:\www\****\admin\.htpasswd  
    AuthName admin
    require valid-user

    и командочка

    htpasswd -c .htpasswd admin

    Вот мы и получили защищённый сервер. С открытым 80 портом и портом управления 2754. Защищённой админкой при помощи HtaccessAuth. Коли ваш сайт написан не дураком (не имеет дыр) то такой сервер будет долго служить.


    Для того чтобы реализовать данную возможность на Linux сервере необходимо переделать команды NETSH на iptables в php скрипте




    Источник: http://www.hackzone.ru/articles/view/id/9239/
    Категория: Новости о компьютеной безопасности | Добавил: Sir_J (26.10.2012)
    Просмотров: 976 | Комментарии: 11 | Теги: 80 порт, httpd.conf, Защита Windows 2003, .htaccess, Windows 2003, защита, apache | Рейтинг: 0.0/0
    Всего комментариев: 1
    1 Elenakah  
    0
    Incredibly interesting, look ahead to returning. Take a look at too my own webpage

    https://kcapa.net/bbs/board.php?bo_table=free&wr_id=1186256 дерматолог или кожен лекар

    dd=+

    Имя *:
    Email *:
    Код *:

    Copyright MyCorp ©2010 - 2024
    Сделать бесплатный сайт с uCoz