Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3476093
  • 博文数量: 1450
  • 博客积分: 11163
  • 博客等级: 上将
  • 技术积分: 11101
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-25 14:40
文章分类

全部博文(1450)

文章存档

2017年(5)

2014年(2)

2013年(3)

2012年(35)

2011年(39)

2010年(88)

2009年(395)

2008年(382)

2007年(241)

2006年(246)

2005年(14)

分类: LINUX

2007-03-26 12:54:29

第一部分:

1.
操作系统内部的log file是检测是否有网络入侵的重要线索,当然这个假定你的logfile不被侵入者 所破坏,如果你有台服务器用专线直接连到Internet上,这意味着你的IP地址是永久固定的地址,你会发现 有很多人对你的系统做telnet/ftp登录尝试,试着运行#more /var/log/secure | grep refused 去检查。

2linux SSH 的一些安全小技巧

 
  1) 禁止 root 登录
  
  # vi /etc/ssh/sshd_config
  PermitRootLogin no

3The /etc/securetty file
该文件指定了允许root登录的tty设备,/etc/securetty/bin/login程序读取,它的
格式是一行一个被允许的名字列表,如你可以编辑/etc/securetty且注释出下面的行。
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
-
意味着root仅仅被允许在tty1终端登录。

4阻止你的系统响应任何从外部/内部来的ping请求。
既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。
你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。

echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all

5、特别的帐号
禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该
做此检查,Linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,
你有的帐号越多,就越容易受到攻击。
为删除你系统上的用户,用下面的命令:
[root@deep]# userdel username
为删除你系统上的组用户帐号,用下面的命令:
[root@deep]# groupdel username
在终端上打入下面的命令删掉下面的用户。
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel mail
如果你不用sendmail服务器,procmail.mailx,就删除这个帐号。
userdel news
userdel uucp
userdel operator
userdel games
如果你不用X windows 服务器,就删掉这个帐号。
userdel gopher
userdel ftp
如果你不允许匿名FTP,就删掉这个用户帐号。
===
打入下面的命令删除组帐号
groupdel adm
groupdel lp
groupdel mail
如不用Sendmail服务器,删除这个组帐号
groupdel news
groupdel uucp
groupdel games
如你不用X Windows,删除这个组帐号
groupdel dip
groupdel pppusers
groupdel popusers
如果你不用POP服务器,删除这个组帐号
groupdel slipusers
====
用下面的命令加需要的用户帐号
[root@deep]# useradd username
用下面的命令改变用户口令
[root@deep]# passwd username

chattr命令给下面的文件加上不可更改属性。
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow

6、阻止任何人su作为root.
如果你不想任何人能够su作为root,你能编辑/etc/pam.d/su加下面的行:
auth       required     /lib/security/$ISA/pam_wheel.so use_uid

把前的#去掉
意味着仅仅wheel组的用户可以su作为root.
然后,如果你希望用户adminsu作为root.就运行下面的命令。

[root@deep]# usermod –g wheel admin

 

7自动注销帐号的登录,在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,那将会带来很大的安全隐患,应该让系统会自动注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在"HISTFILESIZE="后面加入下面这行:
  TMOUT=300

8、取消普通用户的控制台访问权限,你应该取消普通用户的控制台访问权限。比如shutdownreboothalt等命令。

>;
  # rm -f /etc/security/console.apps/

是你要注销的程序名。

9禁止Ctrl+Alt+delete重新启动机器命令

修改/etc/inittab文件,将"ca::ctrlaltdel:/sbin/shutdown -t3 -r now"一行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:

  # chmod -R 700 /etc/rc.d/init.d/*

这样便仅有root可以读、写或执行上述所有脚本文件。

10删减登录信息

默认情况下,登录提示信息包括Linux发行版、内核版本名和服务器主机名等。

对于一台安全性要求较高的机器来说这样泄漏了过多的信息。

可以编辑/etc/rc.d/rc.local将输出系统信息的如下行注释掉。

  # This will overwrite /etc/issue at every boot. So make any changes you

  # want to make to /etc/issue here or you will lose them when you reboot

  # echo "" > /etc/issue

  # echo "$R" >> /etc/issue

  # echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue

  # cp -f /etc/issue /etc/issue.net

        # echo >> /etc/issue

然后,进行如下操作:

  # rm -f /etc/issue

  # rm -f /etc/issue.net

  # touch /etc/issue

        # touch /etc/issue.net

11防止攻击

1.阻止ping

如果没人能ping通你的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加如下一行:

  echo 1 >/proc/sys/net/ipv4/

        icmp_echo_ignore_all

2.防止IP欺骗

编辑host.conf文件并增加如下几行来防止IP欺骗攻击。

  order bindhosts

  multi off

        nospoof on

3.防止DoS攻击

对系统所有的用户设置资源限制可以防止DoS类型攻击。如最大进程数和内存使用数量等。

例如,可以在/etc/security/limits.conf中添加如下几行:

  * hard core 0

  * hard rss 5000

        * hard nproc 20

然后必须编辑/etc/pam.d/login文件检查下面一行是否存在

12、自动更新您的系统

Fedora Core 中的 yum 包含了一个脚本,用以每日自动地更新整个系统。要激活每日的自动更新,输入命令:

su -c '/sbin/chkconfig --level 345 yum on; /sbin/service yum start'

在提示时,输入 root 帐号的密码。


每日更新是如何做到的

系统中并没有单独的 yum 服务。这个命令启用了控制脚本 /etc/rc.d/init.d/yum。这个控制脚本激活了 /etc/cron.daily/yum.cron,而它又会使 cron 服务来在每日凌晨四点时进行自动的系统更新。

 

13Linux系统防火墙防止DOSCC攻击

抵御SYN SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。 Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn 看到: net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_syn_retries = 5

tcp_max_syn_backlogSYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie 功能,该功能可以防止部分SYN攻击。tcp_synack_retriestcp_syn_retries定义SYN 的重试次数。

加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分 SYN攻击,降低重试次数也有一定效果。

调整上述设置的方法是:增加SYN队列长度到2048 sysctl -w net.ipv4.tcp_max_syn_backlog=2048 打开SYN COOKIE功能: sysctl -w net.ipv4.tcp_syncookies=1 降低重试次数: sysctl -w net.ipv4.tcp_synack_retries=3 sysctl -w net.ipv4.tcp_syn_retries=3

为了系统重启动时保持上述配置,可将命令加入到/etc/rc.d/rc.local文件中。

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3
阅读(593) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~