Re: [RFR] ddp://manuals.sgml/securing-howto/pt-br/developer.sgml
Olá Marcelo,
Segue o patch.
[]'s
--- developer.sgml 2010-10-08 12:05:48.000000000 -0300
+++ developer-revisado.sgml 2010-10-08 12:04:38.000000000 -0300
@@ -7,8 +7,8 @@
<!-- This chapter is based on the patch I submitted to the Developer's
Reference, see #337086: [BPP] Best practices for security design and review -->
-<p>Este capítulo introduz algumas das melhores práticas de programação para
-desenvolvedores escreverem pacotes Debian. Se você estiver realmente interessado
+<p>Este capítulo introduz algumas das melhores práticas seguras de programação para
+desenvolvedores criarem pacotes Debian. Se você estiver realmente interessado
em programação segura eu recomendo que você leia
<url id="http://www.dwheeler.com/secure-programs/"
name="HOWTO Programação Segura para Linux e Unix"> de David Wheeler e <url
@@ -19,7 +19,7 @@
<heading>Melhores práticas para o projeto e revisão de segurança</heading>
<p>Desenvolvedores que estão empacotando software devem fazer um esforço
-para garantir que a instalação do software, ou seu uso, não introduza riscos
+para garantir que a sua instalação, ou seu uso, não introduza riscos
de segurança quer ao sistema onde esteja instalado ou aos seus usuários.</p>
<p>Para isso, eles devem fazer o melhor esforço para revisar o código fonte do
@@ -31,7 +31,7 @@
dizem que o custo nesta fase posterior é <strong>sessenta</strong> vezes maior).
Apesar de existirem algumas ferramentas que tentam detectar automaticamente
estas falhas, os programadores deveriam se esforçar para aprender sobre os
-diferentes tipos de falhas de segurança a fim de entendê-las e ser capazes de
+diferentes tipos de falhas de segurança a fim de entendê-las e serem capazes de
identificá-las no código que eles (ou outros) tenham escrito.
<p>Os erros de programação
@@ -57,11 +57,11 @@
<p>Algumas destas questões poderão não ser fáceis de identificar a menos que
você seja um perito na linguagem de programação que o software utiliza,
mas alguns problemas de segurança são fáceis de detectar e corrigir. Por
-exemplo, encontrar "race conditions" temporárias devido ao mau uso de diretórios
+exemplo, encontrar classes temporárias devido ao mau uso de diretórios
temporários pode facilmente ser feito apenas executando <tt>grep -r "/tmp/" .</tt>.
Estas chamadas podem ser revistas e substituídos
os nomes dos arquivos codificados usando diretórios temporários para chamadas
-a qualquer <prgn>mktemp</prgn> ou <prgn>tempfile</prgn> em scripts shell,
+a qualquer <prgn>mktemp</prgn> ou <prgn>tempfile</prgn> em scripts em shell,
<manref name="File::Temp" section="3perl"> em scripts Perl,
ou <manref name="tmpfile" section="3"> em C/C++.</p>
@@ -73,14 +73,14 @@
usadas pelo Time de Auditoria de Segurança Debian">.
<p>Quando empacotam software os desenvolvedores têm que se certificar que
-eles sigam princípios de segurança comuns, incluindo:
+seguem princípios de segurança universais, incluindo:
<list>
<item>O software é executado com os privilégios mínimos que necessita:
<list>
-<item>O pacote faz instalar binários setuid ou setgid.
+<item>O pacote faz a instalação de binários setuid ou setgid.
<prgn>Lintian</prgn> avisará sobre <url id="
http://lintian.debian.org/reports/Tsetuid-binary.html" name="setuid">,
<url id="http://lintian.debian.org/reports/Tsetgid-binary.html"
@@ -88,7 +88,7 @@
id="http://lintian.debian.org/reports/Tsetuid-gid-binary.html"
name="setuid and setgid"> binários.
-<item>Os daemons que o pacote fornece executam com um
+<item>Os daemons que o pacote fornece são executados com um
usuário de baixo privilégio (veja <ref id="bpp-lower-privs">)
</list>
@@ -99,13 +99,13 @@
</list>
-<p>Se você tiver que fazer alguma das situações acima certifique-se
-que os programas que possam executar com privilégios mais elevados
-foram auditados com relação a erros de segurança. Se você está
+<p>Se você tiver que fazer algum dos procedimentos acima certifique-se
+que os programas que serão executados com privilégios elevados
+deverão ser auditados devido a erros de segurança. Se você está
inseguro, ou necessita de ajuda, entre em contato com o <url
id="http://www.debian.org/security/audit/" name="time de Auditoria
de Segurança Debian">. No caso de binários setuid/setgid ,
-siga a seção do política Debian relativa a
+siga a seção da política Debian relativa a
<url id="http://www.debian.org/doc/debian-policy/ch-files.html#s10.9"
name="permissões e proprietários">
</p>
@@ -129,7 +129,7 @@
usuários Debian que podem ser usados por pacotes: uids estáticas
(atribuídas pelo <package>base-passwd</package>, para uma lista de
usuários estáticos no Debian veja <ref id="faq-os-users">) e
-uids dinâmicas ao alcance atribuídas para usuários de sistema.
+uids dinâmicas na ordem atribuídas para usuários de sistema.
<p>No primeiro caso, você deve pedir uma id ao <package>base-passwd</package>.
Uma vez que o usuário esteja disponível o pacote precisa ser distribuído,
@@ -140,7 +140,7 @@
<em>preinst</em> ou no <em>postinst</em> e fazer o pacote
depender do <tt>adduser (>= 3.11)</tt>.
-<p>O seguinte código exemplo cria o usuário e grupo, o deamon
+<p>O seguinte exemplo seguinte cria o usuário e grupo, o deamon
executará assim que o pacote for instalado ou atualizado:
<example>
@@ -148,7 +148,7 @@
case "$1" in
install|upgrade)
- # Se o pacote tiver arquivo padrão ele será fornecido, de modo que
+ # Se o pacote tiver um arquivo padrão ele poderá ser fornecido, de modo que
# o admin local possa sobrescrever os padrões
[ -f "/etc/default/<var>packagename</var>" ] && . /etc/default/<var>packagename</var>
@@ -163,7 +163,7 @@
# Grupos ao qual o usuário será adicionado, se não definido, então none.
ADDGROUP=""
- # criar usuário para evitar o uso de servidor como root
+ # cria o usuário para evitar o uso de servidor como root
# 1. cria grupo se não existente
if ! getent group | grep -q "^$SERVER_GROUP:" ; then
echo -n "Adicionando grupo $SERVER_GROUP.."
@@ -172,7 +172,7 @@
fi
# 2. cria homedir se não existente
test -d $SERVER_HOME || mkdir $SERVER_HOME
- # 3. cria usuário se não existente
+ # 3. cria o usuário se não existente
if ! getent passwd | grep -q "^$SERVER_USER:"; then
echo -n "Adicionando usuário de sistema $SERVER_USER.."
adduser --quiet \
@@ -208,7 +208,7 @@
[...]
</example>
-<p>Você tem que se certificar que o arquivo script do init.d:
+<p>Você tem que se certificar que o script do init.d:
<list>
<item>Inicia o daemon bloqueando privilégios: se o programa não
@@ -223,11 +223,11 @@
<item>Não executa caso não exista nem usuário nem grupo:
<example>
if ! getent passwd | grep -q "^<var>server_user</var>:"; then
- echo "Usuário do servidor não existe. Abortando" >&2
+ echo "Usuário não existente no servidor. Abortando" >&2
exit 1
fi
if ! getent group | grep -q "^<var>server_group</var>:" ; then
- echo "Grupo do servidor não existe. Abortando" >&2
+ echo "Grupo não existente no servidor. Abortando" >&2
exit 1
fi
</example>
@@ -248,12 +248,12 @@
a ação preferida quando o pacote for instalado
(ex. através do <prgn>debconf</prgn>).
-<p>O seguinte código exemplo<footnote><p>Esse poderia eventualmente
+<p>O código-exemplo seguinte<footnote><p>Esse poderia eventualmente
ser introduzido como um <prgn>dh_adduser</prgn> no debhelper. Veja
<url id="http://bugs.debian.org/81697" name="#81967">,
<url id="http://bugs.debian.org/291177" name="#291177"> e
<url id="http://bugs.debian.org/118787" name="#118787">.</p></footnote>
-remove o usuário e grupos criados antes apenas, e apenas se, a uid estiver
+remove os usuários e grupos criados antes apenas, e apenas se, a uid estiver
na faixa das uids do sistema de atribuição dinâmico e a gid pertencer a
um grupo de sistema:
Reply to: