http://www.uxfox.ru/category/books/ Книги, которые нужно точно прочесть.
Плюсы фриланса вы вероятно уже знаете, расскажу о минусах:
Вы эникейщик, значит привыкли работать в режиме "хороший админ тот, кому не приходится много работать". Во фрилансе всё по другому.
Конкретно odesk заточен на повременную работу с контролем времени (со скриншотами и "индексом активности" мыши и клавиатуры). Это очень напряжный вид найма. В офисе мы постоянно делаем перерывы и отвлечения, а в повременке-с-контролем-времени заказчик может (и будет) вычеркивать такие периоды из оплачиваемого веремни. То есть фактически снижать ваш почасовой рейт. Ну или вы сами будете останавливать таймер, чтобы избежать конфликтов.
Реально это оборачивается очень длинным рабочим днем по низкой ставке. А ставка и без того будет низкой — индусы и прочие бангладешцы отчаянно сбивают цены.
И так будет продолжаться довольно долго, пока вы не наработаете много оплаченных часов и хорошую репутацию.
В общем это рабский труд, откажитесь пока не надорвали здоровье.
SYN_RECV - это состояние tcp-соединения во время three-handshake, означающее что сервер принял пакет с установленным флагом SYN (запрос на соединение), отправил SYN/SYN-ACK клиенту и ожидает от клиента пакет с флагом ACK.
Поскольку ACK от клиента (в нашем случае, от атакующего хоста) не приходит, то соединение висит до момента, пока оно не будет убито по таймауту. Пока такое соединение существует в системе - оно потребляет ресурсы, что может создать прецедент для замедления работы системы.
Таким образом, чтобы таких соединений не создавалось нужно отсеивать из них неугодные до того, как система выделит для них ресурсы. В Вашем случае, нужно фильтровать все входящие пакеты с установленным флагом SYN и дропать те из них, которые нас не устраивают. Легитимный пользователь не будет создавать по десятку соединений каждую секунду, а атакующий - будет.
Соответственно, Вам нужно выяснить закономерность (периодичность, количество запросов и т. п.), позволяющую отличить легитимный хост от атакующего конкретно в Вашем случае, и в соответствии с ней создать правила.
Если говорить обобщенно, то в Вашем случае, я думаю, проблему можно решить с помощью модуля recent в iptables. Уверен, его функционала Вам будет достаточно. Сможете обойтись несколькими правилами. Алгоритм следует применить примерно такой:
1. Сначала разрешаете входящий tcp-трафик по соединениям в состояниях ESTABLISHED и RELATED (модуль conntrack).
iptables -I INPUT 1 -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 --syn -m conntrack --ctstate NEW -m recent --name webtraffic --update --seconds 5 --hitcount 16 -j DROP
iptables -A INPUT -p tcp -m multiport --dports 80,443 --syn -m conntrack --ctstate NEW -j ACCEPT
net.ipv4.tcp_max_syn_backlog = 262144
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 20
Привет! Хорошая книга Итана Маркотта - Responsive Web Design / Отзывчивый веб-дизайн
можно скачать тут
еще посоветовал бы Аарона Уолтера - Эмоциональный веб-дизайн. Можешь почитать тут.
Ну и совсем для маньяков) Веб-дизайн. Анализ удобства использования веб-сайтов по движению глаз. Книга Якоба Нильсена. Здесь можно скачать.
Если вопрос именно в деньгах, то начать стоит с html+css, можно получить первые заказы что-нибудь поправить, получить первые отзывы (можно освоить за пару недель практики). После этого, я в свое время начал писать сайтики на голом php по книжкам, получалось не очень, но работало, и оплачивалось) (тут тоже достаточно прочитать одну книгу или подробный туториал по php) Ну а когда немного разобрался с технологиями, перешел на cms ModX, с которой работаю до сих пор. Вообще если получится на начальном этапе получить какие то заказы, то по ходу само собой становится ясно, что изучать дальше.
http://hackdesign.org/ - мне очень понравился. Структурированные статьи, примеры и т.д.