红联Linux门户
Linux帮助

小措施提高Linux服务器安全

发布时间:2016-01-07 15:20:33来源:linux网站作者:为了这有限的生命

禁止root远程登录

作为默认系统管理账号root是最容易攻击的目标。禁止通过ssh远程登录是绝对必须的。

方法:

编辑 /etc/ssh/sshd_config

PermitRootLogin no

同时,请为管理员建立个人账户,并分配到sudoers用户组(默认为%admin)

$ sudo adduser example_user
$ sudo usermod –a -G admin example_user


修改SSHD默认端口

远程服务SSHD的默认端口22也是端口扫描的重点目标,修改为其他端口(通常为1024以上)可避免大部分攻击。 方法: 编辑 /etc/ssh/sshd_config

Port 8822 #default 22

vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –-dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –-dport 3306 -j ACCEPT(允许3306端口通过防火墙)


使用SCP代替FTP

FTP虽然方便,但是安全性一直被诟病。

后台文件管理时,用加密的SCP方式可以更好的解决这个问题。

SCP利用了SSHD的服务,所以不需要在服务器另外配置,直接调整账号权限即可。

Windows下可以使用软件winscp连接服务器。

官方网站: http://winscp.net


安装denyhosts

Denyhost可以帮你自动分析安全日志,直接禁止可疑主机暴力破解。

Debian用户可以直接使用apt安装

$ sudo apt-get install denyhosts

官方网站: http://denyhosts.sourceforge.net/

谨慎控制目录和文件权限,灵活使用用户组

例如,如果监控程序munin需要访问网站日志,请不要修改日志文件的权限设置,而是将munin加入www-data用户组

$ sudo usermod -a -G www-data munin


为系统程序使用专用账号

尽量为每个系统程序使用专用账号,避免使用root

如mysql, munin 等,灵活使用 sudo -u example_user 等命令切换执行用户和用户组


从官方网站下载putty

Putty是非常流行的windows平台远程工具,但不要贪图方便随意下载。

如此重要且免费的软件,请从官方网站下载,并且最好进行完整性校验。

官方网站:http://www.chiark.greenend.org.uk/~sgtatham/putty/


防止IP欺骗

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

order bind,hosts
multi off
nospoof on


注释掉操作系统不需要使用的用户和用户组

Centos 6.4操作系统安装好之后,我们需要针对一些不需要使用的用户和用户组来进行设置,减少可能发生的安全问题。

/etc/passwd原始内容如下:

[root@localhost ~]# vi /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
pulse:x:498:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:497:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ldap:x:55:55:LDAP User:/var/lib/ldap:/sbin/nologin

注释掉以下用户
#userdel adm:x:3:4:adm:/var/adm:/sbin/nologin
#userdel lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#userdel sync:x:5:0:sync:/sbin:/bin/sync
#userdel shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
#userdel halt:x:7:0:halt:/sbin:/sbin/halt
#userdel uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
#userdel operator:x:11:0:operator:/root:/sbin/nologin
#userdel games:x:12:100:games:/usr/games:/sbin/nologin
#userdel gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#userdel ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

/etc/group原始内容如下:

[root@localhost ~]# vi /etc/group

root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:mail,postfix
uucp:x:14:
man:x:15:
games:x:20:
gopher:x:30:
video:x:39:
dip:x:40:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
dbus:x:81:
usbmuxd:x:113:
utmp:x:22:
utempter:x:35:
desktop_admin_r:x:499:
desktop_user_r:x:498:
floppy:x:19:
vcsa:x:69:
rpc:x:32:
rtkit:x:497:
avahi-autoipd:x:170:
cdrom:x:11:
tape:x:33:
dialout:x:18:
wbpriv:x:88:
pulse:x:496:
pulse-access:x:495:
fuse:x:494:
haldaemon:x:68:haldaemon
ntp:x:38:
apache:x:48:
saslauth:x:76:
postdrop:x:90:
postfix:x:89:
abrt:x:173:
rpcuser:x:29:
nfsnobody:x:65534:
gdm:x:42:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
ldap:x:55:

注释掉以下用户组

#groupdel adm:x:4:adm,daemon
#groupdel lp:x:7:daemon
#groupdel uucp:x:14:
#groupdel games:x:20:
#groupdel dip:x:40:


服务器禁止ping

vi /etc/rc.d/rc.local #在文件末尾增加下面这一行
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all  
参数0表示允许 1表示禁止


Linux服务器安全技巧:http://www.linuxdiyf.com/linux/12808.html

服务器安全狗linux版 1.0.0常见问题与解答:http://www.linuxdiyf.com/linux/12767.html

Auditd-Linux服务器安全审计工具:http://www.linuxdiyf.com/linux/10159.html