Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Czołem ;)
Po raz pierwszy od przejścia na testinga skompilowałem sobie jajko z grseciem, 3.13.9.
Wszystko fajnie pięknie, wszystko doprowadzone do działania w kwadrans (paxctl <3), poza dwoma kwestiami.
# cat /boot/config-3.13.9-yui-grsec | grep GRKERNSEC_PROC_GID CONFIG_GRKERNSEC_PROC_GID=2001 # id enether uid=1000(enether) gid=1000(enether) grupy=1000(enether),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),103(fuse),105(scanner),108(lpadmin),110(bluetooth),112(netdev),113(kvm),124(debian-tor),126(clamav),69(wheel),134(wireshark),2001(grsecex)
grsec wydaje się mieć wybitnie gdzieś fakt, że znajduję się w grupie której nie powinien obejmować restrykcjami /proc ;) (głównie zależy mi na tym by działały htop i dostęp do /proc/net/dev)
Jakieś pomysły dlaczego?
Druga kwestia:
Mam ci ja w /etc/sysctl.conf
kernel.grsecurity.dmesg = 0
Wyłącza to ograniczenie dostępu do dmesg'a dla nie-roota. Problem: nie jest to wczytywane przy bootowaniu. Nic z /etc/sysctl.conf nie jest wczytywane.
Jeżeli zrobię sysctl -p wszystko ładnie rusza.
Ostatnio edytowany przez enether (2014-04-14 22:03:34)
Offline
Po dodaniu do grupy trzeba się wylogować, i zalogować ponownie, żeby zaskoczyło.
Poza tym SOA#1
Offline
Tego mi musisz nie mówić, to zrobiłem od razu ;) Problem w tym że ani reboot ani dopisanie do argumentów gruba grsec_proc_gid=2001 i reboot nic nie dały ;)
Offline
A to masz?
GRKERNSEC_PROC_USERGROUP=y
GRKERNSEC_PROC_USER=n
Ja mam tak ustawione i działa:
CONFIG_GRKERNSEC_PROC_GID=999
CONFIG_GRKERNSEC_PROC=y
# CONFIG_GRKERNSEC_PROC_USER is not set
CONFIG_GRKERNSEC_PROC_USERGROUP=y
CONFIG_GRKERNSEC_PROC_ADD=y
CONFIG_GRKERNSEC_PROC_IPADDR=y
Offline
[s]Pokaż konfig grseca z kernela, czyli:[/s]
[s]
egrep -i 'grker|pax' /boot/config-$(uname -r)
[/s]
[s]Parametry ustawione w jaju podpatrzysz:[/s]
[s]
sysctl -a | grep grsec
[/s]
Coś mi się zdaje, że mamy tą samą łatkę, tylko że u mnie chodzi bez problemu, a u Ciebie jest jakiś błąd w sztuce.
EDIT:
Jeśli rusza po [b]sysctl -p[/b], to znaczy, ze z jakiegoś powodu nie wczytuje parametrów na starcie, co jest o tyle dziwne, że łatka jest w jaju.
Może sysctl w ogóle nie dotarło do usług startowych?
Pokaż te wpisy w [b]/etc/sysctl.conf[/b].
Debian testing?
Może systemd coś miesza?
Ostatnio edytowany przez Jacekalex (2014-05-06 12:00:50)
Offline
@milyges - cały config na pastebinie :)
@Jacekalex
1. http://pastebin.com/Eng7xPNJ
2.
kernel.grsecurity.chroot_caps = 1 kernel.grsecurity.chroot_deny_chmod = 1 kernel.grsecurity.chroot_deny_chroot = 1 kernel.grsecurity.chroot_deny_fchdir = 1 kernel.grsecurity.chroot_deny_mknod = 1 kernel.grsecurity.chroot_deny_mount = 1 kernel.grsecurity.chroot_deny_pivot = 1 kernel.grsecurity.chroot_deny_shmat = 1 kernel.grsecurity.chroot_deny_sysctl = 1 kernel.grsecurity.chroot_deny_unix = 1 kernel.grsecurity.chroot_enforce_chdir = 1 kernel.grsecurity.chroot_findtask = 1 kernel.grsecurity.chroot_restrict_nice = 1 kernel.grsecurity.consistent_setxid = 1 kernel.grsecurity.deny_new_usb = 0 kernel.grsecurity.deter_bruteforce = 1 kernel.grsecurity.dmesg = 0 kernel.grsecurity.fifo_restrictions = 1 kernel.grsecurity.grsec_lock = 0 kernel.grsecurity.harden_ipc = 1 kernel.grsecurity.harden_ptrace = 1 kernel.grsecurity.ip_blackhole = 1 kernel.grsecurity.lastack_retries = 4 kernel.grsecurity.linking_restrictions = 1 kernel.grsecurity.ptrace_readexec = 1 kernel.grsecurity.resource_logging = 1 kernel.grsecurity.rwxmap_logging = 1 kernel.grsecurity.signal_logging = 1 kernel.grsecurity.timechange_logging = 1 kernel.osrelease = 3.13.9-yui-grsec
Sam sysctl.conf to nic okazałego.
http://pastebin.com/ha6Zfcss
Testing testing, jako init używam sysvinit ;)
Najciekawsze jest to że w logach absolutna pustka.
Ostatnio edytowany przez enether (2014-04-14 22:31:59)
Offline
# CONFIG_PAX_SOFTMODE is not set
To się może bardzo przydać w razie czego.
CONFIG_PAX_EI_PAX=y CONFIG_PAX_PT_PAX_FLAGS=y CONFIG_PAX_XATTR_PAX_FLAGS=y
Tu spaprałeś, wybiera się jeden sposób markowania.
CONFIG_GRKERNSEC_PROC_USER=y
domyślnie pacjent ma prawo zajrzeć tylko do swoich procesów, do przestawienia przez sysctl tak to idzie.
CONFIG_GRKERNSEC_PROC_GID=2001
niby prawidłowo, ale póki nie wyłączysz
CONFIG_GRKERNSEC_PROC_USER=y
to nie ruszy tak, jak zamierzasz.
Ostatnio edytowany przez Jacekalex (2014-04-14 22:45:14)
Offline
Nie chciało mi się bawić, pozwoliłem mu automatycznie skonfigurować się pod desktop z naciskiem na security po czym tylko przejrzałem config i poprawiłem GID. I widać coś spaprałem niechcący.
Przekompiluję je sobie jutro z uwzględnieniem Twoich rad, zobaczymy czy pomoże. I softmode uwzględnię ;)
Dzięki zatem i do jutra ;)
Offline
U mnie Grsec tak wygląda:
CONFIG_PAX_KERNEXEC_PLUGIN=y CONFIG_PAX_PER_CPU_PGD=y CONFIG_PAX_USERCOPY_SLABS=y CONFIG_GRKERNSEC=y CONFIG_GRKERNSEC_CONFIG_AUTO=y # CONFIG_GRKERNSEC_CONFIG_CUSTOM is not set # CONFIG_GRKERNSEC_CONFIG_SERVER is not set CONFIG_GRKERNSEC_CONFIG_DESKTOP=y # CONFIG_GRKERNSEC_CONFIG_VIRT_NONE is not set # CONFIG_GRKERNSEC_CONFIG_VIRT_GUEST is not set CONFIG_GRKERNSEC_CONFIG_VIRT_HOST=y # CONFIG_GRKERNSEC_CONFIG_VIRT_EPT is not set CONFIG_GRKERNSEC_CONFIG_VIRT_SOFT=y # CONFIG_GRKERNSEC_CONFIG_VIRT_XEN is not set # CONFIG_GRKERNSEC_CONFIG_VIRT_VMWARE is not set # CONFIG_GRKERNSEC_CONFIG_VIRT_KVM is not set CONFIG_GRKERNSEC_CONFIG_VIRT_VIRTUALBOX=y # CONFIG_GRKERNSEC_CONFIG_PRIORITY_PERF is not set CONFIG_GRKERNSEC_CONFIG_PRIORITY_SECURITY=y CONFIG_GRKERNSEC_PROC_GID=397 CONFIG_GRKERNSEC_TPE_TRUSTED_GID=900 CONFIG_GRKERNSEC_SYMLINKOWN_GID=397 # PaX CONFIG_PAX=y # PaX Control CONFIG_PAX_SOFTMODE=y # CONFIG_PAX_EI_PAX is not set # CONFIG_PAX_PT_PAX_FLAGS is not set CONFIG_PAX_XATTR_PAX_FLAGS=y CONFIG_PAX_NO_ACL_FLAGS=y # CONFIG_PAX_HAVE_ACL_FLAGS is not set # CONFIG_PAX_HOOK_ACL_FLAGS is not set CONFIG_PAX_NOEXEC=y CONFIG_PAX_PAGEEXEC=y CONFIG_PAX_EMUTRAMP=y CONFIG_PAX_MPROTECT=y CONFIG_PAX_MPROTECT_COMPAT=y CONFIG_PAX_ELFRELOCS=y CONFIG_PAX_KERNEXEC=y CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS=y # CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_OR is not set CONFIG_PAX_KERNEXEC_PLUGIN_METHOD="bts" CONFIG_PAX_ASLR=y CONFIG_PAX_RANDKSTACK=y CONFIG_PAX_RANDUSTACK=y CONFIG_PAX_RANDMMAP=y CONFIG_PAX_MEMORY_SANITIZE=y CONFIG_PAX_MEMORY_STACKLEAK=y CONFIG_PAX_MEMORY_STRUCTLEAK=y # CONFIG_PAX_MEMORY_UDEREF is not set CONFIG_PAX_REFCOUNT=y CONFIG_PAX_CONSTIFY_PLUGIN=y CONFIG_PAX_USERCOPY=y # CONFIG_PAX_USERCOPY_DEBUG is not set CONFIG_PAX_SIZE_OVERFLOW=y CONFIG_PAX_LATENT_ENTROPY=y CONFIG_GRKERNSEC_KMEM=y # CONFIG_GRKERNSEC_IO is not set CONFIG_GRKERNSEC_PERF_HARDEN=y CONFIG_GRKERNSEC_RAND_THREADSTACK=y CONFIG_GRKERNSEC_PROC_MEMMAP=y CONFIG_GRKERNSEC_BRUTE=y CONFIG_GRKERNSEC_MODHARDEN=y CONFIG_GRKERNSEC_HIDESYM=y CONFIG_GRKERNSEC_RANDSTRUCT=y CONFIG_GRKERNSEC_RANDSTRUCT_PERFORMANCE=y # CONFIG_GRKERNSEC_KERN_LOCKOUT is not set # CONFIG_GRKERNSEC_NO_RBAC is not set CONFIG_GRKERNSEC_ACL_HIDEKERN=y CONFIG_GRKERNSEC_ACL_MAXTRIES=3 CONFIG_GRKERNSEC_ACL_TIMEOUT=90 CONFIG_GRKERNSEC_PROC=y # CONFIG_GRKERNSEC_PROC_USER is not set CONFIG_GRKERNSEC_PROC_USERGROUP=y CONFIG_GRKERNSEC_PROC_ADD=y CONFIG_GRKERNSEC_LINK=y CONFIG_GRKERNSEC_SYMLINKOWN=y CONFIG_GRKERNSEC_FIFO=y # CONFIG_GRKERNSEC_SYSFS_RESTRICT is not set CONFIG_GRKERNSEC_ROFS=y CONFIG_GRKERNSEC_DEVICE_SIDECHANNEL=y CONFIG_GRKERNSEC_CHROOT=y CONFIG_GRKERNSEC_CHROOT_MOUNT=y CONFIG_GRKERNSEC_CHROOT_DOUBLE=y CONFIG_GRKERNSEC_CHROOT_PIVOT=y CONFIG_GRKERNSEC_CHROOT_CHDIR=y CONFIG_GRKERNSEC_CHROOT_CHMOD=y CONFIG_GRKERNSEC_CHROOT_FCHDIR=y CONFIG_GRKERNSEC_CHROOT_MKNOD=y CONFIG_GRKERNSEC_CHROOT_SHMAT=y CONFIG_GRKERNSEC_CHROOT_UNIX=y CONFIG_GRKERNSEC_CHROOT_FINDTASK=y CONFIG_GRKERNSEC_CHROOT_NICE=y CONFIG_GRKERNSEC_CHROOT_SYSCTL=y CONFIG_GRKERNSEC_CHROOT_CAPS=y # CONFIG_GRKERNSEC_CHROOT_INITRD is not set CONFIG_GRKERNSEC_AUDIT_GROUP=y CONFIG_GRKERNSEC_AUDIT_GID=397 CONFIG_GRKERNSEC_EXECLOG=y CONFIG_GRKERNSEC_RESLOG=y CONFIG_GRKERNSEC_CHROOT_EXECLOG=y CONFIG_GRKERNSEC_AUDIT_PTRACE=y CONFIG_GRKERNSEC_AUDIT_CHDIR=y CONFIG_GRKERNSEC_AUDIT_MOUNT=y CONFIG_GRKERNSEC_SIGNAL=y CONFIG_GRKERNSEC_FORKFAIL=y CONFIG_GRKERNSEC_TIME=y CONFIG_GRKERNSEC_PROC_IPADDR=y CONFIG_GRKERNSEC_RWXMAP_LOG=y CONFIG_GRKERNSEC_DMESG=y CONFIG_GRKERNSEC_HARDEN_PTRACE=y CONFIG_GRKERNSEC_PTRACE_READEXEC=y CONFIG_GRKERNSEC_SETXID=y CONFIG_GRKERNSEC_HARDEN_IPC=y CONFIG_GRKERNSEC_TPE=y CONFIG_GRKERNSEC_TPE_ALL=y CONFIG_GRKERNSEC_TPE_INVERT=y CONFIG_GRKERNSEC_TPE_GID=900 CONFIG_GRKERNSEC_RANDNET=y CONFIG_GRKERNSEC_BLACKHOLE=y CONFIG_GRKERNSEC_NO_SIMULT_CONNECT=y CONFIG_GRKERNSEC_SOCKET=y CONFIG_GRKERNSEC_SOCKET_ALL=y CONFIG_GRKERNSEC_SOCKET_ALL_GID=901 CONFIG_GRKERNSEC_SOCKET_CLIENT=y CONFIG_GRKERNSEC_SOCKET_CLIENT_GID=903 CONFIG_GRKERNSEC_SOCKET_SERVER=y CONFIG_GRKERNSEC_SOCKET_SERVER_GID=905 CONFIG_GRKERNSEC_DENYUSB=y # CONFIG_GRKERNSEC_DENYUSB_FORCE is not set CONFIG_GRKERNSEC_SYSCTL=y CONFIG_GRKERNSEC_SYSCTL_ON=y CONFIG_GRKERNSEC_FLOODTIME=10 CONFIG_GRKERNSEC_FLOODBURST=6
Chodzi tak od około 4 latek na Gentusiu, na Debianie nie próbowałem takiego konfigu. ;)
Offline
Jako że jest już jutro melduję, iż zasugerowana zmiana pomogła ;) Wszystko lata jak powinno.
Poza sysctl. Nie lata, nie wiem dlaczego.
Póki co temporary hack z rc.local, będę się użerał później. ;)
Offline
Co do tego sysctl, to mi tam parę rzeczy też nie chce ustawiać przy boocie i to widać jest jakiś problem z debianem, ja sobie to rozwiązałem przez dopisanie do rc.local:
sysctl -p >/dev/null 2>&1
Offline
Ten błąd z sysctl w Jessie chyba robi się sławny:
https://forums.grsecurity.net/viewtopic.php?t=3945&p=13963#p13963
:D
Ostatnio edytowany przez Jacekalex (2014-04-15 13:41:12)
Offline
To akurat ja ten wątek założyłem :P
Postanowiłem szukać pomocy u źródła ;)
Zwalę winę na jessie :P
BTW: Wyszła łatka na 3.13.10 ;) już skompilowana i śmiga
Offline
Ja poczekam na łatkę na 3.14.1, nie chce mi się co chwila jajka kompilować.
Jak tak będziesz ścigał kolejne łatki, to czeka Cię kompilacja 2 - 3 razy w tygodniu. ;)
Offline
Odnośnie /etc/sysctl.conf: [bug]732920[/bug].
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00132 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.143.237.140' WHERE u.id=1 |
0.00067 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.143.237.140', 1732681500) |
0.00056 | SELECT * FROM punbb_online WHERE logged<1732681200 |
0.00118 | SELECT topic_id FROM punbb_posts WHERE id=263297 |
0.00012 | SELECT id FROM punbb_posts WHERE topic_id=25614 ORDER BY posted |
0.00059 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25614 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00206 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25614 ORDER BY p.id LIMIT 0,25 |
0.00094 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25614 |
Total query time: 0.00762 s |