/[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.2 Revision 1.5
1GLEP: 14 1GLEP: 14
2Title: security updates based on GLSA 2Title: security updates based on GLSA
3Version: $Revision: 1.2 $ 3Version: $Revision: 1.5 $
4Last-Modified: $Date: 2003/08/22 15:11:16 $ 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 10Post-History: 22-Aug-2003, 24-Aug-2003, 10-Nov-2003, 25-Oct-2004
11 11
12 12
13Abstract 13Abstract
14======== 14========
15 15
16There 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
17security 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
18with this issue 18with this issue
19
20Status Update
21=============
22
23Beta implementation in gentoolkit.
19 24
20 25
21Motivation 26Motivation
22========== 27==========
23 28
31=============== 36===============
32 37
33Update tool 38Update tool
34----------- 39-----------
35 40
36The 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
37the 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
38on user preferences: 43following actions, depending on user preferences:
39 44
40- 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
41 daemon restarts. 46 daemon restarts.
42- instruct the user how to fix the security hole. 47- instruct the user how to fix the security hole.
43- 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.
50----------- 55-----------
51 56
52The 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
53parsing and later extensions. See `implementation`_ for a sample DTD. The format 58parsing and later extensions. See `implementation`_ for a sample DTD. The format
54has 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
55tool 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.
56 64
57 65
58GLSA release process 66GLSA release process
59-------------------- 67--------------------
60 68
61Additional 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
62stored 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
63be used to release a GLSA that will: 71be used to release a GLSA that will:
64 72
65- check the GLSA for correctness 73- check the GLSA for correctness
74- sign the GLSA with the developers GPG key
66- 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
67- 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)
68- put it on the rsync server 77- put it on the rsync server (via cvs commit)
69- notify the moderators on the forums to make an announcement 78- notify the moderators on the forums to make an announcement
70 79
71 80
72Portage changes 81Portage changes
73--------------- 82---------------
96Putting 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
97for security updates without taking more actions and simplifies later integration 106for security updates without taking more actions and simplifies later integration
98of 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
99available 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.
100 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
101 114
102Implementation 115Implementation
103============== 116==============
104 117
105A prototype implementation (including the update tool, a DTD and a sample 118A prototype implementation (including the update tool, a DTD and a sample
106XMLified 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
107on that implementation, though it can be changed or rewritten if necessary. 121on that implementation, though it can be changed or rewritten if necessary.
108According to portage developers there is also already some support for this in
109portage.
110 122
111 123
112Backwards compatibility 124Backwards compatibility
113======================= 125=======================
114 126

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

  ViewVC Help
Powered by ViewVC 1.1.20