Установка и использование Firewall Builder (fwbuilder)

Firewall Builder — утилита позволяющая легко подготовить правила для множества брандмауэров, например iptables, ipfw, acl для HP, Cisco и т.д.

Утилиту можно fwbuilder запускать как под Windows так и Linux, в Linux когда она установлена ее можно запускать из меню или набрав команду fwbuilder.

В Linux Ubuntu fwbuilder можно установить скачав его по ссылке http://sourceforge.net/projects/fwbuilder/files/Current_Packages/ и запустив скачанный файл либо через консоль, например командой:
dpkg -i fwbuilder_5.1.0.3599-ubuntu-precise-1_amd64.deb

Инструкцию по использованию fwbuilder для dd-wrt можно посмотреть на официальном сайте http://www.dd-wrt.com/wiki/index.php/Firewall_Builder

Создание простого HTML шаблона

Приведу пример простого HTML шаблона.

Элемент указывающий тип документа:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Начало документа:

<HTML>

Начало заголовка документа:

<HEAD>

Указание языка документа, кодировки:

<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META NAME="Description" content="Краткое описание страницы">
<META NAME="Keywords" content="Ключевые слова через запятую">

Язык таблицы стилей CSS:

<META http-equiv="Content-Style-Type" content="text/css">

Начало описания стилей:

<STYLE type="text/css">

Цвет ссылок:

A:link {COLOR: green; TEXT-DECORATION: none}

Цвет посещенных ссылок:

A:visited {COLOR: red; TEXT-DECORATION: none}

Цвет ссылки при клике по ней:

A:active {COLOR: orange; TEXT-DECORATION: none}

Цвет ссылки при наведении на нее

A:hover {COLOR: black; TEXT-DECORATION: underline}

Цвет фона документа, параметры шрифта по умолчанию

BODY {BACKGROUND: white; COLOR: black; FONT-FAMILY: Verdana,Arial,sans-serif; FONT-SIZE: 10pt}

Окончание таблицы стилей:

</STYLE>
<TITLE>Название документа</TITLE>

Конец заголовка:

</HEAD>

Начало тела документа:

<BODY>

Текст документа ….

Конец тела документа:

</BODY>

Последний тег обозначающий конец документа:

</HTML>

Также с помощью сторонних сервисов, например csstemplater.com можно генерировать готовые шаблоны.

Настройка коммутатора D-Link DGS-3612G

На примере буду использовать коммутатор 3 уровня D-Link DGS-3612G с прошивкой 2.84.B48

Добавление администратора:

create account admin имя пароль

Команда для смены пароля:

config account имя

Включение хранения пароля в зашифрованном виде:

enable password encryption

Настройка отключения подключений через консоль после 10 минутного бездействия:

config serial_port auto_logout 10_minutes

Включение telnet:

enable telnet 23

Включение web интерфейса:

enable web 80

Включение отображения информации в постраничном режиме:

enable clipaging

Включение возможности сброса пароля:

enable password_recovery

DEBUG функции:

debug config state disable
debug config error_reboot enable

Включение контроля широковещательного трафика:

config traffic control auto_recover_time 0
config traffic trap none
config traffic control 1-12 broadcast enable multicast disable unicast disable action drop threshold 100 countdown 5 time_interval 5

Включение защиты от петель (9 порт входящий, поэтому там не включаем):

enable loopdetect
config loopdetect trap loop_detected 
config loopdetect ports 1-8,10-12 state enabled

Отключение функции единого адреса для стека коммутаторов. Стандартные параметры sim:

config sim candidate
disable sim
config sim dp_interval 30
config sim hold_time 100

Настройка ведения логов:

enable syslog
config system_severity log information
config system_severity trap information
create syslog host 1 severity informational facility local1 udp_port 514 ipaddress 192.168.1.1 state enable 
config log_save_timing on_demand

Отключение функции зеркалирования трафика (используется для мониторинга и сбора статистики):

disable mirror

Настройка сегментации трафика (запрет хождения между портами, 9 порт — входящий):

config traffic_segmentation 1-8,10-12 forward_list 9
config traffic_segmentation 9 forward_list 1-8,10-12

Отключение SSL:

disable ssl

Примеры настройки портов:

enable jumbo_frame
config jumbo_frame ports 1-12 state enable
config ports 1-3,5-8 speed 1000_full  flow_control disable learning enable state enable
config ports 4 speed 1000_full  flow_control disable learning enable state enable description текст
config ports 9-12 medium_type copper speed auto capability_advertised 10_half 10_full 100_half 100_full 1000_full flow_control disable learning enable state enable
config ports 9-12 medium_type fiber speed 1000_full  flow_control disable learning enable state enable

Стандартные настройки DDM:

config ddm trap disable
config ddm log enable
config ddm ports 1-12 state enable shutdown none

Отключение port security:

config port_security ports 1-12 admin_state disable max_learning_addr 1 lock_address_mode DeleteOnReset

Параметры SNMP:

delete snmp community public
delete snmp community private
delete snmp user initial
delete snmp group initial
create snmp community комьюнити1 view CommunityView read_only
create snmp community комьюнити2 view CommunityView read_write
disable community_encryption
enable snmp traps
enable snmp authenticate_traps
enable snmp
disable snmp linkchange_traps
disable rmon
config snmp linkchange_traps ports 1-12 disable

Доступ к управлению коммутатором только для указанных адресов:

create trusted_host network 192.168.1.1/255.255.255.255
create trusted_host network 192.168.1.5/255.255.255.255

Пример настройки VLAN:

disable pvid auto_assign
config vlan default delete 1-12
create vlan core tag 20
config vlan core add tagged 9
create vlan local tag 22
config vlan local add tagged 9 advertisement disable
config vlan local add untagged 1-8,10-12 advertisement disable
disable qinq
disable gvrp
disable vlan_trunk

Указываем pvid для портов, необходимо для каждого порта указывать pvid влана в котором стоит untag:

config gvrp 1-12 state disable ingress_checking enable acceptable_frame admit_all pvid 22

Отключение double vlan:

disable double_vlan
config vlan_precedence port 1-12 mac_based_vlan

Отключение RSPAN:

disable rspan

Отключение авторизации клиентов на портах. Стандартные параметры 8021X:

disable 802.1x
config 802.1x auth_mode port_based
config 802.1x auth_protocol radius_eap
config 802.1x fwd_pdu system disable
config 802.1x max_users 4000
config 802.1x authorization network radius enable
config 802.1x capability ports 1-12 none
config 802.1x auth_parameter ports 1-12 direction both port_control auto quiet_period 60 tx_period 30 supp_timeout 30 server_timeout 30 max_req 2 reauth_period 3600 enable_reauth disable 
config 802.1x auth_parameter ports 1-12 max_users 16

Отключение CPU ACL:

disable cpu_interface_filtering

Настройка времени хранения в секундах mac-адреса в таблице коммутатора:

config fdb aging_time 300

Стандартные параметры address binding:

config address_binding ip_mac ports 1-12 forward_dhcppkt enable
disable address_binding dhcp_snoop
disable address_binding dhcp_snoop ipv6
disable address_binding nd_snoop
enable address_binding trap_log
config address_binding dhcp_snoop max_entry ports 1-12 limit no_limit

Включение отброса пакетов от чужих DHCP серверов на всех портах кроме девятого входящего:

config filter dhcp_server port all state disable
config filter dhcp_server port 1-8,10-12 state enable
config filter dhcp_server illegal_server_log_suppress_duration 30min
config filter dhcp_server trap_log enable

Параметры MAC ADDRESS TABLE NOTIFICATION:

disable mac_notification
config mac_notification interval 1 historysize 1
config mac_notification ports 1-12 disable

Отключение STP:

disable stp
config stp version rstp
config stp maxage 20 maxhops 20 forwarddelay 15 txholdcount 3 fbpdu enable hellotime 2 lbd enable lbd_recover_timer 60 nni_bpdu_addr dot1ad
config stp ports 1-12 fbpdu enable

Отключение bpdu tunnel:

disable bpdu_tunnel

Настройка защиты от BPDU флуда:

enable bpdu_protection
config bpdu_protection recovery_timer 600
config bpdu_protection log attack_detected
config bpdu_protection ports 1-8,10-12 state enable  
config bpdu_protection ports 1-12 mode drop

Настройка SAFEGUARD ENGINE:

config safeguard_engine state enable utilization rising 100 falling 75 trap_log enable mode fuzzy

Отключение SSH:

disable ssh

Отключение DNS RESOLVER:

disable dns_resolver
config name_server timeout 3

Отключение сохранения истории введенных команд:

disable command logging

Включение ответа на широковещательный ping:

enable broadcast_ping_reply

Активация SNTP клиента:

enable sntp

Установка часового пояса:

config time_zone operator + hour 2 min 0

Указание sntp сервера времени, для синхронизации с ним:

config sntp primary 192.168.1.1 secondary 0.0.0.0 poll-interval 99999

Отключение перехода на летнее время:

config dst disable

Стандартные настройки LACP:

config link_aggregation algorithm ip_source
config lacp_port 1-12 mode passive

Настройка IP:

config ipif System ipaddress 192.168.1.10/24 vlan core
config ipif System proxy_arp disable local disable
create ipif local 10.10.0.10/16 local state enable 
config ipif local proxy_arp disable local disable
config ipif local ip_mtu 1500
config ipif System ip_mtu 1500
config ipif local dhcpv6_client disable
config ipif System dhcpv6_client disable
config ipif local ip_directed_broadcast disable
config ipif System ip_directed_broadcast disable
disable autoconfig

Отключение ERPS

disable erps
config erps log disable 
config erps trap disable

Отключение DHCP сервера:

config dhcp ping_packets 2 
config dhcp ping_timeout 500 
disable dhcp_server

Стандартные параметры WAC:

config wac switch_http_port 80
config wac method radius
config wac authorization attributes local enable
config wac authorization attributes radius enable
disable wac
config wac ports 1-12 aging_time 1440 idle_time infinite block_time 60

Стандартные параметры JWAC:

config jwac switch_http_port 80
config jwac clear_quarantine_server_url
config jwac radius_protocol pap
disable jwac quarantine_server_monitor
config jwac quarantine_server_error_timeout 30
enable jwac forcible_logout
enable jwac udp_filtering
enable jwac redirect
config jwac redirect destination quarantine_server delay_time 1
disable jwac
config jwac authenticate_page english
config jwac authorization attributes radius enable
config jwac authorization attributes local enable
config jwac ports 1-12 auth_mode host_based max_authenticating_host 50 aging_time 1440 idle_time infinite block_time 60

Стандартные параметры LLDP:

disable lldp
config lldp message_tx_interval 30
config lldp tx_delay 2
config lldp message_tx_hold_multiplier 4
config lldp reinit_delay 2
config lldp notification_interval 5
config lldp ports 1-12 notification disable
config lldp ports 1-12 admin_status tx_and_rx

Стандартные параметры MBA:

disable mac_based_access_control
config mac_based_access_control authorization network radius enable local enable
config mac_based_access_control ports 1-12 state disable
config mac_based_access_control method local
config mac_based_access_control password default
config mac_based_access_control max_users 128

Включение фильтрации незарегистрированных multicast групп:

config multicast filtering_mode multicast filter_unregistered_groups

Параметры IGMP SNOOPING:

enable igmp_snooping
config igmp_snooping vlan local_smart report_suppression disable
config igmp_snooping vlan local_smart state disable fast_leave disable
config igmp_snooping querier vlan local_smart query_interval 125 max_response_time 10 robustness_variable 2 last_member_query_interval 1 state disable version 3
config igmp_snooping vlan local_smart2 report_suppression disable
config igmp_snooping vlan local_smart2 state disable fast_leave disable
config igmp_snooping querier vlan local_smart2 query_interval 125 max_response_time 10 robustness_variable 2 last_member_query_interval 1 state disable version 3
config igmp_snooping vlan multicast report_suppression disable
config igmp_snooping vlan multicast state enable fast_leave disable
config igmp_snooping querier vlan multicast query_interval 125 max_response_time 10 robustness_variable 2 last_member_query_interval 1 state disable version 3
config limited_multicast_addr ports 1-12 add multicast_range range1 
config limited_multicast_addr ports 1-12 access permit state enable

Стандартные параметры ACCESS AUTHENTICATION CONTROL:

config authen_login default method local
config authen_enable default method  local_enable
config authen application console login default
config authen application console enable default
config authen application telnet login default
config authen application telnet enable default
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
config authen parameter response_timeout 30
config authen parameter attempt 3
disable authen_policy
config accounting service network state disable
config accounting service shell state disable
config accounting service system state disable
config admin local_enable

Стандартные параметры RIPng:

disable ripng
config ripng method split_horizon
config ripng update 30
config ripng expire 180
config ripng garbage_collection 120
config ripng ipif System state disable metric 1
config ripng ipif local state disable metric 1

Параметры ARP:

config arp_aging time 300
config gratuitous_arp send ipif_status_up enable
config gratuitous_arp send dup_ip_detected enable
config gratuitous_arp learning enable
Пример добавления статической записи:
create arpentry 192.168.1.50 00-11-22-33-44-55[code]

Маршруты:
[code]config route preference static 60
config route preference default 1
config route preference rip 100
config route preference ospfIntra 80
config route preference ospfInter 90
config route preference ospfExt1 110
config route preference ospfExt2 115
config route preference ebgp 70
config route preference ibgp 130
create iproute default 192.168.1.1 1 primary
config ecmp algorithm ip_destination crc_low   
enable ecmp ospf

Отключение dhcpv6 relay:

config dhcpv6_relay hop_count  4 
disable dhcpv6_relay

Отключение DHCPv6 сервера:

disable dhcpv6_server

Настройки IGMP:

config igmp ipif System version 3 query_interval 125 max_response_time 10 robustness_variable 2 state enable
config igmp ipif System last_member_query_interval 1  
config igmp check_subscriber_source_network ipif System enable  
config igmp ipif local version 3 query_interval 125 max_response_time 10 robustness_variable 2 state disable
config igmp ipif local last_member_query_interval 1  
config igmp check_subscriber_source_network ipif local enable

Отключение PIMSM:

disable pim

Отключение DVMRP:

disable dvmrp
config dvmrp ipif System metric 1 probe 10 neighbor_timeout 35 state disable 
config dvmrp ipif local metric 1 probe 10 neighbor_timeout 35 state disable 
config dvmrp ipif docsis metric 1 probe 10 neighbor_timeout 35 state disable 
config dvmrp ipif lift_real metric 1 probe 10 neighbor_timeout 35 state disable 
config dvmrp ipif local_smart metric 1 probe 10 neighbor_timeout 35 state disable 
config dvmrp ipif local_smart3 metric 1 probe 10 neighbor_timeout 35 state disable

Отключение RIP:

disable rip
config rip ipif System tx_mode disable state disable
config rip ipif System rx_mode disable state disable 
config rip ipif local tx_mode disable state disable
config rip ipif local rx_mode disable state disable

Отключение OSPFv3:

config ospfv3 router_id 0.0.0.0
disable ospfv3

Отключение DNSR:

disable dnsr
config dnsr primary nameserver 0.0.0.0
config dnsr secondary nameserver 0.0.0.0
disable dnsr cache
disable dnsr static

Отключение MLD:

config mld ipif System query_interval 125 max_response_time 10 robustness_variable 2 last_listener_query_interval 1 version 2 state disable 
config mld ipif local query_interval 125 max_response_time 10 robustness_variable 2 last_listener_query_interval 1 version 2 state disable

Параметры DHCP_RELAY:

enable dhcp_relay
config dhcp_relay hops 4 time 0 
config dhcp_relay option_82 state disable
config dhcp_relay option_82 check disable
config dhcp_relay option_82 policy replace
config dhcp_relay option_60 state disable
config dhcp_relay option_61 state disable
config dhcp_relay add ipif local 192.168.1.1
config dhcp_relay option_60 default mode drop
config dhcp_relay option_61 default drop
disable dhcp_local_relay

Отключение VRRP (Virtual Router Redundancy Protocol):

config vrrp ipif System authtype none
config vrrp ipif local authtype none
disable vrrp
disable vrrp ping

Сохранение конфигурации:

save all

Использование текстового редактора vim

vim — бесплатный мощный текстовый редактор созданный на основе текстового редактора vi.

Читать далее «Использование текстового редактора vim»

Question2Answer SEO URL. Замена кириллических символов латинскими

Заметил что в Question2Answer при использовании кириллических символов в вопросах ссылки создаются соответственно типа example.com/1/D0%B%DD%D1%D1% и т.д.

Чтобы кириллические символы в ссылках на вопросы автоматически заменялись на латинские и ссылки были вида example.com/1/test необходимо в файле QA-base.php в начале функции qa_q_request() примерно на 1204 строке добавить код:

$cyr = str_replace(array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ъ', 'ы', 'э', 'ю', 'я'), array('a', 'b', 'v', 'g', 'd', 'e', 'jo', 'zh', 'z', 'i', 'i', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'ts', 'ch', 'sh', 'sch', 'j', 'j', 'y', 'e', 'y', 'ya'), $title);
        return (int)$questionid.'/'.$cyr;

Скрытие MikroTik маршрутизатора в сети

Так как на MikroTik роутерах стандартно используется протокол MNDP (Neighbor Discovery Protocol) позволяющий выдать информацию об устройстве, то отключить его можно следующим образом:

1) Через графический интерфейс или Winbox. Открыть меню IP -> Neighbors -> вкладка Discovery Interfaces -> выбрать нужный интерфейс -> нажать «красный крестик».
2) Через командную строку. Набрав команду ip neighbor discovery set ether2 discover=no.

Просмотр лог-файлов Linux в реальном времени

Пример команды просмотра лог файла в реальном времени:

tail -f /var/log/syslog

Вывод данных можно подсветить разными цветами, для этого можно установить ccze:

sudo apt-get install ccze

И например сформулировать команду следующим образом:

tail -f /var/log/syslog | ccze --mode ansi

Для прекращения просмотра можно использовать комбинацию клавиш Ctrl+C.

Настройка коммутатора D-Link DGS-3100

На примере для настройки буду использовать коммутатор D-Link DGS-3100-24TG с прошивкой 3.60.44.
Хочу отметить что данная модель давно снята с производства, у многих этот коммутатор работал не стабильно, некоторые заменили его на DGS-3120.

Для сброса пароля и настроек можно подключиться через консольный порт и при загрузке нажать комбинацию клавиш shift+6, далее следовать инструкциям.

Сначала настроим VLAN (у меня core — для управления, local — для пользователей):

config vlan default delete 1:(1-24) 
create vlan core tag 20 
create vlan local tag 22 
config vlan core add tagged 1:(9) 
config vlan local add tagged 1:(9) 
config vlan local add untagged 1:(1-8,10-24)
config gvrp 1:(1-24) pvid 22

Назначим коммутатору IP-адрес:

config ipif System ipaddress 192.168.1.251/24 vlan core 
create iproute default 192.168.1.1

Добавим администратора:

create account admin ИМЯ password ПАРОЛЬ

Настраиваем SNMP:

create snmp community test view DefaultSuper read_only 
disable snmp traps 
disable snmp authenticate trap

Укажем с каких IP разрешено настраивать коммутатор:

create trusted_host 172.16.1.5 network 255.255.255.255 application all
create trusted_host 192.168.1.0 network 255.255.255.0 application all

Настройка портов:

config ports 1:(1-24) flow_control auto
config ports description 1:9 "VHOD"

Включение IGMP Snooping:

enable igmp_snooping
config igmp_snooping multicast state enable

Фильтрация незарегистрированных multicast групп:

config multicast filtering_mode 1:(1-24) filter_unregistered_groups

Настройка контроля широковещательного трафика:

config traffic control 1:(1-24) state enable threshold 3500 storm_type broadcast

Включение STP и защиты от петель:

enable stp 
config stp lbd_recover_time 100 
config stp ports 1:(1-24) p2p false fbpdu disable

Настройка SNTP параметров времени:

enable sntp 
config sntp primary 192.168.1.1 poll-interval 86400 
config time_zone operator + hour 02 minute 00

Разрешаем идти трафику только на входящий порт, другими словами запрет хождения трафика между портами:

config traffic_segmentation 1:(1-8,10-24) forward_list 1:9
config traffic_segmentation 1:9 forward_list 1:(1-8,10-24)

Пример блокировки чужих DHCP серверов через ACL:

create access_profile profile_id 5 ip udp src_port_mask ffff 
config access_profile profile_id 5 add access_id 1 ip udp src_port 67 ports 1:9 permit
config access_profile profile_id 5 add access_id 2 ip udp src_port 67 ports 1:1-1:8,1:10-1:24 deny

Пример блокировки мак адреса на порту:

create access_profile profile_id 6 ethernet source_mac FF-FF-FF-FF-FF-FF
config access_profile profile_id 6 add access_id 6 ethernet source_mac 00-11-22-33-44-55 port 2 deny

Настрйока самозащиты коммутатора:

config safeguard_engine state enable rising 100 falling 90

Можно настроить отправку логов на syslog сервер:

create syslog host 1 ipaddress 192.168.1.1 severity warning facility local1

Настройка времени бездействия через которое будет завершена сессия администратора:

config serial_port auto_logout 15_minutes

Сохранение конфигурации:

save all

Смотрите также:
Обновление прошивки коммутатора D-Link DGS-3100

Решение ошибок Samba «Unable to connect to CUPS server» и «failed to retrieve printer list»

Заметил однажды на некоторых серверах ошибки в лог-файле /var/log/samba/log.smbd:

Unable to connect to CUPS server localhost:631 — Connection refused
Unable to connect to CUPS server localhost:631 — Bad file descriptor
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL

Если расшаривать принтеры не нужно, то в конфигурационном файле /etc/samba/smb.conf можно настроить следующее параметры:

[global]
...
load printers = no
show add printer wizard = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes

Перезапустить smbd чтобы изменения вступили в силу:

sudo restart smbd

После этого ошибка не должна появляться.

Смотрите также мою статью:
Установка и настройка Samba в Linux