Commit b7d9fecba1723d536c3600045a62d9b267f93985

Authored by Sergio Oliveira
1 parent 11ad1650
Exists in master and in 90 other branches 3.x, add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup, backup_not_prod, cdtc_configuration, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev-lappis, dev_env_minimal, disable_email_dev, docs, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, performance, prezento, r3, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_backup_emails, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, stable-devel, support_docs, syslog, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Added firewall docs

Showing 1 changed file with 64 additions and 1 deletions   Show diff stats
docs/firewall.rst
1   -Gestão do firewall
  1 +Gestão do Firewall
2 2 ==================
  3 +
  4 +Firewall Interno
  5 +-----------------
  6 +
  7 +O Portal do Software Público atualmente é composto por diversos serviços funcionando em diferentes servidores. Para o seu correto funcionamento é esperado que estes serviços se comuniquem através de TCP/IP.
  8 +
  9 +Os scripts de instalação do Portal do Software Público também cuidam da manutenção das regras de firewall. Cada máquina possui um firewall (iptables) local que por padrão nega todos os tipos de conexão de entrada em todas as portas (INPUT rules) mas permite conexões de saída (OUTPUT rules).
  10 +
  11 +Todas as regras de firewall são definidas no cookbook ``firewall``. Para definir regras de comunidacação entre hosts locais, válidas para todos os ambientes (local, produção, homologação, testes, etc) são utilizados templates que podem ser encontrados em ``cookbooks/firewall/templates/``. Para regras de filtro utilize o arquivo ``iptables-filter.erb`` e para regras de nat o arquivo ``iptables-nat.erb``.
  12 +
  13 +Para adicionar regras específicas de cada ambiente (por exemplo, abrir uma porta diferente em homologação) utilize o arquivo ``config/<nome_do_ambiente>/iptables-filter-rules``. Este arquivo aceita apenas regras de filtro do tipo INPUT.
  14 +
  15 +
  16 +Comunicação Entre Serviços
  17 +++++++++++++++++++++++++++++
  18 +
  19 +Os serviços que compõe o portal e suas portas de entrada são descritos na tabela a seguir:
  20 +
  21 ++--------------+--------------+---------------+--------+
  22 +| Destino | Origem + Serviço | Porta |
  23 ++==============+==============+===============+========+
  24 +| database | integration | Redis | 6379 |
  25 ++--------------+--------------+---------------+--------+
  26 +| database | integration | PostgreSQL | 5432 |
  27 ++--------------+--------------+---------------+--------+
  28 +| database | social | PostgreSQL | 5432 |
  29 ++--------------+--------------+---------------+--------+
  30 +| social | reverseproxy | Nginx | 80 |
  31 ++--------------+--------------+---------------+--------+
  32 +| social | reverseproxy | Nginx | 443 |
  33 ++--------------+--------------+---------------+--------+
  34 +| integration | reverseproxy | Nginx | 80 |
  35 ++--------------+--------------+---------------+--------+
  36 +| integration | reverseproxy | Nginx | 443 |
  37 ++--------------+--------------+---------------+--------+
  38 +| email | externa | Postfix | 25 |
  39 ++--------------+--------------+---------------+--------+
  40 +| reverseproxy | externa | Nginx | 80 |
  41 ++--------------+--------------+---------------+--------+
  42 +| reverseproxy | externa | Nginx | 443 |
  43 ++--------------+--------------+---------------+--------+
  44 +| reverseproxy | externa | OpenSSH (git) | 22 |
  45 ++--------------+--------------+---------------+--------+
  46 +
  47 +
  48 +Comunicação externa
  49 +-------------------
  50 +
  51 ++--------------+---------------+--------+
  52 +| Destino | Serviço | Porta |
  53 ++==============+===============+========+
  54 +| email | Postfix | 25 |
  55 ++--------------+---------------+--------+
  56 +| reverseproxy | Nginx | 80 |
  57 ++--------------+---------------+--------+
  58 +| reverseproxy | Nginx | 443 |
  59 ++--------------+---------------+--------+
  60 +| reverseproxy | OpenSSH (git) | 22 |
  61 ++--------------+---------------+--------+
  62 +
  63 +**Outros firewalls da rede:**
  64 +
  65 +Além do firewall local é importante que os serviços com origem ``externa`` tenham suas portas de INPUT abertas em todos os firewalls da rede. No caso do host ``email`` a porta **25** também deve estar aberta para OUTPUT (alternativamente o Postfix pode ser configurado para enviar e-mails utilizando um relay interno).
... ...