




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 #检查FTP配置-限制用户FTP登录1.1 判断条件:root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody4,以上用户不能通过FTP登录,则符合安全要求; vi /etc/vsftpd/ftpusers 增加以下用户 sys nuucp listen noaccess nobody4 修改文件 vi /etc/vsftpd/vsftpd.conf 找到 userlist_enable=YES确保此选项被激活后 userlist_deny=YES 1.2 参考配置操作:加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。1、修改ftpusers文件,增加不能通过ftp登录的用户首先需确定ftpusers文件位置,可以通过以下命令知道:#cat /etc/pam.d/vsftpdauth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed其中file=/etc/vsftpd.ftpusers即为当前系统上的ftpusers文件。修改文件(假设文件为/etc/ftpusers):# vi /etc/ftpusers在文件中增加以下用户,则该用户均不允许通过ftp登录:root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody42、配置vsftpd.conf文件,设定只允许特定用户通过ftp登录:vsftpd.conf文件路径一般为/etc/vsftpd.conf或者/etc/vsftpd/vsftpd.conf。修改其中内容:userlist_enable=YES此选项被激活后,VSFTPD将读取userlist_file参数所指定的文件中的用户列表。userlist_deny=NO决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入口令的提示。NO,只允许在文件中的用户登录FTP服务器。userlist_file=/etc/vsftpd.user_list补充操作说明:/etc/ftpusers文件中存在如下不允许FTP登录的用户账号:root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody4 1.3 检查脚本: rootsmdw #bash rootsmdw # #!/bin/bash rootsmdw # FTPSTATUS=ps -ef|grep -i ftp|grep -v grep|wc -l; rootsmdw # function Check_vsftpconf if -f /etc/vsftpd.conf ; then FTPCONF=/etc/vsftpd.conf; elif -f /etc/vsftpd/vsftpd.conf ; then FTPCONF=/etc/vsftpd/vsftpd.conf; else echo /etc/vsftpd.conf or /etc/vsftpd/vsftpd.conf is not exist,scripts exit now; return 0; fi; if id -u != 0 & -f /usr/bin/sudo ;then echo -$FTPCONF-; sudo cat $FTPCONF|grep -v #; FTPUSER=sudo cat $FTPCONF|grep -v #|grep userlist_file|cut -d= -f2; echo -$FTPUSER-; sudo cat $FTPUSER:=/etc/vsftpd.user_list |grep -v #; userlist_enable=sudo grep -v # $FTPCONF|grep -i userlist_enable=YES|wc -l; userlist_deny=sudo grep -v # $FTPCONF|grep -i userlist_deny=NO|wc -l; if $userlist_enable = 1 -a $userlist_deny = 1 then if sudo grep -v # $FTPUSER|egrep $name_list|wc -l = 0 ; then echo FTP is running.FTP check result:true.; else echo FTP is running.FTP check result:false.; fi; else echo FTP is running.FTP check result:false.; fi else echo -$FTPCONF-; cat $FTPCONF|grep -v #; FTPUSER=cat $FTPCONF|grep -v #|grep userlist_file|cut -d= -f2; echo -$FTPUSER-; cat $FTPUSER:=/etc/vsftpd.user_list |grep -v #; userlist_enable=grep -v # $FTPCONF|grep -i userlist_enable=YES|wc -l; userlist_deny=grep -v # $FTPCONF|grep -i userlist_deny=NO|wc -l; if $userlist_enable = 1 -a $userlist_deny = 1 & $FTPUSER != ; then if grep -v # $FTPUSER|egrep root$|daemon$|bin$|sys$|adm$|lp$|uucp$|nuucp$|listen$|nobody$|noaccess$|nobody4$|wc -l = 0 ; then echo FTP is running.FTP user config $ftpusers_pam is not recommended.FTP user config $FTPUSER is recommended.FTP check result:tr 2 #检查FTP配置-限制FTP用户登录后能访问的目录2.1 判断条件: /etc/vsftpd.conf配置包含chroot_local_user=YES;/etc/pure-ftpd/pure-ftpd.conf包含:ChrootEveryone yesAllowUserFXP noAllowAnonymousFXP no基准值:通用基准值2.2 参考配置操作:加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。步骤 1vsftp修改/etc/vsftpd.conf# vi /etc/vsftpd.conf确保以下行未被注释掉,如果没有该行,请添加:chroot_local_user=YES重启网络服务# rcxinetd restart步骤 2pure-ftp修改/etc/pure-ftpd/pure-ftpd.conf# vi /etc/pure-ftpd/pure-ftpd.conf确保以下行未被注释掉(并且值为以下值),如果没有该行,请添加:ChrootEveryone yesAllowUserFXP noAllowAnonymousFXP no重启ftp服务# /etc/init.d/pure-ftpd restart补充操作说明:etc/vsftpd.conf文件中存在chroot_local_user=YES并且/etc/pure-ftpd/pure-ftpd.conf中存在ChrootEveryone yes、AllowUserFXP no、AllowAnonymousFXP no;或者FTP服务未开启,以上任一条件满足即可 2.3 检查条件 rootlocalhost #bash rootlocalhost # #!/bin/bash rootlocalhost # FTPSTATUS=netstat -antp|grep -i listen|grep :21|wc -l rootlocalhost # function Check_vsftpd if -f /etc/vsftpd.conf ; then FTPCONF=/etc/vsftpd.conf; elif -f /etc/vsftpd/vsftpd.conf ; then FTPCONF=/etc/vsftpd/vsftpd.conf; fi; if id -u != 0 & -f /usr/bin/sudo ;then sudo cat $FTPCONF|egrep -v #|$ if grep -v # $FTPCONF|grep -i chroot_local_user=YES|wc -l -eq 1 ; then echo vsftpd is running.$FTPCONF is recommended.FTP check result:true.; else echo vsftpd is running.$FTPCONF is not recommended.FTP check result:false.; fi else cat $FTPCONF|egrep -v #|$ if grep -v # $FTPCONF|grep -i chroot_local_user=YES|wc -l -eq 1 ; then echo vsftpd is running.$FTPCONF is recommended.FTP check result:true.; else echo vsftpd is running.$FTPCONF is not recommended.FTP check result:false.; fi fi; unset FTPCONF; rootlocalhost # function Check_pureftpd if id -u != 0 & -f /usr/bin/sudo ;then sudo cat /etc/pure-ftpd/pure-ftpd.conf|egrep -v #|$ ChrootEveryone=sudo cat /etc/pure-ftpd/pure-ftpd.conf|grep -v #|grep -i ChrootEveryone|grep -i yes|wc -l; AllowUserFXP=sudo cat /etc/pure-ftpd/pure-ftpd.conf|grep -v #|grep -i AllowUserFXP|grep -i no|wc -l; AllowAnonymousFXP=cat /etc/pure-ftpd/pure-ftpd.conf|grep -v #|grep -i AllowAnonymousFXP|grep -i no|wc -l; else cat /etc/pure-ftpd/pure-ftpd.conf|egrep -v #|$ ChrootEveryone=cat /etc/pure-ftpd/pure-ftpd.conf|grep -v #|grep -i ChrootEveryone|grep -i yes|wc -l; AllowUserFXP=cat /etc/pure-ftpd/pure-ftpd.conf|grep -v #|grep -i AllowUserFXP|grep -i no|wc -l; AllowAnonymousFXP=cat /etc/pure-ftpd/pure-ftpd.conf|grep -v #|grep -i AllowAnonymousFXP|grep -i no|wc -l; fi PUREFTPD_NO=$(expr $ChrootEveryone + $AllowUserFXP + $A 3 #检查登录提示-更改ftp警告Banner3.1 判断条件:/etc/vsftpd.conf中有ftpd_banner ,未被注释掉3.2 参考配置操作:修改vsftp回显信息#vi /etc/vsftpd/vsftpd.conf 找到#ftpd_banner=Welcome to blah FTP service.行,下面添加ftpd_banner=” Authorized users only. All activity may be monitored and reported.”可根据实际需要修改该文件内容。重启服务: 4 #检查FTP配置-设置FTP用户登录后对文件、目录的存取权限4.1 1判断条件:1.验证方法:登录FTP后上传文件2.预期结果:用户行为受到控制,文件权限符合预期设置。 4.2 参考配置操作:vi /etc/vsftpd/vsftpd.conf 确保以下行未被注释掉,如果没有该行,请添加:write_enable=YES /允许上传。如果不需要上传权限,此项可不进行更改。ls_recurse_enable=YES 需要未被注释local_umask=022 /设置用户上传文件的属性为755anon_umask=022 userlist_deny=YES 上面两行一起添加到尾部 ls_recurse_enable=YES /匿名用户上传文件(包括目录)的 umask 添加 - 加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。如果系统使用vsftp:修改/etc/vsftpd.conf(或者为/etc/vsftpd/vsftpd.conf)# vi /etc/vsftpd.conf确保以下行未被注释掉,如果没有该行,请添加:write_enable=YES /允许上传。如果不需要上传权限,此项可不进行更改。ls_recurse_enable=YESlocal_umask=022 /设置用户上传文件的属性为755anon_umask=022 /匿名用户上传文件(包括目录)的 umask重启网络服务# rcxinetd restart如果系统使用pure-ftp修改/etc/pure-ftpd/pure-ftpd.conf# vi /etc/pure-ftpd/pure-ftpd.conf确保以下行未被注释掉,如果没有该行,请添加:Umask 177:077重启ftp服务#/etc/init.d/pure-ftpd restart补充操作说明:/etc/vsftpd/vsftpd.conf文件中ls_recurse_enable值等于YES,并且local_umask等于022,并且anon_umask值等于022 4.3 检查脚本 rootsmdw #bash rootsmdw # #!/bin/bash rootsmdw # FTPSTATUS=netstat -antp|grep -i listen|grep :21|wc -l rootsmdw # function Check_vsftpd if -f /etc/vsftpd.conf ; then FTPCONF=/etc/vsftpd.conf; elif -f /etc/vsftpd/vsftpd.conf ; then FTPCONF=/etc/vsftpd/vsftpd.conf; fi; echo +vsftpd.conf+ if id -u != 0 & -f /usr/bin/sudo ;then sudo cat $FTPCONF|egrep -v #|$; else cat $FTPCONF|egrep -v #|$; fi echo +vsftpd.conf end+ if id -u != 0 & -f /usr/bin/sudo ;then ls_recurse_enable=sudo cat $FTPCONF|grep -i ls_recurse_enable=YES|wc -l; local_umask=sudo cat $FTPCONF|grep -i local_umask=022|wc -l; anon_umask=sudo cat $FTPCONF|grep -i anon_umask=022|wc -l; else ls_recurse_enable=cat $FTPCONF|grep -i ls_recurse_enable=YES|wc -l; local_umask=cat $FTPCONF|grep -i local_umask=022|wc -l; anon_umask=cat $FTPCONF|grep -i anon_umask=022|wc -l; fi VSFTPD_NO=$(expr $ls_recurse_enable + $local_umask + $anon_umask); if $VSFTPD_NO -eq 3 ; then echo vsftpd is running.$FTPCONF is recommended.FTP check result:true.; else echo vsftpd is running.$FTPCONF is not recommended.FTP check result:false.; fi; unset FTPCONF VSFTPD_NO ls_recurse_enable local_umask anon_umask; rootsmdw # function Check_pureftpd echo +pure-ftpd.conf+; if id -u != 0 & -f /usr/bin/sudo ;then sudo cat /etc/pure-ftpd/pure-ftpd.conf|egrep -v #|$; else cat /etc/pure-ftpd/pure-ftpd.conf|egrep -v #|$; fi echo +pure-ftpd.conf end+; if sudo cat /etc/pure-ftpd/pure-ftpd.conf|grep -v #|grep -i Umask|grep -i 177:077|wc -l -eq 1 ; then echo pure-ftpd is running.pure-ftpd.conf is recommended.FTP check result:true.; else echo pure-ftpd is running.pure-ftpd.conf is not recommended.FTP chec 5 #检查主机访问控制(IP限制)5.1 判断条件: cat /etc/hosts.allowall:4:allow #允许单个IP访问所有服务进程sshd:192.168.1.:allow #允许192.168.1的整个网段访问SSH服务进程#vi /etc/hosts.denyall:all:DENY存在类似上述配置则符合安全要求,否则低于安全要求。基准值:通用基准值 #vi /etc/hosts.denyall:all:DENY存在类似上述配置则符合安全要求,否则低于安全要求。 cp -p /etc/hosts.allow /etc/hosts.allow_bakcp -p /etc/hosts.deny /etc/hosts.deny_bak vi /etc/hosts.allow all:10.:allow all:172.:allow nfs:10.:allow nfs:172.30.:allow vi /etc/hosts.deny sshd:192.168.0.:DENY - 5.2 参考配置操作:加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。1、执行备份:#cp -p /etc/hosts.allow /etc/hosts.allow_bak#cp -p /etc/hosts.deny /etc/hosts.deny_bak2、编辑/etc/hosts.allow和/etc/hosts.deny两个文件,文件的配置格式为:Service:host or network/netmask,host or network/netmask#vi /etc/hosts.allow增加一行 service: 允许访问的IP,举例如下:all:4:allow #允许单个IP访问所有服务进程sshd:192.168.1.:allow #允许192.168.1的整个网段访问SSH服务进程#vi /etc/hosts.deny增加一行 sshd:all:DENY补充操作说明:/etc/hosts.allow和/etc/hosts.deny两个文件中设定了IP范围 5.3 检查脚本 rootsdw7 #cat /etc/hosts.allow |sed '/#/d'|sed '/$/d'|egrep -iw sshd|telnet|all|egrep -v all:allb rootsdw7 # cat /etc/hosts.deny |sed '/#/d'|sed '/$/d'|egrep -iw sshd|telnet|all rootsdw7 # echo allowno=egrep -iw sshd|telnet|all /etc/hosts.allow|egrep -v all:allb |sed '/#/d'|sed '/$/d'|wc -lallowno=0 rootsdw7 # echo denyno=egrep -iw sshd|telnet|all /etc/hosts.deny |sed '/#/d'|sed '/$/d'|wc -l denyno=0 rootsdw7 # 6 #检查是否配置远程日志保存6.1 判断条件:配置日志发送到远程日志服务器,则符合安全要求,否则低于安全要求。 1、执行备份:touch /etc/syslog.conf vi /etc/syslog.conf 加上这一行: mail.* 3 cp -p /etc/rsyslog.conf /etc/rsyslog.conf_bak vi /etc/rsyslog.conf加上这一行:mail.* 3 6.2 参考配置操作:加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。1、执行备份:#cp -p /etc/syslog.conf /etc/syslog.conf_bak2、修改配置:#vi /etc/syslog.conf加上这一行: *.* 可以将*.*替换为你实际需要的日志信息。比如:kern.* / mail.* 等等。修改为实际的日志服务器。*.*和之间为一个Tab。3、重启syslog服务#/etc/init.d/syslog stop#/etc/init.d/syslog start补充操作说明:/etc/syslog.conf中存在类似 IP或者udp IP 6.3 检查脚本 rootsdw7 #!/bin/bash rootsdw7 # function Check_SYSLOGD if -f /etc/syslog.conf ; then SYSLOGCONF=/etc/syslog.conf; else SYSLOGCONF=/etc/rsyslog.conf; fi cat $SYSLOGCONF |sed '/#/d'|sed '/$/d'|awk '($2!/*/) & ($2!/-/) print $1t$2' rootsdw7 # function Check_SYSLOGNG SYSLOGCONF=/etc/syslog-ng/syslog-ng.conf for FILTER in cat $SYSLOGCONF |grep log|grep filter|cut -d; -f2|cut -d( -f2|cut -d) -f1|sort|uniq;do cat $SYSLOGCONF|grep filter $FILTER done for DESTINATION in cat $SYSLOGCONF |grep log|awk -F; 'print $1n$2n$3'|grep destination|cut -d( -f2|cut -d) -f1|sort|uniq;do cat $SYSLOGCONF|grep destination $DESTINATION done cat $SYSLOGCONF |grep log rootsdw7 # if ps -ef|egrep '(syslogd|syslog-ng)'|grep -v grep|wc -l|awk 'print $1' != 0 ; then if ps -ef|grep -i 'syslog-ng'|grep -v grep|wc -l|awk 'print $1' != 0 ; then Check_SYSLOGNG; else Check_SYSLOGD; fi; else echo syslog is not running; fi $ModLoad imuxsock $ModLoad imklog $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure cron.* /var/log/cron uucp,news.crit /var/log/spooler local7.* /var/log/boot.log :programname, startswith, 7 #检查用户缺省UMASK7.1 判断条件:umask值大于等于027则符合安全要求,否则低于安全要求。 cp -p /etc/profile /etc/profile_bak cp -p /etc/csh.login /etc/csh.login_bak cp -p /etc/csh.cshrc /etc/csh.cshrc_bak cp -p /etc/bashrc /etc/bashrc_bak cp -p /root/.bashrc /root/.bashrc_bak cp -p /root/.cshrc /root/.cshrc_bak #vi /etc/profile #vi /etc/csh.login #vi /etc/csh.cshrc #vi /etc/bashrc #vi /root/.bashrc #vi /root/.cshrc 7.2 参考配置操作:加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。1、执行备份:#cp -p /etc/profile /etc/profile_bak#cp -p /etc/csh.login /etc/csh.login_bak#cp -p /etc/csh.cshrc /etc/csh.cshrc_bak#cp -p /etc/bashrc /etc/bashrc_bak#cp -p /root/.bashrc /root/.bashrc_bak#cp -p /root/.cshrc /root/.cshrc_bak2、修改umask设置:#vi /etc/profile#vi /etc/csh.login#vi /etc/csh.cshrc#vi /etc/bashrc#vi /root/.bashrc#vi /root/.cshrc将umask值修改为027,保存退出。补充操作说明:umask设置不当可能导致某些应用无法正确自动创建目录或文件,从而运行异常。/etc/profile文件中umask值大于等于027 7.3 检查脚本: rootsdw1 #cat /etc/profile|sed '/#/d'|sed '/$/d'|grep -i umask umask 002 umask 022 umask 027 rootsdw1 # 8 #检查登录提示是否设置ssh警告Banner8.1 判断条件:对应的/etc/sshbanner文件中配置警告标示基准值:通用基准值 touch /etc/sshbanner chown bin:bin /etc/sshbanner chmod 644 /etc/sshbanner echo Authorized users only. All activity may be monitored and reported /etc/sshbanner #vi /etc/ssh/sshd_config 增加行 Banner /etc/sshbanner #service sshd restart 8.2 参考配置操作:加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。步骤 1执行如下命令创建ssh banner信息文件:#touch /etc/sshbanner#chown bin:bin /etc/sshbanner#chmod 644 /etc/sshbanner# echo Authorized users only. All activity may be monitored and reported /etc/sshbanner可根据实际需要修改该文件的内容。步骤 2修改/etc/ssh/sshd_config文件,添加如下行:Banner /etc/sshbanner步骤 3重启sshd服务:#rcsshd restart补充操作说明:/etc/ssh/sshd_config包含banner配置,或者/etc/motd和/etc/issue中存在telnet banner 8.3 检查脚本 rootsdw7 #bash rootsdw7 # #!/bin/bash rootsdw7 # if -s /etc/motd ; then echo /etc/motd is not null./etc/motd check result:true; else echo /etc/motd is null./etc/motd check result:false; fi /etc/motd is null./etc/motd check result:false rootsdw7 # if id -u != 0 & -f /usr/bin/sudo ;then if netstat -antp|grep -i listen|grep :22|wc -l != 0 ; then SSHBANNER=sudo grep -v # /etc/ssh/sshd_config|grep -i banner|awk 'print $2' if -n $SSHBANNER & -s $SSHBANNER ; then echo sshd is running.sshd banner is not null.sshd banner check result:true; else echo sshd is running.sshd banner is null.sshd banner check result:false; fi; else echo sshd is not running.sshd banner check result:true; fi else if netstat -antp|grep -i listen|grep :22|wc -l != 0 ; then SSHBANNER=grep -v # /etc/ssh/sshd_config|grep -i banner|awk 'print $2' if -n $SSHBANNER & -s $SSHBANNER ; then echo sshd is running.sshd banner is not null.sshd banner check result:true; else echo sshd is running.sshd banner is null.sshd banner check result:false; fi; else echo sshd is not running.sshd banner check result:true; fi fi sshd is running.sshd banner is null.sshd banner check result:false rootsdw7 # if netstat -antp|grep -i listen|grep :23|wc -l != 0 ; then if -s /etc/issue | -s /etc/ ; then echo telnet is running.telnet banner is not null.telnet banner check result:true; else echo telnet is running.telnet banner is null.telnet banner check result:false; fi; else echo telnet is not running.telnet banner check result:true; fi telnet is not running.telnet banner check result:true rootsdw7 # 9 #检查口令重复次数限制9.1 判断条件:存在remember大于等于5,则符合安全要求,否则低于安全要求。基准值:通用基准值 1、执行备份: #cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak 2、创建文件/etc/security/opasswd touch /etc/security/opasswd chown root:root /etc/security/opasswd chmod 600 /etc/security/opasswd 2、修改策略设置: #vi /etc/pam.d/system-auth 在password required pam_unix.so所在行增加remember=5,保存退出; passwordrequiredpam_unix.so remember=5 1、执行备份: #cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak 2、创建文件/etc/security/opasswd,并设置权限: # 前面已创建不用重复 touch /etc/security/opasswd chown root:root /etc/security/opasswd chmod 600 /etc/security/opasswd 2、修改策略设置: 修改/etc/pam.d/system-auth,增加pam_unix.so的参数(如果有就不用加),类似如下: password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5 或: password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow remember=5 9.2 参考配置操作:加固方案来源于配置规范,仅供参考,实际加固方法由系统集成商、设备原厂和管理员共同确定。 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务合同登记管理办法
- 上街宣传物料管理办法
- 管道业仓储管理办法
- 质量检测员管理办法
- 西藏基金机构管理办法
- 中学财务后勤管理办法
- 蒸汽用户稽查管理办法
- 上海此次疫情管理办法
- 设立子公司管理办法
- 东北葡萄过冬管理办法
- 2025-2026学年苏科版(2024)初中物理九年级上册教学计划及进度表
- 咸味香精基础知识培训课件
- 2025年9月新版劳务用工合同范本(可规避风险)
- 《焊接结构生产》课件-第一单元 焊接结构生产基础知识
- 中国钾离子电池行业市场前景预测及投资价值评估分析报告
- 烟草局联合快递企业开展涉烟寄递违法行为培训
- 高一历史秋季开学第一课:走进高中历史的星辰大海
- 医药公司经营风险管理
- 2025年全国“质量月”质量知识竞赛题库及答案
- 2025年人工智能训练师(三级)职业技能鉴定理论考试题库(含答案)
- 土方开挖培训课件
评论
0/150
提交评论