原文地址:http://cnbihu.diandian.com/post/2012-08-01/40031243482
一、linux下挂载iso光盘镜像
1、#mkdir /mnt/vcdrom ————建立一个目录用来作挂接点
2、#mount –o loop –t iso9660 /root/XX.iso /mnt/vcdrom ————将root目
录下的XX.ISO挂载到/mnt/vcdrom下。
二、rpm安装vsftpd和apache
1、在/mnt/vcdrom/Sever目录下能找到vsftpd和apache的安装包。
2、rpm -ivh xxxx.rpm ————安装命令(注:安装apache时要建立名为apache
的组)
3、启动服务:#service vsftpd start
#service httpd start
4、apache配置文件下需要添加以下两句:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
三、设置vsftpd
1、设置vsftpd服务只在运行级别3、5为on
#chkconfig --level 35 vsftpd on
2、允许匿名用户登录
#vi /etc/vsftpd/vsftpd.conf
查看此行是否为yes:anonymous_enable=YES
3、允许匿名用户创建文件对于其他用户是可读,可运行的
#vi /etc/vsftpd/vsftpd.conf
加入:anon_umask=032
file_open_mode=0777
运算方法:用file_open_mode的值去减不需要的权限:如:0777 – 032 就是7减去2,2就是写的权限,所以other得到的权限为r-x权限
4、允许匿名用户创建目录
是否允许匿名用户创建新文件夹
anon_mkdir_write_enable=YES
5、允许匿名用户上传文件
是否允许匿名用户上传文件,须将全局的write_enable=YES。默认为YES
anon_upload_enable=YES
6、允许匿名用户重命名文件夹
加入:anon_other_write_enable=yes
四、对linux系统进行加固
1、查看GRUB(系统引导管理器)是否设置了密码,为其设置密码
#vi /etc/grub.conf
在splashimage=(hd0,0)/grub/splash.xpm.gz后面一行加入:password=123456
在title Red Hat Enterprise Linux Server (2.6.18-8.el5)后面一行加入:lock
2、检查root的PATH变量中是否包含当前目录“.”如果有,使之不包含。
#vi /etc/profile 去除“:.”部分。
防止root执行恶意木马,减少安全隐患。
3、减少系统无用账号,发现非系统内账号,禁用。
#passwd -l 用户名 ————锁定账号
#passwd -u 用户名 ————解锁账号
存在的系统默认账号:lp、sync、shutdown、halt、news、uucp、operator、games、
gopher
4、加固根账户和口令
4.1 配置策略,锁定多次尝试登录失败的用户:
Redhat 4.0版本:
#vi /etc/pam.d/system-auth
在system-auth文件的auth部分增加如下一行:
auth required /lib/security/pam_tally.so onerr=fail no_magic_root
在system-auth文件的account部分增加如下一行:
account required /lib/security/pam_tally.so deny=3 no_magic_root reset
尝试密码出现错误3次后,锁定账户。
Redhat 5.0版本:
将配置文件system-auth,修改后内容如下所示:
#vi /etc/pam.d/system-auth
auth required pam_env.so
auth required pam_unix.so nullok try_first_pass (将原来的sufficient 改为required)
#auth requisite pam_succeed_if.so uid >= 500 quiet (注释掉此行)
#auth required pam_deny.so (注释掉此行)
auth required pam_tally2.so deny=5 onerr=fail (增加的一行)
account required pam_unix.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
account required pam_tally2.so (增加的一行)
4.2编辑/etc/login.defs
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
参数值解释: PASS_MAX_DAYS(设置密码过期日期)
PASS_MIN_DAYS(设置密码最少更改日期)
PASS_MIN_LEN(设置密码最小长度)时指密码设置的最小长度,一般
定义为8位以上
PASS_WARN_AGE(设置过期提前警告天数)
4.3 设置口令的复杂程度
#vi /etc/pam.d/system-auth
5、查看空口令和root权限的账号
#awk -F: ‘($2==””)’ /etc/shadow ————查看空口令
#awk -F: ‘($3==0)’ /etc/passwd ————查看root权限
6、限制能su到root的用户
#vi /etc/pam.d/su
添加:auth required pam_wheel.so group=test
#usermod -G test scjkdcn ————将scjkdcn用户加入test组
查看组成员
#cat /etc/group | grep test
7、设置系统登录后,连接超时时间为5分钟
#vi /etc/profile
在最后加入:TMOUT=300
8、防止误使用ctrl+alt+del重启系统
#vi /etc/inittab
找到:ca::ctrlaltdel:/sbin/shutdown -t3 -r now,将其注释掉。
9、禁止root用户通过SSH远程登录
#vi /etc/ssh/sshd_config
找到#PermitRootLogin yes,将注释取消,将no改为yes,保存
重启SSH服务:service sshd restart
Root用户无法直接登录,需要用普通账户登录后su
10、apache设置远端客户端超时时间为180s
#vi /etc/httpd/conf/httpd.conf
Timeout 180 找到Timeout修改时间