/etc/profile运行umask 077
chmod 550 gcc,gdb,
vi /etc/ssh/sshd_config
最后一行加入AllowUser root sysadmin
主机直接暴露在Internet或者位于其它危险的环境,有很多shell帐户或者提供HTTP和FTP等网络服务,一般应该在安装配置完成后使用 如下命令:
chattr -R +i /bin /boot /etc /lib /sbin
chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
chattr +a /var/log/messages /var/log/secure (...)
不让/有suid权利
1步mount -o remount,nosuid /
2步mount
3步 mount -o remount /
禁止所有ping的外出和进入的封包echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
通过分析Web服务器的类型,大致可以推测出操作系统的类型,比如,Windows使用IIS来提供HTTP服务,而Linux中最常见的是Apache。
默认的Apache配置里没有任何信息保护机制,并且允许目录浏览。通过目录浏览,通常可以获得类似 “Apache/1.3.27 Server at apache.linuxforum.net Port 80”或“Apache/2.0.49 (Unix) PHP/4.3.8”的信息。
通过修改配置文件中的ServerTokens参数,可以将Apache的相关信息隐藏起来。但是,Red Hat Linux运行的Apache是编译好的程序,提示信息被编译在程序里,要隐藏这些信息需要修改Apache的源代码,然后,重新编译安装程序,以实现替换里面的提示内容。
以Apache 2.0.50为例,编辑ap_release.h文件,修改“#define AP_SERVER_BASEPRODUCT / "Apache/"”为“#define AP_SERVER_BASEPRODUCT /"Microsoft-IIS/5.0/"”。编辑 os/unix/os.h文件,修改“#define PLATFORM /"Unix/"”为“#define PLATFORM /"Win32/ "”。修改完毕后,重新编译、安装Apache。
Apache安装完成后,修改httpd.conf配置文件,将“ServerTokens Full”改为 “ServerTokens Prod”;将“ServerSignature On”改为“ServerSignature Off”,然后存盘退出。重新启动Apache后,用工具进行扫描,发现提示信息中已经显示操作系统为Windows。
DNS服务器安全配置useradd -s /bin/false -d /dev/null named
mkdir /var/run/named
chown named.named /var/run/named
chmod 700 /var/run/named
named -u named
echo "/usr/local/sbin/named -u named" >> /etc/rc.local
md5sum检验
md5sum文件的内容
/bin/bash
/bin/sh
/bin/pwd
/bin/uname
然后执行md5sum `cat md5sum` >list.md5
然后执行md5sum -c list.md5就能看出是否有改动的文件了
ssh的IP登陆访问限制
首先编辑/etc/pam.d/sshd
#%PAM-1.0
auth include system-auth
account required pam_nologin.so
account include system-auth
account required pam_access.so
password include system-auth
session optional pam_keyinit.so force revoke
session include system-auth
session required pam_loginuid.so
注意上面添加的account required pam_access.so
然后到/etc/security/access.conf里面编辑
-: cnbird : ALL EXCEPT 192.168.0.
只能让cnbird从192.168.0.这个网段访问
log日志的变态设置方法
首先介绍的是syslog的替代品,rsyslogd可以记录进mysql数据库
下载地址:http://www.rsyslog.com/
Syslog-ng
http://www.balabit.com/network-security/syslog-ng/
注意:绝对不要以root来运行日志检查程序。相反,应当先构造一个logs组,并将所有的日志文件chgrp为该组并赋予其读权限,然后以该组中的某个用户来执行日志检查程序.
日志分析软件:
logsentry:http://sourceforge.net/projects/sentrytools/
swatch:http://packetstormsecurity.org/UNIX/IDS/swatch-3.0b4.tar.gz
logsurfer:http://www.crypt.gen.nz/logsurfer/
http://tech.ddvip.com/2007-03/117338249620416.html 用LogSurfer+在Linux上监督登录文件
愚蠢的黑客cat /dev/null > /var/log/messages
防止这样的垃圾黑客chattr +a /var/log/messages]
最最变态的log日志服务器可以使用passlogd这个工具来进行伪造,passlogd把网卡设置成混杂模式,来监听和记录所有的syslog包.如果是交换环境中把交换机配置为向这一主机对应的端口转发所有包就可以了.
加密syslog传输过程
使用stunnel来进行双向加密
stunnel下载地址www.stunnel.org