public inbox for gentoo-hardened@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-hardened] gcc-config
@ 2005-09-24 19:37 Albert Lash
  2005-09-24 22:39 ` Albert Lash
  0 siblings, 1 reply; 10+ messages in thread
From: Albert Lash @ 2005-09-24 19:37 UTC (permalink / raw
  To: gentoo-hardened

Hello,

I am running gentoo-hardened kernel 2.6.11-r15 on an amd64 system. I have
followed the convert howto and found it very straightforward and clear.

However, I noticed my list of deps was rather large during a recent emerge
pretend and so I checked my setup and found SELinux to be not enabled -

!!!SELinux not enabled:...

So I checked my profile, and it was not the hardened profile! I updated
the profile, and reloaded the profile, and so now when I run sestatus it
gives me the desired response:

sestatus
SELinux status:         enabled
SELinuxfs mount:        /selinux
Current mode:           permissive
Policy version:         18

Policy booleans:
secure_mode             inactive
ssh_sysadm_login        inactive
user_ping               inactive

However, when I run gcc-config -l, I am running the vanilla gcc-3.4.4. I
searched for information on whether I need to be using the hardened and
can't find much. Do I need to enabled the hardened compiler, and
re-compile everything under the new selinux profile and policy?

Thank you,

Alby Lash

-- 
gentoo-hardened@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-hardened] gcc-config
  2005-09-24 19:37 [gentoo-hardened] gcc-config Albert Lash
@ 2005-09-24 22:39 ` Albert Lash
  2005-09-25 11:44   ` [gentoo-hardened] gcc-hardened Albert Lash
  2005-10-06 18:18   ` [gentoo-hardened] SELinux and Apache - no pid file? Albert Lash
  0 siblings, 2 replies; 10+ messages in thread
From: Albert Lash @ 2005-09-24 22:39 UTC (permalink / raw
  To: gentoo-hardened

Hello again,

I jumped the gun and attempted to reload the toolchain after changing the
gcc profile to gcc-3.4.4-r1-hardened. I got through
binutils and gcc, then glibc fails, saying it explicity requires SELInux.

Strange thing happened to my gcc profiles too. Running gcc-config shows 5
choices, only gcc-3.4.4-hardened is gone, replaced by gcc-3.4.4-vanilla at
the end. This sort of makes sense.

Currently I am again compiling gcc, hoping that it will do something that
will make glibc compile OK. I selected gcc-3.4.4-hardened-nopie to see if
that helps.

Does

gcc-3.4.4-hardened-nopiessp mean that neither pie or ssp will be
installed, or only ssp? I searched around for an explanation of these
profiles but found none. Might be a good idea for the docs.

Alby

On Sat, 24 Sep 2005, Albert Lash wrote:

> Hello,
>
> I am running gentoo-hardened kernel 2.6.11-r15 on an amd64 system. I have
> followed the convert howto and found it very straightforward and clear.
>
> However, I noticed my list of deps was rather large during a recent emerge
> pretend and so I checked my setup and found SELinux to be not enabled -
>
> !!!SELinux not enabled:...
>
> So I checked my profile, and it was not the hardened profile! I updated
> the profile, and reloaded the profile, and so now when I run sestatus it
> gives me the desired response:
>
> sestatus
> SELinux status:         enabled
> SELinuxfs mount:        /selinux
> Current mode:           permissive
> Policy version:         18
>
> Policy booleans:
> secure_mode             inactive
> ssh_sysadm_login        inactive
> user_ping               inactive
>
> However, when I run gcc-config -l, I am running the vanilla gcc-3.4.4. I
> searched for information on whether I need to be using the hardened and
> can't find much. Do I need to enabled the hardened compiler, and
> re-compile everything under the new selinux profile and policy?
>
> Thank you,
>
> Alby Lash
>
> --
> gentoo-hardened@gentoo.org mailing list
>
-- 
gentoo-hardened@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-hardened] gcc-hardened
  2005-09-24 22:39 ` Albert Lash
@ 2005-09-25 11:44   ` Albert Lash
  2005-09-25 21:37     ` Chris PeBenito
  2005-10-06 18:18   ` [gentoo-hardened] SELinux and Apache - no pid file? Albert Lash
  1 sibling, 1 reply; 10+ messages in thread
From: Albert Lash @ 2005-09-25 11:44 UTC (permalink / raw
  To: gentoo-hardened

I'm getting the feeling that even if you run SElinux, you do not have to
use the hardened gcc compiler. Can someone explain what this compiler is
used for and when to use it?

Thanks,

Alby

-- 
gentoo-hardened@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-hardened] gcc-hardened
  2005-09-25 11:44   ` [gentoo-hardened] gcc-hardened Albert Lash
@ 2005-09-25 21:37     ` Chris PeBenito
  0 siblings, 0 replies; 10+ messages in thread
From: Chris PeBenito @ 2005-09-25 21:37 UTC (permalink / raw
  To: gentoo-hardened

[-- Attachment #1: Type: text/plain, Size: 2317 bytes --]

On Sun, 2005-09-25 at 07:44 -0400, Albert Lash wrote:
> I'm getting the feeling that even if you run SElinux, you do not have to
> use the hardened gcc compiler. Can someone explain what this compiler is
> used for and when to use it?

The hardened compiler strengthens the integrity of a program, which
means its harder to break the program and make it do unintended things,
for example by exploiting a buffer overflow.  The compiler uses stack
smashing protection and address space layout randomization (ASLR) to
accomplish this.  To get the maximum effect, you also want to use PaX to
make ASLR work, and also get non-executable pages enforcement.

SELinux provides assurance, preventing programs from doing things
unintended; anything that isn't explicitly allowed is denied.  This is
limited to accesses (not correctness of data), so if someone compromises
a service, but doesn't do anything disallowed, SELinux (or any other
access control system for that matter) won't stop it.  For example, if
someone were to compromise a mail server daemon with the intent of
reading secret emails in the mail spool, SELinux won't stop it, since
the daemon has to read and write the mail spool as part of its regular
function.

SELinux can also provide process integrity protections thanks to some
enhancements merged in recent kernel releases, such as preventing
execution of memory, stack, heap, etc.  There is a technical argument on
whether this is sufficient, (implementation-wise, in comparison to PaX),
but I'm not going to get into it.

When to use the hardened compiler?  In general, it would be best to at
least use it on whatever you're running which would seem prone to being
attacked.  For completeness, you should use it on all of your system,
since that will cover libraries and anything else you wouldn't
anticipate as an attack vector.

The strongest solution would use both a hardened compiler, a mandatory
access control system, and PaX.  This is layered security, to try to get
as complete protection as possible.

-- 
Chris PeBenito
<pebenito@gentoo.org>
Developer,
Hardened Gentoo Linux
Embedded Gentoo Linux
 
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE6AF9243
Key fingerprint = B0E6 877A 883F A57A 8E6A  CB00 BC8E E42D E6AF 9243


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-hardened] SELinux and Apache - no pid file?
  2005-09-24 22:39 ` Albert Lash
  2005-09-25 11:44   ` [gentoo-hardened] gcc-hardened Albert Lash
@ 2005-10-06 18:18   ` Albert Lash
  2005-10-07  2:00     ` Chris PeBenito
  1 sibling, 1 reply; 10+ messages in thread
From: Albert Lash @ 2005-10-06 18:18 UTC (permalink / raw
  To: gentoo-hardened

Hi all,

I'm running an SELinux base system (followed the AMD64 howto for changing
a normal Gentoo system to a SELinux Gentoo system) with Apache2.

I keep the files accessed by Apache in a different directory than those
prescribed by the file contexts, so I added some regexp filters to
properly label my files, which seems to have worked, and I can access the
files via Apache without getting denials in /var/log/messages. (I am
running permissive mode right now).

The problem I am experiencing is when I restart apache. I do this as root,
su'd from a user with SELinux role staff_r and sysadm_r. I first login via
ssh as a normal user, then I newrole -r sysadm_r, then I su, and then I
/etc/init.d/apache2 restart. I get a warning that there is not pid. So
then I have to kill the process identified by ps -A, and then
/etc/init.d/apache start. (Whenever I run an init script, I have to
authenticate as the original user who has the sysadm_r role). The server
starts fine, but seems to have a delay before I can access the server via
a browser. Even when the server starts responding to browser requests, no
pid file is written to /var/run. There aren't even any denials in the
/var/log/messages files, which still wouldnt' prevent a pid file from
getting written, as I am in permissive mode.

I have also tried the SELinux run_init command before the ini script with
the same results.

Is this standard behavior for Apache2 on SELinux? I doubt it since I am
running another non-SELinux server which creates the apache.pid file
every time. Any recommendations on how to get Apache starting,
restarting, and stopping properly?

Thank you!

Albert
-- 
gentoo-hardened@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-hardened] SELinux and Apache - no pid file?
  2005-10-06 18:18   ` [gentoo-hardened] SELinux and Apache - no pid file? Albert Lash
@ 2005-10-07  2:00     ` Chris PeBenito
  2005-10-07  2:25       ` Travis Fraser
  0 siblings, 1 reply; 10+ messages in thread
From: Chris PeBenito @ 2005-10-07  2:00 UTC (permalink / raw
  To: gentoo-hardened

[-- Attachment #1: Type: text/plain, Size: 1655 bytes --]

On Thu, 2005-10-06 at 14:18 -0400, Albert Lash wrote:
> The problem I am experiencing is when I restart apache. I do this as root,
> su'd from a user with SELinux role staff_r and sysadm_r. I first login via
> ssh as a normal user, then I newrole -r sysadm_r, then I su, and then I
> /etc/init.d/apache2 restart. I get a warning that there is not pid. So
> then I have to kill the process identified by ps -A, and then
> /etc/init.d/apache start. (Whenever I run an init script, I have to
> authenticate as the original user who has the sysadm_r role). The server
> starts fine, but seems to have a delay before I can access the server via
> a browser. Even when the server starts responding to browser requests, no
> pid file is written to /var/run. There aren't even any denials in the
> /var/log/messages files, which still wouldnt' prevent a pid file from
> getting written, as I am in permissive mode.

If this doesn't work in permissive, then it points to something not
SELinux related being wrong.  I suggest looking at the apache logs for
errors, and also check DAC perms.

> I have also tried the SELinux run_init command before the ini script with
> the same results.

This won't help because Gentoo already has run_init integrated into the
init script system.

> Is this standard behavior for Apache2 on SELinux?

No, I can't reproduce it on my enforcing systems.

-- 
Chris PeBenito
<pebenito@gentoo.org>
Developer,
Hardened Gentoo Linux
Embedded Gentoo Linux
 
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE6AF9243
Key fingerprint = B0E6 877A 883F A57A 8E6A  CB00 BC8E E42D E6AF 9243


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-hardened] SELinux and Apache - no pid file?
  2005-10-07  2:00     ` Chris PeBenito
@ 2005-10-07  2:25       ` Travis Fraser
  2005-10-07 12:41         ` Albert Lash
  0 siblings, 1 reply; 10+ messages in thread
From: Travis Fraser @ 2005-10-07  2:25 UTC (permalink / raw
  To: gentoo-hardened

On Thu, 2005-10-06 at 22:00 -0400, Chris PeBenito wrote:
> On Thu, 2005-10-06 at 14:18 -0400, Albert Lash wrote:
> > The problem I am experiencing is when I restart apache. I do this as root,
> > su'd from a user with SELinux role staff_r and sysadm_r. I first login via
> > ssh as a normal user, then I newrole -r sysadm_r, then I su, and then I
> > /etc/init.d/apache2 restart. I get a warning that there is not pid. So
> > then I have to kill the process identified by ps -A, and then
> > /etc/init.d/apache start. (Whenever I run an init script, I have to
> > authenticate as the original user who has the sysadm_r role). The server
> > starts fine, but seems to have a delay before I can access the server via
> > a browser. Even when the server starts responding to browser requests, no
> > pid file is written to /var/run. There aren't even any denials in the
> > /var/log/messages files, which still wouldnt' prevent a pid file from
> > getting written, as I am in permissive mode.
> 
It seems to have something to do with entropy?. See this thread:
http://forums.gentoo.org/viewtopic-t-384660-highlight-apache+pid.html

specifically this part:
MY_BUILTINS="--with-devrandom=/dev/urandom" emerge apache

This solved the exact problem for me even though I had no problems on
other servers (no selinux on any of them though).

> If this doesn't work in permissive, then it points to something not
> SELinux related being wrong.  I suggest looking at the apache logs for
> errors, and also check DAC perms.
> 
> > I have also tried the SELinux run_init command before the ini script with
> > the same results.
> 
> This won't help because Gentoo already has run_init integrated into the
> init script system.
> 
> > Is this standard behavior for Apache2 on SELinux?
> 
> No, I can't reproduce it on my enforcing systems.
> 
-- 
Travis Fraser <travis@snowpatch.net>

-- 
gentoo-hardened@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-hardened] SELinux and Apache - no pid file?
  2005-10-07  2:25       ` Travis Fraser
@ 2005-10-07 12:41         ` Albert Lash
  2005-10-15 15:40           ` [gentoo-hardened] AMD64 sys-libs/ss Albert Lash
  0 siblings, 1 reply; 10+ messages in thread
From: Albert Lash @ 2005-10-07 12:41 UTC (permalink / raw
  To: gentoo-hardened

Way to go Travis thank you for the link and advice, this fixed my issue!
As a follow up, the compilation gave me a warning about lazy bindings, and
suggested I compile with these additional options:

 CFLAGS="-Wl,-z,now"

I did so and it compiled OK.

Cheers!

Albert

On Thu, 6 Oct 2005, Travis Fraser wrote:

> On Thu, 2005-10-06 at 22:00 -0400, Chris PeBenito wrote:
> > On Thu, 2005-10-06 at 14:18 -0400, Albert Lash wrote:
> > > The problem I am experiencing is when I restart apache. I do this as root,
> > > su'd from a user with SELinux role staff_r and sysadm_r. I first login via
> > > ssh as a normal user, then I newrole -r sysadm_r, then I su, and then I
> > > /etc/init.d/apache2 restart. I get a warning that there is not pid. So
> > > then I have to kill the process identified by ps -A, and then
> > > /etc/init.d/apache start. (Whenever I run an init script, I have to
> > > authenticate as the original user who has the sysadm_r role). The server
> > > starts fine, but seems to have a delay before I can access the server via
> > > a browser. Even when the server starts responding to browser requests, no
> > > pid file is written to /var/run. There aren't even any denials in the
> > > /var/log/messages files, which still wouldnt' prevent a pid file from
> > > getting written, as I am in permissive mode.
> >
> It seems to have something to do with entropy?. See this thread:
> http://forums.gentoo.org/viewtopic-t-384660-highlight-apache+pid.html
>
> specifically this part:
> MY_BUILTINS="--with-devrandom=/dev/urandom" emerge apache
>
> This solved the exact problem for me even though I had no problems on
> other servers (no selinux on any of them though).
>
> > If this doesn't work in permissive, then it points to something not
> > SELinux related being wrong.  I suggest looking at the apache logs for
> > errors, and also check DAC perms.
> >
> > > I have also tried the SELinux run_init command before the ini script with
> > > the same results.
> >
> > This won't help because Gentoo already has run_init integrated into the
> > init script system.
> >
> > > Is this standard behavior for Apache2 on SELinux?
> >
> > No, I can't reproduce it on my enforcing systems.
> >
> --
> Travis Fraser <travis@snowpatch.net>
>
> --
> gentoo-hardened@gentoo.org mailing list
>
-- 
gentoo-hardened@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-hardened] AMD64 sys-libs/ss
  2005-10-07 12:41         ` Albert Lash
@ 2005-10-15 15:40           ` Albert Lash
  2005-10-15 17:40             ` Chris PeBenito
  0 siblings, 1 reply; 10+ messages in thread
From: Albert Lash @ 2005-10-15 15:40 UTC (permalink / raw
  To: gentoo-hardened

Hi Chris,

I just emerge synced and am again getting an error when trying to emerge
ss-1.38:

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld:
cannot find /lib64/libcom_err.so

This has to do with this bug:
http://bugs.gentoo.org/show_bug.cgi?id=107177

Do I need to do something to my profile to update it?

Thanks,

Al
-- 
gentoo-hardened@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-hardened] AMD64 sys-libs/ss
  2005-10-15 15:40           ` [gentoo-hardened] AMD64 sys-libs/ss Albert Lash
@ 2005-10-15 17:40             ` Chris PeBenito
  0 siblings, 0 replies; 10+ messages in thread
From: Chris PeBenito @ 2005-10-15 17:40 UTC (permalink / raw
  To: gentoo-hardened

[-- Attachment #1: Type: text/plain, Size: 749 bytes --]

On Sat, 2005-10-15 at 11:40 -0400, Albert Lash wrote:
> Hi Chris,
> 
> I just emerge synced and am again getting an error when trying to emerge
> ss-1.38:
> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld:
> cannot find /lib64/libcom_err.so
> 
> This has to do with this bug:
> http://bugs.gentoo.org/show_bug.cgi?id=107177

Ok, I reproduced this on my system that had the problem above.  I
remerged sys-libs/com_err, and then ss was able to merge.

-- 
Chris PeBenito
<pebenito@gentoo.org>
Developer,
Hardened Gentoo Linux
Embedded Gentoo Linux
 
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE6AF9243
Key fingerprint = B0E6 877A 883F A57A 8E6A  CB00 BC8E E42D E6AF 9243


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2005-10-15 17:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-24 19:37 [gentoo-hardened] gcc-config Albert Lash
2005-09-24 22:39 ` Albert Lash
2005-09-25 11:44   ` [gentoo-hardened] gcc-hardened Albert Lash
2005-09-25 21:37     ` Chris PeBenito
2005-10-06 18:18   ` [gentoo-hardened] SELinux and Apache - no pid file? Albert Lash
2005-10-07  2:00     ` Chris PeBenito
2005-10-07  2:25       ` Travis Fraser
2005-10-07 12:41         ` Albert Lash
2005-10-15 15:40           ` [gentoo-hardened] AMD64 sys-libs/ss Albert Lash
2005-10-15 17:40             ` Chris PeBenito

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox