пятница, 2 июля 2010 г.

Простой пример простой защиты сервера на python

В сети можно найти достаточно много примеров построения простых серверов на базе python. Но вот как их защитить - редкость. С одной стороны причина этому заключается в том, что зачем его защищать, если задачи он выполняется простые, да и вряд ли кому-то из вне будут интересны. Или, а кто знает, что у меня запущен такой сервер? Каждый решает для себя стоит ли защищать свой сервер или нет. Если же ответ - все-таки стоит, приведу простой пример как можно защитить свой сервер.

Среди различных методов наверное самым эффективным и простым является запрет доступа к серверу по ip адресу источника. Для этого в python для класса SocketServer можно воспользоваться методом verify_request. В качестве одного из аргументов передается адрес клиента client_address(self, request, client_address).

Код выглядит следующим образом:
allow_from = ('127.0.0.1',)

def verify_request(self, request, client_address):
    if client_address[0] in allow_from:
        return SocketServer.TCPServer.verify_request(self, request, client_address)
    return False
Всего несколько строк и сервер уже не такой доверчивый к запросам из вне.

0 комментариев:

Отправить комментарий