/[gentoo]/xml/htdocs/proj/en/glep/glep-0014.txt
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0014.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.5
1GLEP: 14 1GLEP: 14
2Title: security updates based on GLSA 2Title: security updates based on GLSA
3Version: $Revision: 1.1 $ 3Version: $Revision: 1.5 $
4Last-Modified: $Date: 2003/08/22 15:00:55 $ 4Last-Modified: $Date: 2004/10/26 00:21:28 $
5Author: Marius Mauch <genone@genone.de>, 5Author: Marius Mauch <genone@genone.de>,
6Status: Draft 6Status: Accepted
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Created: 18 Aug 2003 9Created: 18 Aug 2003
10Post-History: 22-Aug-2003, 24-Aug-2003, 10-Nov-2003, 25-Oct-2004
10 11
11 12
12Abstract 13Abstract
13======== 14========
14 15
15There is currently no automatic way to check a Gentoo system for identified 16There is currently no automatic way to check a Gentoo system for identified
16security holes or auto-apply security fixes. This GLEP proposes a way to deal 17security holes or auto-apply security fixes. This GLEP proposes a way to deal
17with this issue 18with this issue
19
20Status Update
21=============
22
23Beta implementation in gentoolkit.
18 24
19 25
20Motivation 26Motivation
21========== 27==========
22 28
30=============== 36===============
31 37
32Update tool 38Update tool
33----------- 39-----------
34 40
35The coding part of this GLEP is a update tool that reads a GLSA, checks if 41The coding part of this GLEP is a update tool that reads a GLSA, verifies its
36the system is affected by it and executes one of the following actions, depending 42GPG signature, checks if the system is affected by it and executes one of the
37on user preferences: 43following actions, depending on user preferences:
38 44
39- run all steps necessary to fix the security hole, including package updates and 45- run all steps necessary to fix the security hole, including package updates and
40 daemon restarts. 46 daemon restarts.
41- instruct the user how to fix the security hole. 47- instruct the user how to fix the security hole.
42- print the GLSA so the user can get more information if desired. 48- print the GLSA so the user can get more information if desired.
49----------- 55-----------
50 56
51The GLSA format needs to be specified, I suggest using XML for that to simplify 57The GLSA format needs to be specified, I suggest using XML for that to simplify
52parsing and later extensions. See `implementation`_ for a sample DTD. The format 58parsing and later extensions. See `implementation`_ for a sample DTD. The format
53has to be compatible with the update tool of course. If necessary a converter 59has to be compatible with the update tool of course. If necessary a converter
54tool or an editor could be written for people not comfortable with XML. 60tool or an editor could be written for people not comfortable with XML (update:
61a QT based editor for the GLSA format written by plasmaroo exists in the
62gentoo-projects repository). Every GLSA has to be GPG signed by the responsible
63developer, who has to be a member of the security herd.
55 64
56 65
57GLSA release process 66GLSA release process
58-------------------- 67--------------------
59 68
60Additional to sending the GLSA to the gentoo-announce mailing list it has to be 69Additional to sending the GLSA to the gentoo-announce mailing list it has to be
61stored on a HTTP/FTP server and in the portage tree. I'd suggest a script should 70stored on a HTTP/FTP server and in the portage tree. I'd suggest a script should
62be used to release a GLSA that will: 71be used to release a GLSA that will:
63 72
64- check the GLSA for correctness 73- check the GLSA for correctness
74- sign the GLSA with the developers GPG key
65- send a mail to gentoo-announce with the XML GLSA and a plaintext version attached 75- send a mail to gentoo-announce with the XML GLSA and a plaintext version attached
66- upload it to www.gentoo.org/glsa (or wherever they should be uploaded) 76- upload it to www.gentoo.org/security/en/glsa (via cvs commit)
67- put it on the rsync server 77- put it on the rsync server (via cvs commit)
68- notify the moderators on the forums to make an announcement 78- notify the moderators on the forums to make an announcement
69 79
70 80
71Portage changes 81Portage changes
72--------------- 82---------------
95Putting the GLSAs in the portage tree allows all users to check their systems 105Putting the GLSAs in the portage tree allows all users to check their systems
96for security updates without taking more actions and simplifies later integration 106for security updates without taking more actions and simplifies later integration
97of the update tool into portage. For security minded persons the GLSAs are 107of the update tool into portage. For security minded persons the GLSAs are
98available on a HTTP server to ease the load of the rsync servers. 108available on a HTTP server to ease the load of the rsync servers.
99 109
110To verify the signatures of the GLSAs the public keys of the developers should be
111available in the portage tree and on the HTTP server. The verification is necessary
112to prevent exploits by fake GLSAs.
113
100 114
101Implementation 115Implementation
102============== 116==============
103 117
104A prototype implementation (including the update tool, a DTD and a sample 118A prototype implementation (including the update tool, a DTD and a sample
105XMLified GLSA) exists at http://gentoo.devel-net.org/glsa/ . This GLEP is based 119XMLified GLSA) exists at http://gentoo.devel-net.org/glsa/ and in the
120gentoo-projects/gentoo-security/GLSA repository. This GLEP is based
106on that implementation, though it can be changed or rewritten if necessary. 121on that implementation, though it can be changed or rewritten if necessary.
107According to portage developers there is also already some support for this in
108portage.
109 122
110 123
111Backwards compatibility 124Backwards compatibility
112======================= 125=======================
113 126

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.20