iptables + ispmanager lite

Статья будет полезна тем, кто использует хостинг панели на серверах или на виртуальном пространстве, но кому не хочется копаться в настройках фаервола.

Дано:
  • 3 сетевых интерфейса (на одном висят сайты, второй нужен для ДНС, третий — локальный)
  • Панель — IPSManager Lite
  • iptables
  • Фтп принудительно использует порты 49152:65535

#!/bin/sh
FW="/sbin/iptables"
#
$FW -F # Сбрасываем все правила iptables
$FW -X # Сбрасываем все правила iptables, кроме дефолтных 
# ---Firewall---
# Переменные
FTPCON="20:21" # Команды FTP
FTPDATA="49152:65535" # Данные FTP
# IP аддреса
HOME="ip_address" # Admin's Home
ALIASWEB="ip_address" # IP аддрес интерфейса, на котором будут висеть сайты
ALIASDNS="ip_address" # 2-ой IP аддрес, чтобы нормально работал DNS
ALIASLAN="ip_address" # IP в локалке (если есть)
ALIASLOOP="127.0.0.1" # IP LoopBack (замыкание на себя)
# Интерфейсы
INTWEB="" # Название интерфейса, на котором будут висеть сайты
INTDNS="" # Интефейс для DNS2
INTLAN="" # Интерфейс локальной сети (если есть)
# Применительно к самому серверу (дропаем форвардинг, чтобы никто не юзал сервак, как шлюз)
$FW -P INPUT DROP 
$FW -P FORWARD DROP
# (разрешаем все для себя)
$FW -A INPUT -s $ALIASLOOP -d $ALIASLOOP -j ACCEPT
$FW -A INPUT -s $ALIASWEB -d $ALIASWEB -j ACCEPT
$FW -A INPUT -s $ALIASLAN -d $ALIASLAN -j ACCEPT
$FW -A INPUT -s $ALIASDNS -d $ALIASDNS -j ACCEPT
#
$FW -A INPUT -p icmp --icmp-type 8 -m limit --limit 10/s --limit-burst 20 -j ACCEPT                     # ICMP
$FW -A INPUT -p icmp --icmp-type 11 -m limit --limit 10/s --limit-burst 20 -j ACCEPT                    # ICMP
# ---Доступ к сервисам---
# SSH
$FW -A INPUT -i $INTWEB -s $HOME -d $ALIASWEB -p tcp --dport 22 -j ACCEPT                      # Admin's Home
# FTP
$FW -A INPUT -i $INTWEB  -p tcp --dport $FTPDATA -j ACCEPT                        # Разрешаем FTP Data
$FW -A INPUT -i $INTWEB -p tcp --dport $FTPCON -j ACCEPT                 # Разрешаем FTP
# HTTP
$FW -A INPUT -i $INTWEB -p tcp --dport 80 -j ACCEPT                                                            # Разрешаем http
# P2P
$FW -A INPUT -i $INTWEB  -p tcp --dport 411 -j ACCEPT                          # Разрешаем p2p (если есть) 
# ispmanager 
$FW -A INPUT -i $INTWEB  -p tcp --dport 443 -j ACCEPT                          # Разрешаем ISP Manager
# DNS
$FW -A INPUT -i $INTWEB -p udp --dport 53 -j ACCEPT # Разрешаем DNS для двух айпишнегов
$FW -A INPUT -i $INTDNS -p udp --dport 53 -j ACCEPT #
# POP
$FW -A INPUT -i $INTWEB -p tcp --dport 110 -j ACCEPT # Разрешаем POP3
# SMTP
$FW -A INPUT -i $INTWEB -p tcp --dport 25 -j ACCEPT # Разрешаем SMTP
#
$FW -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT # Дропаем битые пакеты, которые идут на вшнешний мир, если когда-нить NAT будет
$FW -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT

Что такое Gravatar?



Как загрузить свой аватар?
Регистрируемся на сайте gravatar.com, активируем аккаунт, жмакнув на ссылку в письме, которое будет выслано вам после регистрации. Задаем пароль для аккаунта и логинимся. Внутри системы загружаем свой аватар. Думаю, вы легко разберетесь, там все просто. Вот и все, теперь на сайтах поддерживающих глобальные аватары вам никогда не придется загружать его снова.

Поясню немного про рейтинги аватара в системе. Для аватара можно задать 4 рейтинга:
  • G – простая и безобидная аватарка, которая может отображаться на любых сайтах
  • PG – аватарка может содеражть грубые жесты, какие-либо провокационные надписи, грубые слова и т.п.
  • R – аватара содержит насилие, обнаженную натуру, или изображение наркотиков
  • X – на аватаре изображен жесткий секс или насилие
Выставьте соответствующий рейтинг для своей аватарки, ведь не все веб-мастера захотят отображать вашу аватарку, если на ней изображено что-то выходящее за социальные рамки. Вы же не хотите, чтоб аватара с листиком марихуаны вылезла на блоге для детишек?

Информация для веб-мастеров
Картинка аватара имеет следующий URL:
www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802&s=50&r=g&d=monsterid

где:
  • 3b3be63a4c2a439b013787725dfce802 – это md5 сумма email, в PHP для этого есть специальная функция, например: md5(‘your_email@gmail.com’);
  • s – это размер аватара в пикселях
  • r – рейтинг аватары, про который я писал чуть выше
  • d – вариант картинки, возвращаемый системой, если для этого email еще не задан аватар

Долгая авторизация по SSH

Столкнулся с проблемой долгой авторизации в SSH, причиной того послужил некорректно настроеный DNS, но проблему можно решить поменяв опцию в конфиге sshd_config выставив следующий параметр
UseDNS no

Перезапускаем SSH и радуемся