<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9109644006262097160</id><updated>2011-07-07T18:17:43.387-07:00</updated><category term='selinux'/><title type='text'>My public notes</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-7713275526849970427</id><published>2008-02-22T06:17:00.000-08:00</published><updated>2008-02-22T06:28:00.034-08:00</updated><title type='text'>Description of an issue that i have.</title><content type='html'>I usually patch selinux-policy packages. recently i added 3 modules, 2 application domains: xchat, ut2004 and 1 user domain: myuserdomain&lt;br /&gt;&lt;br /&gt;Both application domains get called in the user domains local policy.&lt;br /&gt;&lt;br /&gt;I have added a boolean to both application domains per-role-template: domain_confine_$1 which will let authority toggle whether the user domain should transition to the application domain or not.&lt;br /&gt;&lt;br /&gt;One day i was using an confined xchat instance and in that same session (in another role and as another user) i updated my system and updated to a new upstream selinux-policy. This upstream policy does not include my custom modules.&lt;br /&gt;&lt;br /&gt;And so my XChat instance instantly crashed. After upgrading the selinux-policy to my custom version i noticed that my xchat boolean had disapeared! However; my ut2004 boolean was still there.&lt;br /&gt;&lt;br /&gt;I have tried uninstalling my modules, reverting to older upstream selinux-policies and reinstalling. The boolean is no longer there...&lt;br /&gt;&lt;br /&gt;At the moment i am considering renaming my xchat policy and its declaration.&lt;br /&gt;I would like to hear suggestions and comments&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-7713275526849970427?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/7713275526849970427/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=7713275526849970427' title='41 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/7713275526849970427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/7713275526849970427'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2008/02/description-of-issue-that-i-have.html' title='Description of an issue that i have.'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-1204844154141719350</id><published>2007-12-29T01:26:00.000-08:00</published><updated>2007-12-29T03:53:06.623-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>How SELinux detects bugs</title><content type='html'>Usually we read the stories about how SELinux prevents malicious activity. This article highlights the use of SELinux even if it is not enforcing. Thus not so much preventing malicious activity but detecting malicious activity.&lt;br /&gt;&lt;br /&gt;I am using Fedora9. Since it is still in the first stage and very much a construction site, i had to set SELinux to permissive. This was because X  "Spawned to fast¨ and so i could not load a graphical desktop session with SELinux enforced.&lt;br /&gt;&lt;br /&gt;Some time later i received an update to the audit package, and after updating my firefox browser wouldnt start any more and so i decided to restart the system. after rebooting my computer, i was no longer able to load a graphical desktop session with SELinux in permissive!&lt;br /&gt;&lt;br /&gt;/var/log/messages showed a lot of debug entries for GDM. which only told me that GDM wasnt able to load. So i went to runlevel3 since runlevel 5 did no longer work.&lt;br /&gt;&lt;br /&gt;When i logged on as a normal user on TTY1, i was confronted with permission denied messages for /dev/null. After inspecting that location i noticed strange permissions set (400) and so i set it to 777 and rebooted.&lt;br /&gt;&lt;br /&gt;After reboot i experienced exactly the same thing. Thats when i knew that something during the startup process messed it up.&lt;br /&gt;&lt;br /&gt;So knowing it happend in the startup process i turned to dmesg.&lt;br /&gt;&lt;br /&gt;And there it was: SELinux was auditing that it would have denied auditd access to set attributes on /dev/null if it was enforcing.&lt;br /&gt;&lt;br /&gt;But it was not enforcing! And so it allowed the auditd domain the set 0400 to /dev/null. Fortunatly SELinux will still log would be denials, even in permissive.&lt;br /&gt;&lt;br /&gt;If this was the only reason why my graphical desktop wouldnt load , than it should work with SELinux enforced. Since SELinux would not allow audit to mess with (setattr) /dev/null&lt;br /&gt;&lt;br /&gt;And so just before i went to sleep i decided to just try and reboot with SELinux enabled..&lt;br /&gt;&lt;br /&gt;..It worked! ...and in the mean time the "X server spawns to fast" issue with SELinux enforcing was also solved.&lt;br /&gt;&lt;br /&gt;So thats how SELinux not only protects a system from bugs, but it is also a valuable tool for detection!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-1204844154141719350?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/1204844154141719350/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=1204844154141719350' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/1204844154141719350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/1204844154141719350'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/12/how-selinux-detects-bugs.html' title='How SELinux detects bugs'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-8401638151964534487</id><published>2007-12-13T10:25:00.000-08:00</published><updated>2007-12-13T11:09:19.071-08:00</updated><title type='text'>Exploring SECMARK</title><content type='html'>Some servers only accept labeled packets. This can be accomplished by setting the selinux allow_unlabeled_packets boolean off. If you want to connect to such a server than you will have to use properly labeled packets or else the packets will be denied. To label traffic on for example port 22:tcp for OpenSSH you should add a rule to the input and output chain in the mangle table of iptables:&lt;br /&gt;&lt;br /&gt;/sbin/iptables -t mangle -A OUTPUT -o eth0 -p tcp --sport 22 -j SECMARK --selctx system_u:object_r:ssh_server_packet_t:s0&lt;br /&gt;&lt;br /&gt;/sbin/iptables -t mangle -A INPUT -i eth0 -p tcp --dport 22 -j SECMARK --selctx system_u:object_r:ssh_server_packet_t:s0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This will shape the OpenSSH traffic and add the context needed to get packets accepted on the host:&lt;br /&gt;&lt;br /&gt;type=AVC msg=audit(1197570945.629:636): avc:  granted  { send } for  pid=1275 comm="sshd" saddr=10.0.0.101 src=22 daddr=10.0.0.100 dest=39769 netif=eth0 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:ssh_server_packet_t:s0 tclass=packet&lt;br /&gt;&lt;br /&gt;type=AVC msg=audit(1197572881.868:821): avc:  granted  { recv } for  saddr=10.0.0.100 src=35697 daddr=10.0.0.101 dest=22 netif=eth0 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:ssh_server_packet_t:s0 tclass=packet&lt;br /&gt;&lt;br /&gt;It will not hurt to label your traffic this way for common daemons as correctly labeled traffic will always be accepted.&lt;br /&gt;&lt;br /&gt;unlabeled packets will only be accepted if boolean allow_unlabeled_packets is set to on. This is the default setting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-8401638151964534487?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/8401638151964534487/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=8401638151964534487' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/8401638151964534487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/8401638151964534487'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/12/exploring-secmark.html' title='Exploring SECMARK'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-3948219856282052889</id><published>2007-12-05T02:47:00.000-08:00</published><updated>2007-12-05T02:58:42.009-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>Auditadm Role</title><content type='html'>The administrator should assume the appropriate role when performing a task. If the administrator wants to define what is being audited than he should assume the auditadm_r and execute auditctl. This will avoid unnecessary errors.&lt;br /&gt;&lt;br /&gt;/etc/audit/audit.rules&lt;br /&gt;The audit documentation directory can be found at:&lt;br /&gt;/usr/share/doc/audit-*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-3948219856282052889?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/3948219856282052889/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=3948219856282052889' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/3948219856282052889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/3948219856282052889'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/12/auditadm-role.html' title='Auditadm Role'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-2749330551015534852</id><published>2007-11-20T12:21:00.000-08:00</published><updated>2007-11-23T04:29:32.294-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>MAC user vs. DAC user</title><content type='html'>In a previous article i mentioned that one shortcoming of traditional Linux security is that the kernel can not make a distinction between a subject that was executed by the system or a process that was started by a user. I also mentioned that the Discretionary access control model only knows two users: root and user.&lt;br /&gt;&lt;br /&gt;The Mandatory access control model tackles these issues with the user field in the security context tuple. We can now create as many SELinux user groups as we like. The kernel can now know who or what started a process. Be it a subject initialized by any kind of user, or a system daemon. This attribute is used by the security server to enforce policy defined by the administrator that is based on: who owns the subject or object.&lt;br /&gt;&lt;br /&gt;On systems running the traditional targeted policy, system services are assigned to the system_u SELinux user group, and users are assigned to the user_u SELinux user group.&lt;br /&gt;&lt;br /&gt;Policy that also makes use of the second role field in the SELinux security context tuple, like Strict, MLS or recent versions of policy Targeted use additional SELinux user groups to further group types of user domains to allow the administrator to apply policy that is targeted to the owner of a process.&lt;br /&gt;&lt;br /&gt;The administrator can create additional SELinux user groups, he can assign roles, and levels to these user groups. Tailor made policy for each user group can be defined and enforced.&lt;br /&gt;&lt;br /&gt;Process is often referred to as subject, (user or application) domain or source&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-2749330551015534852?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/2749330551015534852/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=2749330551015534852' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/2749330551015534852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/2749330551015534852'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/11/mac-user-vs-dac-user.html' title='MAC user vs. DAC user'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-3422015021596775814</id><published>2007-11-19T06:32:00.000-08:00</published><updated>2007-11-20T13:39:15.336-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>Why objects with incompatible types in tmp are not restored to a default type for that location</title><content type='html'>Traditionally the file contexts have explicitely excluded relabelling anything under /tmp.  The reason for this is that if some highly classified data is in a file in /tmp it would not be appropriate to relabel it to a default label (of which incidentally there really isn't one for strict or MLS policies and even for targeted there is no single label that works in all situations).  So a "fixfiles relabel" operation will offer to remove all files under /tmp&lt;br /&gt;&lt;br /&gt;Thanks to rjc for letting me quote you in this article. You can view his blog at: http://etbe.coker.com.au/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-3422015021596775814?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/3422015021596775814/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=3422015021596775814' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/3422015021596775814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/3422015021596775814'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/11/why-files-with-incompatible-types-in.html' title='Why objects with incompatible types in tmp are not restored to a default type for that location'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-8502524715964890888</id><published>2007-11-19T03:39:00.000-08:00</published><updated>2007-11-19T04:55:40.481-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>Security contexts</title><content type='html'>SELinux enforces policy that is based on the relation of attributes of a subject to attributes of a object. These attributes are referred to as security contexts. Security contexts are a set of properties that are attached to objects and subjects. These property fields are: user, role, type, security level/security category. The combination of these fields is the security context.&lt;br /&gt;&lt;br /&gt;Example of a simple security context:&lt;br /&gt;user_u:role_r:type_t:s0&lt;br /&gt;&lt;br /&gt;User Field:&lt;br /&gt;This is the first of the four fields that make a security context. The user field has a SELinux user group. If a user is a member of the user_u user group than this field will be set to user_u. Processes that are started by the system will have a security context starting with the system_u field. Custom SELinux user groups can be created. For example if you want a user domain group to have access to specific roles than you can create a SELinux user group and define which roles this user domain should be able to transition to. On many SELinux systems, the default user_u group is not allowed to transition to any other role. User_u is reserved for unprivileged users.&lt;br /&gt;&lt;br /&gt;Role Field:&lt;br /&gt;This is the second of the four fields that make a security context. The SELinux role field has a SELinux role. Roles are only used by user domains and not by application domains. Therefore you will see a generic placeholder if you look at the role field in security contexts for objects. The role field for a user domain process may vary, as defined SELinux user groups are able to assume a new role. The role for a user domain that is member of the user_u SELinux user group may well be user_r. The role for a application domain is system_r. Security decisions based on this field are referred to as RBAC or role based access control.&lt;br /&gt;&lt;br /&gt;Type Field.&lt;br /&gt;This is the third of the four fields that make a security context. The SELinux type field has a SELinux type or domain. Types are assigned to objects, while domains are assigned to user domains and application domains. By default SELinux security is based on enforcing types. This is called TE or Type Enforcement. Access is determined on the relation of the source type field to the target type field. A Source is a domain and a Target is a type, because subjects operate on objects.&lt;br /&gt;&lt;br /&gt;Security Level Field.&lt;br /&gt;This is the last of the four fields that make a security context. The SELinux security level field has a security level. This field is, atleast at the moment, only used by multi level security policy used by government. But often support for MLS policy is enabled. If you do not use a specific MLS policy than you can disregard this field. With MLS policy, user domains get partitioned. This means that user domains operating on different security levels can not interact with each other. This is used to maximize integrity of data. On a default SELinux configuration with MLS enabled (but not necessarily a MLS policy loaded), this field may have a type of s0 which relates to the default security level 0 on which the system operates. This level is also referred to as SystemLow.&lt;br /&gt;&lt;br /&gt;Multi level security also uses a model called multi category security. MCS will allow administrators to further confine user domains on that operate on security levels by using compartments.&lt;br /&gt;&lt;br /&gt;For example: user_A operates on security level: 1 in compartment: office, while user_B also operates on security level :1 but in a different category: factory. Although both user domains operate on a same level, each user domain is also member of a different compartment. If a user is not a member of a compartment than access to objects in that category is denied, even when a user does operate on the same security level.&lt;br /&gt;&lt;br /&gt;An example of a security context:&lt;br /&gt;secret_u:user_r:user_t:s1:c0&lt;br /&gt;&lt;br /&gt;This is a fictional user on a SELinux system with a MLS policy enforced. This user is part of the SELinux user group secret_u, the role of this user is a user role. This role has no privilege to change roles in a MLS invironment. The type field of this user domain is derived from the role field: user_t. This user operates on a non default security level 1 (called secret) and on that level this user domain has access to compartment c0. Where c0 could be office. This user operates on a secret security level in the office compartment of the security level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-8502524715964890888?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/8502524715964890888/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=8502524715964890888' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/8502524715964890888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/8502524715964890888'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/11/selinux-security-contexts.html' title='Security contexts'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-1504399561735561335</id><published>2007-11-19T03:05:00.000-08:00</published><updated>2007-11-19T04:48:33.707-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>SELinux security</title><content type='html'>SELinux security relies on a mandatory access control model. It takes into consideration policy that is defined by the administrator.&lt;br /&gt;&lt;br /&gt;- More knowledge and time is required for administration&lt;br /&gt;&lt;br /&gt;- Objects on a system are abstracted in two classes, subjects and objects. Subjects are user domains and application domains. Objects are files named_pipes dirs lnk_files fifo_files etc&lt;br /&gt;&lt;br /&gt;- Offers fine grained control of security&lt;br /&gt;&lt;br /&gt;- Ability to restrict access from subject to objects on a lower level&lt;br /&gt;&lt;br /&gt;- Mandatory Access Control disregards Discretionary Access Control&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-1504399561735561335?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/1504399561735561335/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=1504399561735561335' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/1504399561735561335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/1504399561735561335'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/11/about-selinux-security.html' title='SELinux security'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-4282022974322499596</id><published>2007-11-19T02:43:00.000-08:00</published><updated>2007-11-20T14:39:20.406-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>Traditional Unix security</title><content type='html'>Traditional Unix security is based on a discretionary access control model. This discretionary access control model has properties that we must understand to be able to determine the advantages and disadvantages of this access control model and other access control models.&lt;br /&gt;&lt;br /&gt;- It is to the discretion of the owner of the object to grant other users access to the object.&lt;br /&gt;&lt;br /&gt;- Users are either root or user. The system can not see a difference between a process that was started by a user or executed by the system.&lt;br /&gt;&lt;br /&gt;- Users could gain root privileges through objects that have setuid or setgid set. A process could escalate privileges.&lt;br /&gt;&lt;br /&gt;- Access to objects are based on user identity.&lt;br /&gt;&lt;br /&gt;- Access is liberal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-4282022974322499596?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/4282022974322499596/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=4282022974322499596' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/4282022974322499596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/4282022974322499596'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/11/about-traditional-unix-access-control.html' title='Traditional Unix security'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-1612523593912119867</id><published>2007-11-19T02:15:00.000-08:00</published><updated>2007-11-19T02:39:25.339-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>Documentation on domain specific booleans and security contexts</title><content type='html'>SELinux policy is based on a least privilege model. This means that by default, a user domain and a application domain have as little privileges possible over objects. Additional security contexts and tunable policies provide support for extra privileges that a user domain and application domain may require over objects.&lt;br /&gt;&lt;br /&gt;Domain specific booleans and security contexts are documented and can be referenced on a system. For example the HTTPD policy has additional security contexts for objects that the HTTPD application domain may require extra privileges over. SELinux HTTPD policy also has additional tunable policies to provide additional functionality to the HTTPD application domain.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;We can query these application domain specific tunable policies and security contexts with man httpd_selinux&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-1612523593912119867?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/1612523593912119867/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=1612523593912119867' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/1612523593912119867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/1612523593912119867'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/11/documentation-on-domain-specific.html' title='Documentation on domain specific booleans and security contexts'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9109644006262097160.post-7712502820857008253</id><published>2007-11-19T02:04:00.000-08:00</published><updated>2007-11-20T14:23:36.130-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>How to determine if our system supports SELinux</title><content type='html'>&lt;span id="bad_word" class="misspell" suggestions="Selenium,Sfinx,Slink,Saline,Salinen"&gt;SELinux&lt;/span&gt; is &lt;span class="misspell" suggestions="combiled,compiler,compileer,complet,complex"&gt;compiled&lt;/span&gt; &lt;span class="misspell" suggestions="int,intro,tinto,Indo,info"&gt;into&lt;/span&gt; &lt;span class="misspell" suggestions="thee,hè,hé,te,toe"&gt;the&lt;/span&gt; &lt;span class="misspell" suggestions="keernel,kern el,kern-el,kerniel,kernnel"&gt;kernel&lt;/span&gt; &lt;span class="misspell" suggestions="ad,end,band,hand,land"&gt;and&lt;/span&gt; is &lt;span class="misspell" suggestions="supporteed,supportbed,supportend,supportled,supportred"&gt;supported&lt;/span&gt; via &lt;span class="misspell" suggestions="Logica,Logicus,Locale,Lighal,Legaal"&gt;Logical&lt;/span&gt; &lt;span class="misspell" suggestions="Securiteit,Secretie,Society,Secreet,Scoort"&gt;Security&lt;/span&gt; Modules. To determine if our kernel is compiled with SELinux support we must first determine our running kernels' kernel-release.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; # uname -r&lt;br /&gt;2.6.23.1-49.fc8&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Once we determined our currently running kernels' kernel-release, we can query the configuration file that was used to compile this kernel.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; # grep -i selinux /boot/config-2.6.23.1-49.fc8&lt;br /&gt;CONFIG_SECURITY_SELINUX=y&lt;br /&gt;CONFIG_SECURITY_SELINUX_BOOTPARAM=y&lt;br /&gt;CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1&lt;br /&gt;CONFIG_SECURITY_SELINUX_DISABLE=y&lt;br /&gt;CONFIG_SECURITY_SELINUX_DEVELOP=y&lt;br /&gt;CONFIG_SECURITY_SELINUX_AVC_STATS=y&lt;br /&gt;CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1&lt;br /&gt;CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y&lt;br /&gt;# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The config_security_selinux option is set to 'yes'. This means that SELinux support is compiled into this kernel. The config_security_selinux_disable option is also set to 'yes'. This means that SELinux is not enabled by default.&lt;br /&gt;&lt;br /&gt;Or you could determine it the same way most people do: grep selinuxfs /proc/filesystems&lt;br /&gt;&lt;br /&gt;To determine the current status of SELinux on our running system.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; # sestatus&lt;br /&gt;SELinux status:                 enabled&lt;br /&gt;SELinuxfs mount:                /selinux&lt;br /&gt;Current mode:                   enforcing&lt;br /&gt;Mode from config file:          enforcing&lt;br /&gt;Policy version:                 21&lt;br /&gt;Policy from config file:        targeted&lt;br /&gt;&lt;br /&gt;Thanks to Method for letting me quote you in this article. You can view his blog here: http://securityblog.org/brindle/&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9109644006262097160-7712502820857008253?l=domg444.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domg444.blogspot.com/feeds/7712502820857008253/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9109644006262097160&amp;postID=7712502820857008253' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/7712502820857008253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9109644006262097160/posts/default/7712502820857008253'/><link rel='alternate' type='text/html' href='http://domg444.blogspot.com/2007/11/how-to-determine-if-our-system-supports.html' title='How to determine if our system supports SELinux'/><author><name>domg444</name><uri>http://www.blogger.com/profile/11764682538425071106</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
