Changeset 2701

Show
Ignore:
Timestamp:
05/26/08 13:38:06 (6 months ago)
Author:
pebenito
Message:

trunk: Patch for labeled networking controls in 2.6.25 from Paul Moore.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Changelog

    r2698 r2701  
     1- Patch for labeled networking controls in 2.6.25 from Paul Moore. 
    12- Module loading now requires setsched on kernel threads. 
    23- Patch to allow gpg agent --write-env-file option from Vaclav Ovsik. 
  • trunk/policy/modules/kernel/corenetwork.if.in

    r2582 r2701  
    155155        ') 
    156156 
    157         allow $1 netif_t:netif { tcp_send tcp_recv }; 
     157        allow $1 netif_t:netif { tcp_send tcp_recv egress ingress }; 
    158158') 
    159159 
     
    173173        ') 
    174174 
    175         allow $1 netif_t:netif udp_send
     175        allow $1 netif_t:netif { udp_send egress }
    176176') 
    177177 
     
    192192        ') 
    193193 
    194         dontaudit $1 netif_t:netif udp_send
     194        dontaudit $1 netif_t:netif { udp_send egress }
    195195') 
    196196 
     
    210210        ') 
    211211 
    212         allow $1 netif_t:netif udp_recv
     212        allow $1 netif_t:netif { udp_recv ingress }
    213213') 
    214214 
     
    229229        ') 
    230230 
    231         dontaudit $1 netif_t:netif udp_recv
     231        dontaudit $1 netif_t:netif { udp_recv ingress }
    232232') 
    233233 
     
    278278        ') 
    279279 
    280         allow $1 netif_t:netif rawip_send
     280        allow $1 netif_t:netif { rawip_send egress }
    281281') 
    282282 
     
    296296        ') 
    297297 
    298         allow $1 netif_t:netif rawip_recv
     298        allow $1 netif_t:netif { rawip_recv ingress }
    299299') 
    300300 
     
    329329        ') 
    330330 
    331         allow $1 netif_type:netif { tcp_send tcp_recv }; 
     331        allow $1 netif_type:netif { tcp_send tcp_recv egress ingress }; 
    332332') 
    333333 
     
    347347        ') 
    348348 
    349         allow $1 netif_type:netif udp_send
     349        allow $1 netif_type:netif { udp_send egress }
    350350') 
    351351 
     
    365365        ') 
    366366 
    367         allow $1 netif_type:netif udp_recv
     367        allow $1 netif_type:netif { udp_recv ingress }
    368368') 
    369369 
     
    398398        ') 
    399399 
    400         allow $1 netif_type:netif rawip_send
     400        allow $1 netif_type:netif { rawip_send egress }
    401401') 
    402402 
     
    416416        ') 
    417417 
    418         allow $1 netif_type:netif rawip_recv
     418        allow $1 netif_type:netif { rawip_recv ingress }
    419419') 
    420420 
     
    449449        ') 
    450450 
    451         allow $1 node_t:node { tcp_send tcp_recv }; 
     451        allow $1 node_t:node { tcp_send tcp_recv sendto recvfrom }; 
    452452') 
    453453 
     
    467467        ') 
    468468 
    469         allow $1 node_t:node udp_send
     469        allow $1 node_t:node { udp_send sendto }
    470470') 
    471471 
     
    485485        ') 
    486486 
    487         allow $1 node_t:node udp_recv
     487        allow $1 node_t:node { udp_recv recvfrom }
    488488') 
    489489 
     
    518518        ') 
    519519 
    520         allow $1 node_t:node rawip_send
     520        allow $1 node_t:node { rawip_send sendto }
    521521') 
    522522 
     
    536536        ') 
    537537 
    538         allow $1 node_t:node rawip_recv
     538        allow $1 node_t:node { rawip_recv recvfrom }
    539539') 
    540540 
     
    605605        ') 
    606606 
    607         allow $1 node_type:node { tcp_send tcp_recv }; 
     607        allow $1 node_type:node { tcp_send tcp_recv sendto recvfrom }; 
    608608') 
    609609 
     
    623623        ') 
    624624 
    625         allow $1 node_type:node udp_send
     625        allow $1 node_type:node { udp_send sendto }
    626626') 
    627627 
     
    642642        ') 
    643643 
    644         dontaudit $1 node_type:node udp_send
     644        dontaudit $1 node_type:node { udp_send sendto }
    645645') 
    646646 
     
    660660        ') 
    661661 
    662         allow $1 node_type:node udp_recv
     662        allow $1 node_type:node { udp_recv recvfrom }
    663663') 
    664664 
     
    679679        ') 
    680680 
    681         dontaudit $1 node_type:node udp_recv
     681        dontaudit $1 node_type:node { udp_recv recvfrom }
    682682') 
    683683 
     
    728728        ') 
    729729 
    730         allow $1 node_type:node rawip_send
     730        allow $1 node_type:node { rawip_send sendto }
    731731') 
    732732 
     
    746746        ') 
    747747 
    748         allow $1 node_type:node rawip_recv
     748        allow $1 node_type:node { rawip_recv recvfrom }
    749749') 
    750750 
     
    17381738        ') 
    17391739 
     1740        allow $1 netlabel_peer_t:peer recv; 
    17401741        allow $1 netlabel_peer_t:tcp_socket recvfrom; 
    17411742') 
     
    17531754interface(`corenet_tcp_recvfrom_unlabeled',` 
    17541755        kernel_tcp_recvfrom_unlabeled($1) 
     1756        kernel_recvfrom_unlabeled_peer($1) 
    17551757 
    17561758        # XXX - at some point the oubound/send access check will be removed 
     
    17921794        ') 
    17931795 
     1796        dontaudit $1 netlabel_peer_t:peer recv; 
    17941797        dontaudit $1 netlabel_peer_t:tcp_socket recvfrom; 
    17951798') 
     
    18081811interface(`corenet_dontaudit_tcp_recvfrom_unlabeled',` 
    18091812        kernel_dontaudit_tcp_recvfrom_unlabeled($1) 
     1813        kernel_dontaudit_recvfrom_unlabeled_peer($1) 
    18101814 
    18111815        # XXX - at some point the oubound/send access check will be removed 
     
    18451849        ') 
    18461850 
     1851        allow $1 netlabel_peer_t:peer recv; 
    18471852        allow $1 netlabel_peer_t:udp_socket recvfrom; 
    18481853') 
     
    18601865interface(`corenet_udp_recvfrom_unlabeled',` 
    18611866        kernel_udp_recvfrom_unlabeled($1) 
     1867        kernel_recvfrom_unlabeled_peer($1) 
    18621868 
    18631869        # XXX - at some point the oubound/send access check will be removed 
     
    18991905        ') 
    19001906 
     1907        dontaudit $1 netlabel_peer_t:peer recv; 
    19011908        dontaudit $1 netlabel_peer_t:udp_socket recvfrom; 
    19021909') 
     
    19151922interface(`corenet_dontaudit_udp_recvfrom_unlabeled',` 
    19161923        kernel_dontaudit_udp_recvfrom_unlabeled($1) 
     1924        kernel_dontaudit_recvfrom_unlabeled_peer($1) 
    19171925 
    19181926        # XXX - at some point the oubound/send access check will be removed 
     
    19521960        ') 
    19531961 
     1962        allow $1 netlabel_peer_t:peer recv; 
    19541963        allow $1 netlabel_peer_t:rawip_socket recvfrom; 
    19551964') 
     
    19671976interface(`corenet_raw_recvfrom_unlabeled',` 
    19681977        kernel_raw_recvfrom_unlabeled($1) 
     1978        kernel_recvfrom_unlabeled_peer($1) 
    19691979 
    19701980        # XXX - at some point the oubound/send access check will be removed 
     
    20062016        ') 
    20072017 
     2018        dontaudit $1 netlabel_peer_t:peer recv; 
    20082019        dontaudit $1 netlabel_peer_t:rawip_socket recvfrom; 
    20092020') 
     
    20222033interface(`corenet_dontaudit_raw_recvfrom_unlabeled',` 
    20232034        kernel_dontaudit_raw_recvfrom_unlabeled($1) 
     2035        kernel_dontaudit_recvfrom_unlabeled_peer($1) 
    20242036 
    20252037        # XXX - at some point the oubound/send access check will be removed 
     
    20432055        kernel_udp_recvfrom_unlabeled($1) 
    20442056        kernel_raw_recvfrom_unlabeled($1) 
     2057        kernel_recvfrom_unlabeled_peer($1) 
    20452058 
    20462059        # XXX - at some point the oubound/send access check will be removed 
     
    20652078        ') 
    20662079 
     2080        allow $1 netlabel_peer_t:peer recv; 
    20672081        allow $1 netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; 
    20682082') 
     
    20822096        kernel_dontaudit_udp_recvfrom_unlabeled($1) 
    20832097        kernel_dontaudit_raw_recvfrom_unlabeled($1) 
     2098        kernel_dontaudit_recvfrom_unlabeled_peer($1) 
    20842099 
    20852100        # XXX - at some point the oubound/send access check will be removed 
     
    21052120        ') 
    21062121 
     2122        dontaudit $1 netlabel_peer_t:peer recv; 
    21072123        dontaudit $1 netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; 
    21082124') 
     
    21362152        allow $2 $1:{ association tcp_socket } recvfrom; 
    21372153 
    2138         # Netlabel (CIPSO)-based labeled networking 
    2139         # currently only supports MLS portion of label 
     2154        allow $1 $2:peer recv; 
     2155        allow $2 $1:peer recv; 
     2156 
     2157        # allow receiving packets from MLS-only peers using NetLabel 
    21402158        corenet_tcp_recvfrom_netlabel($1) 
    21412159        corenet_tcp_recvfrom_netlabel($2) 
     
    21612179        allow $1 $2:{ association udp_socket } recvfrom; 
    21622180 
    2163         # Netlabel (CIPSO)-based labeled networking 
    2164         # currently only supports MLS portion of label 
     2181        allow $1 $2:peer recv; 
     2182 
     2183        # allow receiving packets from MLS-only peers using NetLabel 
    21652184        corenet_udp_recvfrom_netlabel($1) 
    21662185') 
     
    21852204        allow $1 $2:{ association rawip_socket } recvfrom; 
    21862205 
    2187         # Netlabel (CIPSO)-based labeled networking 
    2188         # currently only supports MLS portion of label 
     2206        allow $1 $2:peer recv; 
     2207 
     2208        # allow receiving packets from MLS-only peers using NetLabel 
    21892209        corenet_raw_recvfrom_netlabel($1) 
    21902210') 
  • trunk/policy/modules/kernel/corenetwork.if.m4

    r2001 r2701  
    2929        ') 
    3030 
    31         allow dollarsone $1_$2:netif { tcp_send tcp_recv }; 
     31        allow dollarsone $1_$2:netif { tcp_send tcp_recv egress ingress }; 
    3232') 
    3333 
     
    4848        ') 
    4949 
    50         allow dollarsone $1_$2:netif udp_send
     50        allow dollarsone $1_$2:netif { udp_send egress }
    5151') 
    5252 
     
    6767        ') 
    6868 
    69         allow dollarsone $1_$2:netif udp_recv
     69        allow dollarsone $1_$2:netif { udp_recv ingress }
    7070') 
    7171 
     
    102102        ') 
    103103 
    104         allow dollarsone $1_$2:netif rawip_send
     104        allow dollarsone $1_$2:netif { rawip_send egress }
    105105') 
    106106 
     
    121121        ') 
    122122 
    123         allow dollarsone $1_$2:netif rawip_recv
     123        allow dollarsone $1_$2:netif { rawip_recv ingress }
    124124') 
    125125 
     
    164164        ') 
    165165 
    166         allow dollarsone $1_$2:node { tcp_send tcp_recv }; 
     166        allow dollarsone $1_$2:node { tcp_send tcp_recv sendto recvfrom }; 
    167167') 
    168168 
     
    183183        ') 
    184184 
    185         allow dollarsone $1_$2:node udp_send
     185        allow dollarsone $1_$2:node { udp_send sendto }
    186186') 
    187187 
     
    202202        ') 
    203203 
    204         allow dollarsone $1_$2:node udp_recv
     204        allow dollarsone $1_$2:node { udp_recv recvfrom }
    205205') 
    206206 
     
    237237        ') 
    238238 
    239         allow dollarsone $1_$2:node rawip_send
     239        allow dollarsone $1_$2:node { rawip_send sendto }
    240240') 
    241241 
     
    256256        ') 
    257257 
    258         allow dollarsone $1_$2:node rawip_recv
     258        allow dollarsone $1_$2:node { rawip_recv recvfrom }
    259259') 
    260260 
  • trunk/policy/modules/kernel/corenetwork.te.in

    r2582 r2701  
    11 
    2 policy_module(corenetwork,1.2.15
     2policy_module(corenetwork,1.2.16
    33 
    44######################################## 
  • trunk/policy/modules/kernel/kernel.if

    r2691 r2701  
    24982498######################################## 
    24992499## <summary> 
     2500##      Receive packets from an unlabeled peer. 
     2501## </summary> 
     2502## <desc> 
     2503##      <p> 
     2504##      Receive packets from an unlabeled peer, these packets do not have any 
     2505##      peer labeling information present. 
     2506##      </p> 
     2507##      <p> 
     2508##      The corenetwork interface corenet_recvfrom_unlabeled_peer() should 
     2509##      be used instead of this one. 
     2510##      </p> 
     2511## </desc> 
     2512## <param name="domain"> 
     2513##      <summary> 
     2514##      Domain allowed access. 
     2515##      </summary> 
     2516## </param> 
     2517# 
     2518interface(`kernel_recvfrom_unlabeled_peer',` 
     2519        gen_require(` 
     2520                type unlabeled_t; 
     2521        ') 
     2522 
     2523        allow $1 unlabeled_t:peer recv; 
     2524') 
     2525 
     2526######################################## 
     2527## <summary> 
     2528##      Do not audit attempts to receive packets from an unlabeled peer. 
     2529## </summary> 
     2530## <desc> 
     2531##      <p> 
     2532##      Do not audit attempts to receive packets from an unlabeled peer, 
     2533##      these packets do not have any peer labeling information present. 
     2534##      </p> 
     2535##      <p> 
     2536##      The corenetwork interface corenet_dontaudit_*_recvfrom_unlabeled() 
     2537##      should be used instead of this one. 
     2538##      </p> 
     2539## </desc> 
     2540## <param name="domain"> 
     2541##      <summary> 
     2542##      Domain to not audit. 
     2543##      </summary> 
     2544## </param> 
     2545# 
     2546interface(`kernel_dontaudit_recvfrom_unlabeled_peer',` 
     2547        gen_require(` 
     2548                type unlabeled_t; 
     2549        ') 
     2550 
     2551        dontaudit $1 unlabeled_t:peer recv; 
     2552') 
     2553 
     2554######################################## 
     2555## <summary> 
    25002556##      Unconfined access to kernel module resources. 
    25012557## </summary> 
  • trunk/policy/modules/kernel/kernel.te

    r2691 r2701  
    11 
    2 policy_module(kernel,1.9.2
     2policy_module(kernel,1.9.3
    33 
    44######################################## 
     
    213213allow kernel_t unlabeled_t:packet send; 
    214214 
     215# Forwarded network traffic 
     216allow unlabeled_t unlabeled_t:packet { forward_in forward_out }; 
     217 
    215218corenet_all_recvfrom_unlabeled(kernel_t) 
    216219corenet_all_recvfrom_netlabel(kernel_t)