Архив рубрики: Без рубрики

заблокировать доступ к сайту пользователям, находящимся в определенных странах. nginx + debian + GeoIP

1. Проверяем, была ли подключена поддержка HttpGeoipModule
nginx -V | grep http_geoip_module

Если все ок - идем дальше
	
sudo apt-get install geoip-database libgeoip1

sudo mv /usr/share/GeoIP/GeoIP.dat /usr/share/GeoIP/GeoIP.dat_bak
cd /usr/share/GeoIP/
sudo wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
sudo gunzip GeoIP.dat.gz
sudo nano /etc/nginx/nginx.conf

Добавить в блок http {} перед инклюдами
 
Вариант 1 ( разрешенео всем, кроме китая)

geoip_country /usr/share/GeoIP/GeoIP.dat;
 map $geoip_country_code $allowed_country {
        default yes;
        CN no;
}

Вариант 2 ( запрещено всем, кроме России и Украины)

geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
	default no;
        RU yes;
        UA yes;
}


Изменение в секции server {} ( Возвращаем 404 ошибку) 

if ($allowed_country = no) {
            return 404;
}


	
sudo /etc/init.d/nginx reload

windows 2008 r2 Отказано в доступе при подключении по rdp

Log Name: System
Source: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Event ID: 1028

mstsc /admin
Пуск — выполнить — cmd
regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server

DWORD IgnoreRegUserConfigErrors == 1

ASA port forwarding to ESX

object network vMware_Server
host 192.168.0.15
object network vmWare_Port_443_443
host 192.168.0.15
nat (inside,outside) static interface service tcp 443 443

object network vmWare_Port_903_903
host 192.168.0.15
nat (inside,outside) static interface service tcp 903 903

object network vmWare_Port_902udp_902udp
host 192.168.0.15
nat (inside,outside) static interface service udp 902 902

object network vmWare_Port_902_902
host 192.168.0.15
nat (inside,outside) static interface service tcp 902 902

access-list outside_access_in extended permit tcp any4 object vMware_Server eq 902
access-list outside_access_in extended permit udp any4 object vMware_Server eq 902
access-list outside_access_in extended permit tcp any4 object vMware_Server eq 903
access-list outside_access_in extended permit tcp any4 object vMware_Server eq 443

b2b mts пример c# soap

Через стандартный soap ПЕРЕДАЧА ТОКЕНА с секюрити в битуби НЕ РАБОТАЕТ! извращаемся через известное место…

 
        public ActionResult Test()
        {
            var token = "";
 
            var url = "https://b2b.locator.ru/mts/ws/me_b2b_54/security.asmx?wsdl";
            var xml =
                @"<?xml version=""1.0"" encoding=""utf-8""?>    
                   <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""
                   xmlns:xsd=""http://www.w3.org/2001/XMLSchema""
                   xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">
                    <soap:Body>
                    <Login xmlns=""http://locator.ru/LBS"">
                    <login>MyLogin</login>
                    <password>P@SS</password>
                    </Login>
                    </soap:Body>
                   </soap:Envelope>";
 
            var request = (HttpWebRequest)System.Net.WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "text/xml; charset=utf-8";
            request.Headers.Add("SOAPAction", "http://locator.ru/LBS/Login");
 
            using (var writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII))
            {
                writer.Write(xml);
            }
 
            using (var response = (HttpWebResponse)request.GetResponse())
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                var res = new ContentResult(); ;
 
 
                var doc = XDocument.Load(reader);
                token = doc.Descendants().Where(la=>la.Name.LocalName == "Token").First().Value;
               
            }
 
 
 
            var urlGetSubscribers = "https://b2b.locator.ru/mts/ws/me_b2b_54/b2b_api.asmx?wsdl";
            var xmlGetSubscribers =
                @"<?xml version=""1.0"" encoding=""utf-8""?>
                   <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""
                   xmlns:xsd=""http://www.w3.org/2001/XMLSchema""
                   xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">
                    <soap:Header>
                    <SecurityHeader xmlns=""http://locator.ru/LBS"">
                    <SessionToken>"+token+@"</SessionToken>
                    </SecurityHeader>
                    </soap:Header>
                    <soap:Body>
                               <GetSubscribers xmlns=""http://locator.ru/LBS"" />
                    </soap:Body>
                   </soap:Envelope>
                   ";
 
            request = (HttpWebRequest)System.Net.WebRequest.Create(urlGetSubscribers);
            request.Method = "POST";
            request.ContentType = "text/xml; charset=utf-8";
            request.Headers.Add("SOAPAction", "http://locator.ru/LBS/GetSubscribers");
 
            using (var writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII))
            {
                writer.Write(xmlGetSubscribers);
            }
 
            using (var response = (HttpWebResponse)request.GetResponse())
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                var res = new ContentResult(); ;
 
                return this.Content(reader.ReadToEnd(), "text/xml");
            }
 
 
 
 
            return new EmptyResult();
        }